CPACK_SET_DESTDIR¶
布尔切换,让 CPack 在打包时使用 DESTDIR
机制。
DESTDIR
意为 DESTination DIRectory(目标目录)。非默认位置安装软件时,makefile 用户通常使用它。这是一个基本的重定位机制,不应用于 Windows(参见 CMAKE_INSTALL_PREFIX
文档)。通常以这种方式调用它
make DESTDIR=/home/john install
将使用安装前缀(如 /usr/local
)和前缀为 DESTDIR
的值安装相关的软件,最终得到 /home/john/usr/local
。准备软件包时,CPack 首先使用相同的 DESTDIR
机制将待打包的项安装到构建目录中的本地目录。然而,如果设置了 CPACK_SET_DESTDIR
,则 CPack 将在进行本地安装前设置 DESTDIR
。最大的区别在于,如果没有 CPACK_SET_DESTDIR
,CPack 将使用 CPACK_PACKAGING_INSTALL_PREFIX
作为前缀,而当设置了 CPACK_SET_DESTDIR
时,CPack 将使用 CMAKE_INSTALL_PREFIX
作为前缀。
如果某些安装规则使用绝对 DESTINATION
(参见 CMake install()
命令),则手动设置 CPACK_SET_DESTDIR
可能会有所帮助(或有必要)。但是,从 CPack/CMake 2.8.3 开始,RPM 和 DEB 安装程序试图自动处理 DESTDIR
,因此用户很少需要设置它。