项目未使用CMAKE_TOOLCHAIN_FILE

时间:2013-02-07 17:43:03

标签: build makefile cmake build-process

Cmake在构建一个第三方脚本时会发出此警告:

CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_TOOLCHAIN_FILE

有什么常见的建议我需要检查什么或如何解决这个问题?

4 个答案:

答案 0 :(得分:43)

这是标准警告,当您提供命令行选项时,它不会使用。当CMakeLists.txt没有使用FOO变量时,这就是给{c} {/ 1}}。

现在,这是一个特殊情况:CMake在您第一次配置构建时使用CMAKE_TOOLCHAIN_FILE,但是因为您无法更改已配置构建的工具链,它每隔一段时间都被忽略,因此就是警告。

正如@Answeror所说,你可以放心地忽略这个警告,但如果它真的打扰你,你可以通过给{c}提供-DFOO=bar来隐藏它。

答案 1 :(得分:6)

如果您在之后使用CLion 收到此消息,则设置 -DCMAKE_TOOLCHAIN_FILE=xxx选项,您将要删除所有CMake构建目录。

待办事项

Tools-> CMake -> Show Generated CMake Files in File Manager

然后删除所有构建目录。然后做

Tools-> CMake -> Reload the CMake Project

一旦你这样做,你仍然会得到警告,但至少会在第一次运行cmake时观察到。

答案 2 :(得分:2)

@Guillaume的答案中已经解释了此特定未使用变量的原因。规避有关未使用变量的警告的一种简单而有用的方法是在状态消息中使用它。

message(STATUS "Using toolchain file: ${CMAKE_TOOLCHAIN_FILE}.")

答案 3 :(得分:1)

同样发生在这里,正如@js所指出的,这通常意味着你已经从过去的配置中构建了cmake的残骸。

执行rm -rf CMakeCache.txt CMakeFiles/并在第一次执行cmake -DCMAKE_TOOLCHAIN_FILE=foo.cmake .时消息消失。第二次,他们将再次出现在那里,@ Guilaume回答说没关系。

P.S .: 我首先做了git clean --force,但由于这些文件通常位于.gitignore,因此不会重置构建。