获取 CMake 的 Ninja 测试命令
Get CMake's Ninja test command
我正在尝试让 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 版本?
通过检查生成的 CMakeCache.txt 文件,您应该能够知道 CMake 选择了哪个 Ninja 版本。
在 CMakeCache.txt
你应该有类似的东西:
// Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/ninja
这可以判断默认选择哪个 Ninja 版本以及 -DCMAKE_MAKE_PROGRAM
是否被尊重或出于某种原因被忽略。
此外,值得研究生成的 CMakeOutput.log
和 CMakeError.log
文件。
我还建议将 ninja
添加到您的 PATH 中,希望 CMake 从那里选择它。
我在收到相同的错误消息时遇到了这个问题。我忘记做的是在使用 -GNinja
或 -DCMAKE_GENERATOR=Ninja
选项 运行 cmake
之前删除 CMakeCache.txt 文件。所以 cmake
正在提取缓存变量。
我正在尝试让 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 版本?
通过检查生成的 CMakeCache.txt 文件,您应该能够知道 CMake 选择了哪个 Ninja 版本。
在 CMakeCache.txt
你应该有类似的东西:
// Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/ninja
这可以判断默认选择哪个 Ninja 版本以及 -DCMAKE_MAKE_PROGRAM
是否被尊重或出于某种原因被忽略。
此外,值得研究生成的 CMakeOutput.log
和 CMakeError.log
文件。
我还建议将 ninja
添加到您的 PATH 中,希望 CMake 从那里选择它。
我在收到相同的错误消息时遇到了这个问题。我忘记做的是在使用 -GNinja
或 -DCMAKE_GENERATOR=Ninja
选项 运行 cmake
之前删除 CMakeCache.txt 文件。所以 cmake
正在提取缓存变量。