Meson
This switches from autotools to meson. In the end, the conversion took me about a day of work. Thus it is a prety efficient build system if I compare it with autotools (I invested days and months to get where we are right now).
The advantage of meson:
- pretty much everything is way easier
- configuration is defined in the same file and thus in the same location as compilation which makes it much more direct
- adds the ability to easily pull in other projects to be built instead of need to install all dependencies to system
- pkg-config files are generated and thus kind of no longer our thing to deal with (such as that it tracks dependencies from single location)
- Meson's documentation is simply awesome compared to a mess of autotools
Disadvantages:
- Valgrind support is not exactly nice so I had to implement our own way to run in valgrind
- Flawfinder is run on all files instead of just sources because I was unable to reasonably get all source files in project (cppcheck on the other hand works even better thanks to direct integration)
- The build has to be always in subdirectoru (out of tree) but that is probably just rather habit than an issue
- It is something new and whole team would have to learn it and all C projects would have to be ported to it
Edited by Miroslav Hanak