获取CMake的Ninja测试命令

Gli*_*ome 4 cmake ninja

我正在尝试让 Ninja 在FreeBSD 10.3上与 CMake 一起工作:

cmake -GNinja ..
-- Configuring done
CMake Error:
  The detected version of Ninja () is less than the version of Ninja required
  by CMake (1.3).

-- Build files have been written to: /home/me/pj/_build
Run Code Online (Sandbox Code Playgroud)

我已经将本地编译的(来自 Git 标签 v1.8.2)Ninja 放入~/bin/ninja(位于我的$PATH)中。

$ cmake -version
cmake version 3.4.1
$ ninja --version
1.8.2
Run Code Online (Sandbox Code Playgroud)

我也尝试添加了-DCMAKE_MAKE_PROGRAM=ninja-DCMAKE_MAKE_PROGRAM=~/bin/ninja没有效果。

我还尝试查看 Ninja 是否真的被调用(通过将脚本写入新文件),看起来它从未被调用过。

有没有办法查看使用哪些命令来检查 Ninja 版本?

val*_*ano 5

通过检查生成的 CMakeCache.txt 文件,您应该能够知道 CMake 选择了哪个 Ninja 版本。

CMakeCache.txt你应该有类似的东西:

// Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/ninja
Run Code Online (Sandbox Code Playgroud)

它可以告诉您默认选择哪个 Ninja 版本以及是否-DCMAKE_MAKE_PROGRAM受到尊重或由于某种原因被忽略。

此外,值得研究一下生成的CMakeOutput.log文件CMakeError.log

我还建议添加ninja到您的 PATH 中,希望 CMake 能从那里选择它。