Closed Matthieu-Sauer closed 9 months ago
I also realised that you only allow testing if in debug, but I think being able to build tests in release would also be really good. You might also need a way to enable LTOs if possible when in release.
We are done with the current version on this project and are currently working on a complete rewrite, closing this.
This PR should enable meson compilation support. Meson has by default more warnings enabled, it might be useful to track them. Improvements over cmake: Submodules! meson uses submodules to delegate pulling from a repo to other scripts. this enables better maintenability of the submodules Dependency detection! Meson can choose if we want to use local submodules or not. this enables the user to install dependencies on his machine instead of pulling an entire repository. Better organisation! Submodules have their own folder (it's mandatory), same goes for the build. the build is automatically added to a .gitignore if the meson is executed inside a repo git (no risk of pushing it by accident).
Things meson looses over cmake: Wildcards! meson do not support them Script-like behaviour! Meson is not turing complete, meaning it cannot be considered a scripting language (like cmake). you cannot define custom functions.
There is still the need to modify the readme (to add meson compilation in it), and add the test files to the compilation process.