cpack(1)

概要

cpack [<options>]

描述

cpack 可执行文件是 CMake 的打包程序。它以多种格式生成安装程序和源代码包。

对于每个安装程序或包格式,cpack 都有一个特定的后端,称为“生成器”。生成器负责生成所需的输入并调用特定的包创建工具。这些安装程序或包生成器不应与 cmake 命令的 Makefile 生成器混淆。

所有支持的生成器都在 cpack-generators 手册中进行了说明。命令 cpack --help 会打印出支持目标平台的生成器列表。可以使用 CPACK_GENERATOR 变量或通过命令行选项 -G 来选择要使用的生成器。

cpack 程序由使用 CMake 语言 编写的配置文件进行控制。除非通过命令行选项 --config 选择不同的文件,否则将使用当前目录中的文件 CPackConfig.cmake

在标准的 CMake 工作流程中,文件 CPackConfig.cmakecmake 可执行文件生成,前提是 CPack 模块已被包含在项目的 CMakeLists.txt 文件中。

选项

-G <generators>

<generators> 是一个 分号分隔的列表,包含生成器名称。cpack 将遍历此列表,并根据 CPackConfig.cmake 配置文件中提供的详细信息,以该生成器的格式生成包。如果未给出此选项,则使用 CPACK_GENERATOR 变量来决定将使用的默认生成器集。

-C <configurations>

指定要打包的项目配置(例如 DebugRelease 等),其中 <configurations> 是一个 分号分隔的列表。当 CMake 项目使用多配置生成器(如 XcodeVisual 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_MAJORCPACK_PACKAGE_VERSION_MINORCPACK_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 [<file>], --version [<file>], /V [<file>]

显示程序名称/版本横幅并退出。如果给定,输出将打印到指定 <file>

-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 的帮助

主页

https://cmake.com.cn

学习 CMake 的主要起点。

在线文档和社区资源

https://cmake.com.cn/documentation

此网页上可以找到可用文档和社区资源的链接。

论坛

https://discourse.cmake.org

论坛用于讨论和提问 CMake。