Ninja is a small build system with a focus on speed (evacuated from NSA/Microsoft Github)
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
@jeffcliff@shitposter.club 4a9847d739 new project goal 4 months ago
.github/workflows degithubbing 7 months ago
doc degithubbing 7 months ago
misc degithubbing 7 months ago
src New upstream version 1.11.1 2 years ago
windows New upstream version 1.11.0 2 years ago
.clang-format New upstream version 1.10.1 4 years ago
.clang-tidy New upstream version 1.11.0 2 years ago
.editorconfig New upstream version 1.10.0 4 years ago
.gitignore New upstream version 1.11.0 2 years ago
CMakeLists.txt New upstream version 1.11.0 2 years ago
CONTRIBUTING.md degithubbing 7 months ago
COPYING Imported Upstream version 1.3.4 8 years ago
README.md new project goal 4 months ago
RELEASING degithubbing 7 months ago
appveyor.yml New upstream version 1.10.0 4 years ago
configure.py New upstream version 1.11.0 2 years ago

README.md

Ninja

Ninja is a small build system with a focus on speed. used to be at https://ninja-build.org/ but they use NSA/Microsoft Github for development so. . .we're on our own

This gives us an advantage.

According to https://bootstrapping.miraheze.org/wiki/Build_Systems there's some discussion of a loop of a dependency being created we explicitly are open to continue to build with ONLY python(3). This might differentiate us from other ninja forks.

See the manual or doc/manual.asciidoc included in the distribution for background and more details.

We'll have a source release for Linux, for binaries you gotta build your own. NSA/Apple Mac/ NSA/Microsoft Windows Not Supported.

releases

Run ./ninja -h for Ninja help.

Installation is not necessary because the only required file is the resulting ninja binary. However, to enable features like Bash completion and Emacs and Vim editing modes, some files in misc/ must be copied to appropriate locations.

If you're interested in making changes to Ninja, send us your pull requests.

Building Ninja itself

You can either build Ninja via the custom generator script written in Python or via CMake. We could use someone mirroring the old wiki if anyone has a copy.

Python

./configure.py --bootstrap

This will generate the ninja binary and a build.ninja file you can now use to build Ninja with itself.

CMake

cmake -Bbuild-cmake
cmake --build build-cmake

The ninja binary will now be inside the build-cmake directory (you can choose any other name you like).

To run the unit tests:

./build-cmake/ninja_test