CPACK_SET_DESTDIR¶
布林值切換,使 CPack 在封裝時使用 DESTDIR
機制。
DESTDIR
代表 DESTination DIRectory(目標目錄)。它通常被 makefile 使用者用來將軟體安裝在非預設的位置。這是一個基本的重新定位機制,不應在 Windows 上使用(請參閱 CMAKE_INSTALL_PREFIX
文件)。它通常像這樣被調用:
make DESTDIR=/home/john install
make install DESTDIR=/home/john
這會使用安裝前綴安裝相關軟體,例如 /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
,因此使用者很少需要設定它。