Ninja is a build system focused on speed and designed to be used with input files generated by a higher-level build system. It is designed to run builds as fast as possible and uses constrained build files to quickly evaluate incremental builds. While its low-level approach makes it ideal for being embedded into more advanced build systems, its build files are not very convenient to write by hand. Ninja is used by large projects like Google Chrome, parts of Android, and LLVM due to CMake's Ninja backend. The latest release of Ninja is v1.11.1, and it can be downloaded as a binary or found in the system's package manager. To enable features like Bash completion and Emacs and Vim editing modes, some files in misc/ must be copied to appropriate locations. Ninja can be built using Python or CMake, and the unit tests can be run easily. Ninja's manual, mailing list, and GitHub repo provide more information and resources.

don't have tea/gui yet? download here

Copy the tea one-liner above into your terminal to install tea will interpret the documentation and take care of any dependencies.