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
,因此使用者很少需要設定它。