1. 准备工作
S1. 安装git for Windows,下载地址:https://git-scm.com/download/win
S2. 安装Visual Studio 2015
S3. 安装Python 3.x
2. Clone ninja库
打开git bash,分别运行如下两行命令:
git clone git://github.com/ninja-build/ninja.git && cd ninja
git checkout release
3. 编译ninja
S1. 在Windows目录中找到上述clone到本地ninja库的文件夹,通常位于
C:\users\<XXXX>
,这里的XXXX就是当前自己的用户。
S2. 启动Windows CMD,cd到上述ninja库的文件夹内部。
S3. 在CMD中分别运行如下两行命令:
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
python configure.py --bootstrap
会有如下输出(中间省略了大量形如“包含文件”的内容):
bootstrapping ninja...
warning: A compatible version of re2c (>= 0.11.3) was not found; changes to src/*.in.cc will not affect your build.
build.cc
build_log.cc
clean.cc
clparser.cc
debug_flags.cc
depfile_parser.cc
deps_log.cc
disk_interface.cc
edit_distance.cc
eval_env.cc
graph.cc
graphviz.cc
lexer.cc
line_printer.cc
manifest_parser.cc
metrics.cc
state.cc
string_piece_util.cc
util.cc
version.cc
subprocess-win32.cc
includes_normalize-win32.cc
msvc_helper-win32.cc
msvc_helper_main-win32.cc
minidump-win32.cc
getopt.c
ninja.cc
正在生成代码
已完成代码的生成
wrote build.ninja.
bootstrap complete. rebuilding...
[2/29] CXX build\depfile_parser.obj
注意: 包含文件: c:\users\yafux\ninja\src\depfile_parser.h
注意: 包含文件: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\string
注意: 包含文件: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\istream
注意: 包含文件: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\ostream
注意: 包含文件: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\ios
注意: 包含文件: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xlocnum
注意: 包含文件: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\climits
...
注意: 包含文件: c:\users\yafux\ninja\src\graphviz.h
注意: 包含文件: c:\users\yafux\ninja\src\manifest_parser.h
注意: 包含文件: c:\users\yafux\ninja\src\lexer.h
注意: 包含文件: c:\users\yafux\ninja\src\state.h
注意: 包含文件: c:\users\yafux\ninja\src\version.h
[29/29] LINK ninja.exe
正在生成代码
已完成代码的生成
S4. 在上述ninja库的文件夹内部,可以看到编译后生成的
ninja.exe
文件。

4. 安装ninja
S1. 在系统分区下创建一个文件夹
local
。
S2. 在上述
local
文件夹中创建一个文件夹
Ninja
。
S3. 将生成的
ninja.exe
文件拷贝到S2创建的文件夹
Ninja
中,如下图所示。
S4. 将目录
C:\local\Ninja
添加到系统的
Path
环境变量中,如下图所示:
S5. 启动一个新的Windows CMD窗口,并运行如下命令进行验证:
ninja --help
运行后会有如下输出:
usage: ninja [options] [targets...]
if targets are unspecified, builds the 'default' target (see manual).
options:
--version print ninja version ("1.9.0")
-v, --verbose show all command lines while building
-C DIR change to DIR before doing anything else
-f FILE specify input build file [default=build.ninja]
-j N run N jobs in parallel (0 means infinity) [default=6 on this system]
-k N keep going until N jobs fail (0 means infinity) [default=1]
-l N do not start new jobs if the load average is greater than N
-n dry run (don't run commands but act like they succeeded)
-d MODE enable debugging (use '-d list' to list modes)
-t TOOL run a subtool (use '-t list' to list subtools)
terminates toplevel options; further flags are passed to the tool
-w FLAG adjust warnings (use '-w list' to list warnings)
S6. 至此,ninja在Windows 10下的编译安装就完成了。
参考资料:
https://github.com/ninja-build/ninja/blob/master/HACKING.md