NOLINT comment also works for clang-tidy and doesn't trigger a
warning in other compilers. Hopefully in the future compilers
adopt the attribute or make it easier to suppress, but for now
the comment is a better experience.
* Allow ctest to run from build dir
* Remove extra libs linked to ctest
* Prevent test from running twice
Manually adding tests isn't useful as we have catch_discover_tests which
does the same thing on a granular basis for catch2
Nearly all the library linkages were wrong. The rule is to link the library to the target where it is used. PRIVATE if it is in cpp code only, INTERFACE if it is in header code only, and PUBLIC if it is in both. Fixing this was required to get the test to link properly.
strings.h was invalid as a header. It could have been fixed by marking all the definitions inline, but I chose to put them in a new file instead.
Use version 20 which is the current latest.
Fix bug clang-tidy found if reading the save file fails.
Format code per clang-format-20
I surpressed all new warnings in clang-tidy but we will probably want to
enable and fix some of them.
run-clang-tidy is used instead of calling clang-tidy directly in order
to automatically pull all source files.
Applied IWYU recommendations (mostly).
I deviated on libraries, it always wanted me to include the inner headers
for SDL, ffmpeg, etc. but the definitions were normally expected to be
exported by a top level header. wxWidgets was particularly problematic
since it wanted me to use the gtk specific includes instead of the
generic ones.
I do not intend to add include-what-you-use to the CI/CD pipelines at
this time but some pragmas were added to the code to make it report
somewhat cleaner.
* Remove remainder of VLD
Some components were left behind when I removed the cmake option for
vld.
* Remove USE_PRECOMPILED_DEPS option
Hasn't been maintained in 8 years. The use case has been replaced by
vcpkg.