获取CMake的Ninja测试命令

时间:2017-10-12 14:29:49

标签: 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

我在~/bin/ninja(我$PATH)中放置了本地编译(来自Git标签v1.8.2)Ninja。

$ cmake -version
cmake version 3.4.1
$ ninja --version
1.8.2

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

我还试图看看Ninja是否真的被调用(通过编写一个新文件的脚本),看起来它从未被调用过。

有没有办法查看用于检查Ninja版本的命令?

2 个答案:

答案 0 :(得分:1)

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

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

// Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/ninja

可以告诉默认选择哪个Ninja版本,是否尊重-DCMAKE_MAKE_PROGRAM或者忽略了某些原因。

此外,值得研究生成的CMakeOutput.logCMakeError.log文件。

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

答案 1 :(得分:0)

在遇到相同的错误消息时,我遇到了这个问题。我忘记做的是在使用cmake-GNinja选项运行-DCMAKE_GENERATOR=Ninja之前删除CMakeCache.txt文件。因此cmake正在提取缓存的变量。