??? 接下來假設我們想要將我們的項目分發給其他人,以便他們可以使用它。我們希望在各種平臺上提供二進制和源代碼發行版。這與我們之前在安裝和測試中所做的安裝略有不同,在安裝中我們安裝了從源代碼構建的二進制文件。在本例中,我們將構建支持二進制安裝和包管理特性的安裝包。為此,我們將使用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_GENERATOR和CPACK_SOURCE_GENERATOR變量分別選擇用于二進制和源代碼安裝的生成器。
??? 最后,我們將包括CPack模塊,它將使用這些變量和當前系統的一些其他屬性來設置安裝程序。
??? 下一步是以編譯并運行cpack可執行文件。要構建一個二進制發行版,從二進制目錄運行:
cpack
??? 要指定二進制生成器,請使用-G選項。對于多配置構建,使用-C來指定配置。例如:
cpack -G ZIP -C Debug
??? 要創建完整源代碼結構的備份,您可以輸入:
cpack --config CPackSourceConfig.cmake
??? 或者,運行make package構建項目。
??? 運行二進制目錄中的安裝程序。然后運行已安裝的可執行文件并驗證它是否有效。