0

cmake用来生成我的makefile,然后我想检查CMAKE_INSTALL_PREFIXwith ccmake .,我不明白为什么ccmake .仍然显示默认/usr/local为 my CMAKE_INSTALL_PREFIX

MESSAGE输出和两者make install都表明我已经CMAKE_INSTALL_PREFIX正确设置了,我只是想知道为什么ccmake给出错误的信息?有任何想法吗?

cmake_minimum_required(VERSION 2.8.7 FATAL_ERROR)

PROJECT(ddd)
SET(CMAKE_INSTALL_PREFIX "/home/bin")
MESSAGE ("CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}")
add_executable(ddd MACOSX_BUNDLE ddd.CPP)
set_property(TARGET ddd PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
INSTALL(TARGETS ddd DESTINATION .)
4

1 回答 1

1

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

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

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

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

于 2013-10-15T15:07:34.273 回答