Ninja 是一个注重速度的小型构建系统。 https://ninja-build.org/
请参阅发行版中包含的手册或doc/manual.asciidoc
了解背景信息和更多详细信息。
适用于 Linux、Mac 和 Windows 的二进制文件可在 GitHub 上找到。运行./ninja -h
以获得 Ninja 帮助。
不需要安装,因为唯一需要的文件是生成的 ninja 二进制文件。但是,要启用 Bash 补全以及 Emacs 和 Vim 编辑模式等功能,必须将 Misc/ 中的某些文件复制到适当的位置。
如果您有兴趣对 Ninja 进行更改,请先阅读 CONTRIBUTING.md。
您可以通过用 Python 编写的自定义生成器脚本或通过 CMake 来构建 Ninja。有关更多详细信息,请参阅维基百科。
./configure.py --bootstrap
这将生成ninja
二进制文件和build.ninja
文件,您现在可以使用它来构建 Ninja 本身。
如果您有 GoogleTest 源目录,则可以通过使用--gtest-source-dir=PATH
选项传递其路径或GTEST_SOURCE_DIR
环境变量来构建测试,例如:
./configure.py --bootstrap --gtest-source-dir=/path/to/googletest ./ninja all # build ninja_test and other auxiliary binaries ./ninja_test` # run the unit-test suite.
如果您想使用该库的预安装二进制版本,请使用下面的 CMake 构建。
cmake -Bbuild-cmake cmake --build build-cmake
ninja
二进制文件现在将位于build-cmake
目录中(您可以选择您喜欢的任何其他名称)。
要运行单元测试:
./build-cmake/ninja_test
您的 PATH 中必须有asciidoc
和xsltproc
,然后执行以下操作:
./configure.py ninja manual doc/manual.pdf
这将生成doc/manual.html
。
要生成 PDF 版本的手册,您的 PATH 中必须有dblatext
然后执行以下操作:
./configure.py # only if you didn't do it previously. ninja doc/manual.pdf
这将生成doc/manual.pdf
。
如果安装了doxygen
,您可以构建从 C++ 声明和注释中提取的文档来帮助您导航代码。请注意,Ninja 是一个独立的可执行文件,而不是一个库,因此没有公共 API,此处公开的所有细节都是内部的。
./configure.py # if needed ninja doxygen
然后在浏览器中打开doc/doxygen/html/index.html
看一下。