为什么`ccmake`与我的`cmake`有不同的`CMAKE_INSTALL_PREFIX`?

时间:2013-10-15 14:59:05

标签: cmake

我使用cmake生成我的makefile,然后我想用CMAKE_INSTALL_PREFIX检查ccmake .,我不明白为什么ccmake .仍显示默认{ {1}}作为我的/usr/local

CMAKE_INSTALL_PREFIX输出和MESSAGE都表示我已正确设置make install,我只是想知道为什么CMAKE_INSTALL_PREFIX提供了错误的信息?有什么想法吗?

ccmake

1 个答案:

答案 0 :(得分:1)

ccmake显示的值是来自CMake缓存的值,存储在CMakeCache.txt中。消息调用显示的值是您之前设置一行的本地变量CMAKE_INSTALL_PREFIX的值,它隐藏了同名的缓存值。

如果您想更改缓存值,请改用强制set

set(CMAKE_INSTALL_PREFIX "/home/bin" CACHE PATH "" FORCE)

请注意,一般来说,从CMakeLists中更改这些值并不是一个好主意,因为它会使用户更改默认配置的任何尝试失效。在这种更改CMAKE_INSTALL_PREFIX的特殊情况下,您也可能会破坏Windows平台上的构建。