Ninja 是一个专注于速度的小型构建系统。
根据 [Chromium](http://neugierig.org/software/chromium/notes/2011/02/ninja.html) 的实际测试:在超过 30,000 个源文件的情况下,也能够在1秒钟内开始进行真正的构建。
与之相比,通过资深工程师进行编写的 Makefiles 文件也需要10-20秒才能开始构建。
Ninja 的设计哲学是通过包含描述依赖关系图的方式提供快速的构建。
原则上,如果你对自己的项目构建速度感觉满意,就不要用 Ninja
通常情况下,应该先通过 Cmake 等工具生成 Ninja 文件,再执行构建。
以 Swift 为例:
// 通过 Swift 的脚步生成 Ninja 构建文件
utils/build-script --release-debuginfo
cd ${SWIFT_BUILD_DIR}
// 执行构建 swift 组件
ninja swift
最后,附上官网传送门:https://ninja-build.org/