CMake 學習【七】—— 生成一個安裝器

Comma_dev發表於2020-11-05

如果我們想要把自己的工程釋放給別人使用,想在多個不同的平臺同時提供二進位制和原始碼包。我們將使用CPack來建立特定平臺的安裝器。
那麼我們將按照下面的方法進行構建:

1. 在頂層的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}")
include(CPack)

其中InstallRequiredSystemLibraries會將當前平臺需要的執行時包含進來。
然後我們設定了一些CPack的引數,比如在哪裡儲存license和版本資訊。
最後我們包含CPack模組,這個模組會使用我們設定的Cpack變數以及其他一些當前系統的屬性來生成一個安裝器。

2. 構建專案,然後執行cpack生成一個二進位制釋出包

cpack

cpack有一些配置選項,比如想生成指定的格式,使用-G。指定打包哪一種構建使用-C,或者想建立一個原始碼釋出包,使用–config

cpack -G ZIP -C Debug
cpack --config CPackSourceConfig.cmake

執行結束後就可以執行安裝好的應用程式來驗證是否安裝成功。

相關文章