When comparing Tup 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 Tup is ranked 5th. 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 Speed
It is very fast.
Pro Tidy
It will automatically clean-up old files.
Pro General
Not bound to C/C++.
Pro Lua
Tup supports writing build definitions using Lua or Tupfiles.
Pro Cross platform
Supports Linux, OSX, and Windows.
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 Variants not working on Windows
The solution for having different build configuration (think Release/Debug) is broken on Windows.
Con Cannot incrementally modify or delete files
Cannot incrementally modify files (e.g. LaTeX PDF, VISing and LIGHTing Quake maps, which takes the same BSP file as input and output), and will not delete files (e.g. rm build/*.o).
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.