Re:An Introduction to Modern CMake
by ridiculous_fish on Saturday March 14, 2020 @05:02PM
(#22578667)
Writing Makefiles by hand is great for small projects. But make becomes unmanageable for large projects, and is bad at dealing with system and compiler differences.
It is not "great" for small projects, because:
1. Small projects also have dependencies
2. Small projects need to be build on multiple platforms too
3. It is more verbose, and at the same time more obscure, than writing a CMakeLists.txt (typically).
CMake is not a replacement for Make; it generates Makefiles for you (or ninja files, or whatever-Microsoft-uses files). In that sense it's like a more modern and less crufty GNU autotools which can have different kinds of output build systems.
https://www.gnu.org/software/make/manual/make.html