步驟 9:封裝安裝程式

接下來,假設我們想要將專案分發給其他人以便他們可以使用它。我們想要在各種平台上提供二進位檔和原始碼發行版本。這與我們先前在安裝 測試中進行的安裝有些不同,在該安裝中,我們安裝的是從原始碼建立的二進位檔。在此範例中,我們將建構支援二進位安裝和套件管理功能的安裝套件。為了實現這一點,我們將使用 CPack 來建立特定平台的安裝程式。具體來說,我們需要在最上層的 CMakeLists.txt 檔案的底部新增幾行。

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_GENERATORCPACK_SOURCE_GENERATOR 變數分別選擇用於二進位和原始碼安裝的產生器。

最後,我們包含 CPack 模組,它將使用這些變數和目前系統的其他一些屬性來設定安裝程式。

下一個步驟是以通常的方式建置專案,然後執行 cpack 可執行檔。若要建置二進位發行版本,請從二進位目錄執行

cpack

若要指定二進位產生器,請使用 -G 選項。對於多配置建置,請使用 -C 來指定配置。例如

cpack -G ZIP -C Debug

如需可用產生器的清單,請參閱 cpack-generators(7) 或呼叫 cpack --help封存 產生器(例如 ZIP)會建立所有已安裝檔案的壓縮封存。

若要建立完整原始碼樹狀結構的封存,您會輸入

cpack --config CPackSourceConfig.cmake

或者,從 IDE 執行 make package 或按一下滑鼠右鍵按一下 Package 目標,然後按一下 Build Project

執行二進位目錄中的安裝程式。然後執行已安裝的可執行檔,並驗證它是否正常運作。