5 kx
5 kx Kitware maintains this branch of Ninja in order to provide features
5 kx that have not yet been integrated upstream:
5 kx
5 kx * make-style jobserver support
5 kx
5 kx This branch may be *rebased* without notice for maintenance on top of
5 kx the upstream `master` branch. It will be removed once upstream has
5 kx integrated the features.
5 kx
5 kx Parts of this branch are under upstream consideration:
5 kx
5 kx * https://github.com/ninja-build/ninja/pull/1140
5 kx
5 kx As each PR is accepted additional parts of this branch will be submitted
5 kx incrementally.
5 kx
5 kx Binaries built from versions of this branch are available here:
5 kx
5 kx * https://github.com/Kitware/ninja/releases
5 kx
5 kx -----------------------------------------------------------------------------
5 kx
5 kx # Ninja
5 kx
5 kx Ninja is a small build system with a focus on speed.
5 kx https://ninja-build.org/
5 kx
5 kx See [the manual](https://ninja-build.org/manual.html) or
5 kx `doc/manual.asciidoc` included in the distribution for background
5 kx and more details.
5 kx
5 kx Binaries for Linux, Mac, and Windows are available at
5 kx [GitHub](https://github.com/ninja-build/ninja/releases).
5 kx Run `./ninja -h` for Ninja help.
5 kx
5 kx Installation is not necessary because the only required file is the
5 kx resulting ninja binary. However, to enable features like Bash
5 kx completion and Emacs and Vim editing modes, some files in misc/ must be
5 kx copied to appropriate locations.
5 kx
5 kx If you're interested in making changes to Ninja, read
5 kx [CONTRIBUTING.md](CONTRIBUTING.md) first.
5 kx
5 kx ## Building Ninja itself
5 kx
5 kx You can either build Ninja via the custom generator script written in Python or
5 kx via CMake. For more details see
5 kx [the wiki](https://github.com/ninja-build/ninja/wiki).
5 kx
5 kx ### Python
5 kx
5 kx ```
5 kx ./configure.py --bootstrap
5 kx ```
5 kx
5 kx This will generate the `ninja` binary and a `build.ninja` file you can now use
5 kx to build Ninja with itself.
5 kx
5 kx ### CMake
5 kx
5 kx ```
5 kx cmake -Bbuild-cmake -H.
5 kx cmake --build build-cmake
5 kx ```
5 kx
5 kx The `ninja` binary will now be inside the `build-cmake` directory (you can
5 kx choose any other name you like).
5 kx
5 kx To run the unit tests:
5 kx
5 kx ```
5 kx ./build-cmake/ninja_test
5 kx ```