Ninja是类似make的编译工具,make工具比较复杂,Ninja相比make更关注编译速度,小巧高效,LLVM、CMake、chrome使用Ninja编译。
https://github.com/ninja-build/ninja/releases
git clone git://github.com/ninja-build/ninja.git && cd ninja
./configure.py --bootstrap
使用Ninja需要生成build.ninja文件
mkdir build && cd build
cmake -GNinja ../
build.ninja类似Makefile,描述构建的规则和依赖关系。Ninja文件没有分支、循环的流程控制,比Makefile简单。
具体语法参考 ninja-build
执行ninja会找当前目录下的build.ninja来编译得到TARGET:
ninja TARGET
./TARGET
ninja all
参考:
https://github.com/ninja-build/ninja
https://blog.csdn.net/yujiawang/article/details/72627121
http://zhongpan.tech/2019/06/26/008-cmake-with-ninja/
编译工具: 如何评价 CMake? - 暴躁毒舌的回答 - 知乎
https://www.zhihu.com/question/276415476/answer/557715322
为什么c++编译需要很长时间: https://my.oschina.net/stackoom/blog/3158357
为什么 C++ 编译速度比 Java 慢得多? - RednaxelaFX的回答 - 知乎
https://www.zhihu.com/question/42964826/answer/95183155