步驟 9:封裝安裝程式¶
接下來假設我們想要將專案發佈給其他人使用。我們希望在各種平台上提供二進制和原始碼發行版本。這與我們之前在Installing and Testing
中執行的安裝略有不同,在該範例中,我們安裝的是從原始碼建置的二進制檔案。在這個範例中,我們將建置安裝套件,以支援二進制安裝和套件管理功能。為了完成此操作,我們將使用 CPack 來建立平台特定的安裝程式。具體來說,我們需要在頂層 CMakeLists.txt
檔案的底部新增幾行程式碼。
include(InstallRequiredSystemLibraries)
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
set(CPACK_PACKAGE_VERSION_MAJOR "${Tutorial_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${Tutorial_VERSION_MINOR}")
set(CPACK_GENERATOR "TGZ")
set(CPACK_SOURCE_GENERATOR "TGZ")
include(CPack)
就這樣而已。我們先從包含 InstallRequiredSystemLibraries
開始。此模組將包含專案在目前平台上所需的任何執行時期程式庫。接下來,我們設定一些 CPack 變數,以指向我們儲存此專案的授權和版本資訊的位置。版本資訊已在本教學稍早設定,而 License.txt
已包含在此步驟的頂層原始碼目錄中。CPACK_GENERATOR
和 CPACK_SOURCE_GENERATOR
變數分別選擇用於二進制和原始碼安裝的產生器。
最後,我們包含 CPack module
,它將使用這些變數和目前系統的其他一些屬性來設定安裝程式。
下一步是以通常的方式建置專案,然後執行 cpack
可執行檔。若要建置二進制發行版本,請從二進制目錄執行
cpack
若要指定二進制產生器,請使用 -G
選項。對於多配置建置,請使用 -C
來指定配置。例如
cpack -G ZIP -C Debug
如需可用產生器的清單,請參閱 cpack-generators(7)
或呼叫 cpack --help
。像 ZIP 這樣的 archive generator
會建立所有已安裝檔案的壓縮封存檔。
若要建立完整原始碼樹狀結構的封存檔,您可以輸入
cpack --config CPackSourceConfig.cmake
或者,執行 make package
或在 IDE 中右鍵點擊 Package
目標並選擇 Build Project
。
執行在二進制目錄中找到的安裝程式。然後執行已安裝的可執行檔,並驗證它是否正常運作。