Ninja build system
E299179
Ninja build system is a fast, low-level build tool designed for speed and efficiency, commonly used as a backend by higher-level build systems like CMake for large software projects.
All labels observed (1)
| Label | Occurrences |
|---|---|
| Ninja build system canonical | 2 |
Statements (48)
| Predicate | Object |
|---|---|
| instanceOf |
build system
ⓘ
free and open-source software ⓘ software tool ⓘ |
| advantage | faster than traditional Make in many scenarios ⓘ |
| buildFileGeneration | typically generated by higher-level build systems ⓘ |
| category | build automation tool ⓘ |
| commonlyUsedWith |
CMake
ⓘ
GN build system ⓘ Meson build system ⓘ |
| dependencyModel | explicit dependency graph ⓘ |
| designLevel | low-level build tool ⓘ |
| developer | Evan Martin ⓘ |
| distinctionFromMake |
does not include built-in rules or implicit logic
ⓘ
focuses on executing precomputed build graphs quickly ⓘ |
| distribution | source code available on GitHub ⓘ |
| documentation | available on its official GitHub repository ⓘ |
| executionModel | command-line tool ⓘ |
| feature |
deterministic builds
ⓘ
incremental builds ⓘ low overhead dependency checking ⓘ minimal build file syntax ⓘ parallel builds ⓘ |
| goal | be as small and simple as possible ⓘ |
| inputFileFormat | .ninja files ⓘ |
| invocationCommand | ninja ⓘ |
| license | Apache License 2.0 ⓘ |
| name | Ninja ⓘ |
| platform |
Linux
ⓘ
Unix-like systems ⓘ Windows ⓘ macOS ⓘ |
| primaryGoal |
efficiency
ⓘ
speed ⓘ |
| programmingLanguage | C++ ⓘ |
| role | build file executor rather than generator ⓘ |
| supports |
C and C++ projects
ⓘ
build pools for parallelism control ⓘ build targets ⓘ multi-language builds via generators ⓘ phony targets ⓘ response files ⓘ |
| targetUsers |
build system authors
ⓘ
large-scale software projects ⓘ |
| typicalUsage | used as a backend by higher-level build systems ⓘ |
| useCase | building large software projects ⓘ |
| usedBy |
The Chromium Project
ⓘ
surface form:
Chromium project build system (via GN)
LLVM ⓘ
surface form:
LLVM project (via CMake)
many open-source CMake-based projects ⓘ |
Referenced by (2)
Full triples — surface form annotated when it differs from this entity's canonical label.