cpack(1)¶
概要¶
cpack [<options>]
描述¶
cpack 可执行文件是 CMake 的打包程序。它以多种格式生成安装程序和源文件包。
对于每种安装程序或包格式,cpack 都有一个特定的后端,称为“生成器”(generator)。生成器负责生成所需的输入并调用特定的包创建工具。这些安装程序或包生成器不应与 cmake 命令的 Makefile 生成器混淆。
所有受支持的生成器均在 cpack-generators 手册中列出。cpack --help 命令会打印目标平台支持的生成器列表。用户可以通过 CPACK_GENERATOR 变量或命令行选项 -G 来选择使用的生成器。
cpack 程序由以 CMake 语言编写的配置文件控制。除非通过命令行选项 --config 另行指定,否则默认使用当前目录下的 CPackConfig.cmake 文件。
在标准 CMake 工作流程中,如果项目的 CMakeLists.txt 文件中包含了 CPack 模块,则 CPackConfig.cmake 文件将由 cmake 可执行文件自动生成。
选项¶
- -G <generators>¶
<generators>是一个以分号分隔的列表,包含生成器的名称。cpack 将遍历此列表,并根据CPackConfig.cmake配置文件中提供的详细信息,以相应生成器的格式生成包。如果未提供此选项,则CPACK_GENERATOR变量将决定默认使用的生成器集。
- -C <configurations>¶
指定要打包的项目配置(例如
Debug、Release等),其中<configurations>是一个以分号分隔的列表。当 CMake 项目使用多配置生成器(如Xcode或 Visual Studio)时,此选项用于告知 cpack 将哪些构建出的可执行文件包含在包中。用户需负责确保在调用 cpack 之前,列表中指定的配置已经构建完毕。
- -D <var>=<value>¶
设置 CPack 变量。这将覆盖在 cpack 读取的输入文件中为
<var>设置的任何值。
- --config <configFile>¶
指定 cpack 读取的配置文件,以提供打包详情。默认情况下,将使用当前目录中的
CPackConfig.cmake文件。
- -V, --verbose¶
以详细输出模式运行 cpack。这可用于显示包生成工具的更多详细信息,适合项目开发者使用。
- --debug¶
以调试输出模式运行 cpack。此选项主要供 cpack 自身的开发者使用,项目开发者通常不需要。
- --trace¶
将底层的 cmake 脚本置于追踪模式。
- --trace-expand¶
将底层的 cmake 脚本置于展开追踪模式。
- -P <packageName>¶
覆盖/定义用于打包的
CPACK_PACKAGE_NAME变量的值。在CPackConfig.cmake文件中为此变量设置的任何值都将被忽略。
- -R <packageVersion>¶
覆盖/定义用于打包的
CPACK_PACKAGE_VERSION变量的值。它将覆盖CPackConfig.cmake文件中设置的值,或从CPACK_PACKAGE_VERSION_MAJOR、CPACK_PACKAGE_VERSION_MINOR和CPACK_PACKAGE_VERSION_PATCH自动计算出的值。
- -B <packageDirectory>¶
覆盖/定义
CPACK_PACKAGE_DIRECTORY,它控制 CPack 执行打包工作的目录。默认情况下,生成的包将在该位置创建,并且在该目录下还会创建一个_CPack_Packages子目录,用作包创建过程中的工作区。
- --vendor <vendorName>¶
覆盖/定义
CPACK_PACKAGE_VENDOR。
- --preset <presetName>¶
使用
cmake-presets(7)中的预设。
- --list-presets¶
列出
cmake-presets(7)中的预设。
- -version[=json-v1] [<file>], --version[=json-v1] [<file>], /V[=json-v1] [<file>], /version[=json-v1] [<file>]¶
显示程序名称/版本横幅并退出。如果指定了
json-v1,则以 JSON 格式打印扩展版本信息。JSON 输出包含 CMake 及其依赖项的版本。如果给定了<file>,输出将被打印到该指定文件。JSON 输出格式以机器可读的形式由
此 JSON 模式描述。
- -h, -H, --help, -help, -usage, /?¶
打印使用信息并退出。
使用说明描述了基本的命令行界面及其选项。
- --help <keyword> [<file>]¶
打印一个 CMake 关键字的帮助。
<keyword>可以是属性、变量、命令、策略、生成器或模块。相关的
<keyword>手册条目以人类可读的文本格式打印。如果指定了<file>,则输出将打印到该文件。3.28 版本变更:在 CMake 3.28 之前,此选项仅支持命令名称。
- --help-full [<file>]¶
打印所有帮助手册并退出。
所有手册都以人类可读的文本格式打印。如果给定,输出将打印到指定
<file>。
- --help-manual <man> [<file>]¶
打印一个帮助手册并退出。
指定的手册以人类可读的文本格式打印。如果给定,输出将打印到指定
<file>。
- --help-manual-list [<file>]¶
列出可用的帮助手册并退出。
列表包含所有可以通过使用 `--help-manual` 选项后跟手册名称来获取帮助的手册。如果指定了
<file>,则输出将打印到该文件。
- --help-command <cmd> [<file>]¶
打印一个命令的帮助并退出。
cmake-commands(7)手册条目以人类可读的文本格式打印。如果指定了<file>,则输出将打印到该文件。
- --help-command-list [<file>]¶
列出可获取帮助的命令并退出。
列表包含所有可以通过使用 `--help-command` 选项后跟命令名称来获取帮助的命令。如果指定了
<file>,则输出将打印到该文件。
- --help-commands [<file>]¶
打印 cmake-commands 手册并退出。
cmake-commands(7)手册以人类可读的文本格式打印。如果指定了<file>,则输出将打印到该文件。
- --help-module <mod> [<file>]¶
打印一个模块的帮助并退出。
cmake-modules(7)手册条目以人类可读的文本格式打印。如果指定了<file>,则输出将打印到该文件。
- --help-module-list [<file>]¶
列出可获取帮助的模块并退出。
列表包含所有可以通过使用 `--help-module` 选项后跟模块名称来获取帮助的模块。如果指定了
<file>,则输出将打印到该文件。
- --help-modules [<file>]¶
打印 cmake-modules 手册并退出。
cmake-modules(7)手册以人类可读的文本格式打印。如果指定了<file>,则输出将打印到该文件。
- --help-policy <cmp> [<file>]¶
打印一个策略的帮助并退出。
cmake-policies(7)手册条目以人类可读的文本格式打印。如果指定了<file>,则输出将打印到该文件。
- --help-policy-list [<file>]¶
列出可获取帮助的策略并退出。
列表包含所有可以通过使用 `--help-policy` 选项后跟策略名称来获取帮助的策略。如果指定了
<file>,则输出将打印到该文件。
- --help-policies [<file>]¶
打印 cmake-policies 手册并退出。
cmake-policies(7)手册以人类可读的文本格式打印。如果指定了<file>,则输出将打印到该文件。
- --help-property <prop> [<file>]¶
打印一个属性的帮助并退出。
cmake-properties(7)手册条目以人类可读的文本格式打印。如果指定了<file>,则输出将打印到该文件。
- --help-property-list [<file>]¶
列出可获取帮助的属性并退出。
列表包含所有可以通过使用 `--help-property` 选项后跟属性名称来获取帮助的属性。如果指定了
<file>,则输出将打印到该文件。
- --help-properties [<file>]¶
打印 cmake-properties 手册并退出。
cmake-properties(7)手册以人类可读的文本格式打印。如果指定了<file>,则输出将打印到该文件。
- --help-variable <var> [<file>]¶
打印一个变量的帮助并退出。
cmake-variables(7)手册条目以人类可读的文本格式打印。如果指定了<file>,则输出将打印到该文件。
- --help-variable-list [<file>]¶
列出可获取帮助的变量并退出。
列表包含所有可以通过使用 `--help-variable` 选项后跟变量名称来获取帮助的变量。如果指定了
<file>,则输出将打印到该文件。
- --help-variables [<file>]¶
打印 cmake-variables 手册并退出。
cmake-variables(7)手册以人类可读的文本格式打印。如果指定了<file>,则输出将打印到该文件。
另请参阅¶
以下资源可用于获取使用 CMake 的帮助
- 主页
-
学习 CMake 的主要起点。
- 在线文档和社区资源
https://cmake.com.cn/documentation
此网页上可以找到可用文档和社区资源的链接。
- 论坛
-
论坛用于讨论和提问 CMake。