supertux
supertux copied to clipboard
CMake Refactor
This is a PR that tries to refactor the CMakeFiles.txt, splitting some things into other files, cleaning up the "Provides" nonsense, and... making the game actually build.
For example: libphysfs requires manually copying the DLL on Windows (as well on Linux), but I've personally had linking issues on OpenSUSE. I've unfortunately just never succeeded in building this game.
It was planned to be a rewrite, and it kind of is, but it's mostly just axing stuff from the current files. It will need plenty of testing.
TODO
- [x] Remove
Supertux2_libandSupertux2_c - [x] Switch to find_package for things that can be a find_package
- [x] Use find_package for
externalstuff when needed - [x] Linux support with PkgConfig/find_package
- [x] Switch from GoogleTest to CMakeTest
- [x] "Cherrypick" #3001
- [x] MacOS (need someone to test this all)
- [x] Windows installer
- [x] Arabic language support
- [x] Delete unused CMake files
- [ ] Rigorous testing
It ~~(will soon)~~ also removes the Supertux_lib split, making the tests instead depend on the specific files being tested, as well as using CMake's built-in testing functionality instead of GoogleTest.