CPack 存档生成器¶
用于将文件打包成存档的 CPack 生成器,存档可以是以下任何一种格式:
7Z - 7zip - (
.7z)TBZ2 (
.tar.bz2)TGZ (
.tar.gz)TXZ (
.tar.xz)TZ (
.tar.Z)TZST (
.tar.zst)邮编(
.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 Cygwin 生成器CPack FreeBSD 生成器
- CPACK_ARCHIVE_THREADS¶
执行压缩时要使用的线程数。
在 3.18 版本加入.
- 默认:
1
如果设置为“0”,则将使用机器上的可用内核数。默认值为“1”,它将压缩限制为单个线程。请注意,并非所有压缩模式都支持所有环境中的线程。目前,只有 XZ 压缩可能支持它。
另请参阅
CPACK_THREADS变量。在 3.21 版本加入:
cmake.org上可用的官方 CMake 二进制文件现在附带支持并行压缩的liblzma。旧版本没有。