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
,因此用户很少需要设置它。