When comparing CMake vs Ninja, the Slant community recommends Ninja for most people. In the question“What are the best open-source build systems for C/C++?” Ninja is ranked 1st while CMake is ranked 2nd. The most important reason people chose Ninja is:
Once dependencies like maven are installed it is up and running in minutes with one simple command.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Compatible with different IDE's
This way everyone can use their favorite IDE in order to develop CMake, Code Blocks, qtcreator, Visual Studio, (and more).
Pro Built-in, cross-platform dependency finding
Pro Out-of-the-box GUI available
CMake comes with the fantastic ncurses GUI ccmake
out of the box. Large codebases including WeeChat use it, to the point that the developer never needs to touch CMake code, but it is highly readable if he wishes to examine it.
Pro Simple set up
Once dependencies like maven are installed it is up and running in minutes with one simple command.
Pro Easy horizontal scaling
Ninja is stateless by design. This makes horizontal scaling very easy and just a matter of adding servers.
Cons
Con Uses own language
Con Little user choice in organization
Since most of the code and folder structure are automatically generated, this leaves little room to the developer on how they will organize their project.