我使用cmake
生成我的makefile,然后我想用CMAKE_INSTALL_PREFIX
检查ccmake .
,我不明白为什么ccmake .
仍显示默认{ {1}}作为我的/usr/local
?
CMAKE_INSTALL_PREFIX
输出和MESSAGE
都表示我已正确设置make install
,我只是想知道为什么CMAKE_INSTALL_PREFIX
提供了错误的信息?有什么想法吗?
ccmake
答案 0 :(得分:1)
ccmake
显示的值是来自CMake缓存的值,存储在CMakeCache.txt
中。消息调用显示的值是您之前设置一行的本地变量CMAKE_INSTALL_PREFIX
的值,它隐藏了同名的缓存值。
如果您想更改缓存值,请改用强制set:
set(CMAKE_INSTALL_PREFIX "/home/bin" CACHE PATH "" FORCE)
请注意,一般来说,从CMakeLists中更改这些值并不是一个好主意,因为它会使用户更改默认配置的任何尝试失效。在这种更改CMAKE_INSTALL_PREFIX
的特殊情况下,您也可能会破坏Windows平台上的构建。