Ninja
A small, fast build system designed to run build files generated by tools such as CMake.
These buttons open the developer's own site, repository or store listing in a new tab. wares.gg does not host downloads.
2 more ways to get Ninja
Package managers
- Chocolatey
choco install ninja - Homebrew
brew install ninja
About Ninja
Ninja is a low-level build system focused on running builds as fast as possible. Rather than being written by hand, its build files are normally generated by a higher-level system such as CMake, which has a Ninja backend. The constrained file format lets Ninja evaluate incremental builds quickly.
It is used to build Google Chrome, parts of Android and LLVM. Binaries are available from its releases page or system package managers, and it can be built from source.
Strengths
- Very fast incremental builds
- Works as a CMake backend
- Single small binary
- Used by large projects such as Chrome and LLVM
Limitations
- Build files are not convenient to write by hand
- Needs a higher-level generator for most projects
- Releases are infrequent
Details
- Pricing
- FreeFree and open source.
- License
- Apache-2.0
- Developer
- The Ninja contributors
- Platforms
- Windows, macOS, Linux, Command line
- How it runs
- Downloadable app
- Account
- Not required
- Works offline
- Yes
- Best suited for
- C and C++ developers who want faster builds behind CMake or a similar generator
- Categories
- Developer tools
- Last verified
- Added
- Provenance
- Facts checked against the developer's own pages and store listings, 1 sources on file.
Ninja as an alternative
Listings that name Ninja as an alternative.
Meson
An open-source build system for C, C++, Rust and other languages focused on speed and readability.
Ninja is a small fast build runner meant to execute generated build files, so most projects still need a higher-level generator.
Similar software
Related functionality, not necessarily a direct replacement.
CMake
The de facto standard build system generator for C and C++, producing native build files for whatever toolchain is on the machine.
Bazel
An open-source build and test system for multi-language projects, with incremental builds and caching.
GCC
The GNU Compiler Collection, compilers for C, C++, Fortran, Ada, Go, Rust and other languages.
LLVM
A collection of modular compiler and toolchain technologies, including the Clang C and C++ compiler.