25 ms·
Makefiles don't scale all that well as portability and platform-specific gotchas lead to software configuration management headaches. Cmake is a step in the di
by mynameisnoone 2y ago
Makefiles don't scale all that well as portability and platform-specific gotchas lead to software configuration management headaches.
Cmake is a step in the direction of creating a maintainable and simple portability layer. It can create Makefiles or use other build systems like Ninja (I prefer the compatible and faster samurai tool).
There is a tool called "just", but it doesn't know anything about caching dependency management, which is a step backwards and wastes resources unnecessarily. That is a case of erroneously eliminating essential features in the pursuit of solving other problems.
Tools like meson, conan, and bazel are sometimes overkill and tend to lack essential features (like creating static libraries).
KISS. Create simple, straightforward, and documented ways to build, install, uninstall, clean, and run tests.