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