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¶
启用组件打包。
- 默认值:
OFF
如果启用(
ON
),则生成多个包。默认情况下,生成一个包含所有组件文件的单一包。
CPack 归档生成器使用的变量¶
这些变量由归档生成器使用,但也可用于本质上是归档的 CPack 生成器。这些包括
- CPACK_ARCHIVE_THREADS¶
执行压缩时使用的线程数。
3.18 版本新增。
- 默认值:
CPACK_THREADS
的值。
如果设置为
0
,则将使用机器上的可用核心数。注意,并非所有压缩模式在所有环境中都支持多线程。3.21 版本新增:
cmake.org
上提供的官方 CMake 二进制文件现在附带支持并行压缩的liblzma
。旧版本没有。