CPack 封存產生器¶
CPack 產生器用於將檔案打包成封存檔,它可以是以下任何格式:
7Z - 7zip - (
.7z
)TBZ2 (
.tar.bz2
)TGZ (
.tar.gz
)TXZ (
.tar.xz
)TZ (
.tar.Z
)TZST (
.tar.zst
)ZIP (
.zip
)
新增於 3.1 版本: 支援 7Z 和 TXZ 格式。
新增於 3.16 版本: 支援 TZST 格式。
當從 CPackSourceConfig.cmake
呼叫此產生器(或透過 package_source
目標)時,產生的封存檔將包含專案目錄中的所有檔案,但 CPACK_SOURCE_IGNORE_FILES
中指定的檔案除外。以下是一個打包專案所有原始碼檔案的範例。
set(CPACK_SOURCE_GENERATOR "TGZ")
set(CPACK_SOURCE_IGNORE_FILES
\\.git/
build/
".*~$"
)
set(CPACK_VERBATIM_VARIABLES YES)
include(CPack)
當從 CPackConfig.cmake
呼叫此產生器(或透過 package
目標)時,產生的封存檔將包含所有透過 CMake 的 install()
命令(以及已棄用的命令 install_files()
、 install_programs()
和 install_targets()
)安裝的所有檔案。
CPack 封存產生器專用的變數¶
- CPACK_ARCHIVE_FILE_NAME¶
- CPACK_ARCHIVE_<component>_FILE_NAME¶
不含副檔名的封裝檔案名稱。
- 預設值:
預設值為
<CPACK_PACKAGE_FILE_NAME>[-<component>]
,空格會被取代為 '-'。
副檔名由封存格式決定(請參閱上面的列表),並自動附加到檔案名稱。請注意,變數名稱中的
<component>
全部都是大寫。新增於 3.9 版本: 每個元件的
CPACK_ARCHIVE_<component>_FILE_NAME
變數。
- CPACK_ARCHIVE_FILE_EXTENSION¶
新增於 3.25 版本。
封裝檔案副檔名。
- 預設值:
預設值在上面的列表中給出。
- CPACK_ARCHIVE_COMPONENT_INSTALL¶
啟用元件封裝。
- 預設值:
關閉
如果啟用 (
ON
),將會產生多個封裝。預設情況下,會產生一個包含所有元件檔案的單一封裝。
CPack 封存產生器使用的變數¶
這些變數由封存產生器使用,但也可供本質上為封存檔的 CPack 產生器使用。這些包括:
- CPACK_ARCHIVE_THREADS¶
執行壓縮時要使用的執行緒數。
新增於 3.18 版本。
- 預設值:
如果設定為
0
,則會改用機器上可用的核心數。請注意,並非所有壓縮模式都在所有環境中都支援執行緒處理。新增於 3.21 版本:
cmake.org
上提供的官方 CMake 二進位檔案現在隨附支援平行壓縮的liblzma
。較舊的版本沒有。