When comparing Ninja vs Waf, 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 Waf is ranked 10th. 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 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.
Pro Written in Python
You don't have to learn a domain specific syntax. If you know Python, it's a breeze.
Pro File changes are tracked based on a hash of their changes not the time stamp
This means that switching branches in git isn't a big deal.
Pro Very fast
Much faster than its predecessor SCons.
Pro Fairly easy to extend
Pro Very simple graph based API
Cons
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.
Con Obfuscated documentation
Con Non-standard Python
