cpack(1)

概要

cpack [<options>]

说明

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

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

所有受支持的生成器都在 cpack-generators 手册中指定。命令 cpack --help 为目标平台打印受支持的生成器列表。可以使用 CPACK_GENERATOR 变量或命令行选项 -G 来选择要使用其中的哪一个。

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

在标准 CMake 工作流中,如果项目的 CMakeLists.txt 文件包含 CPack 模块,则文件 CPackConfig.cmakecmake 可执行文件生成。

选项

-G <generators>

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

-C <configs>

指定要打包的项目配置(例如 DebugRelease 等),其中 <configs> 是一个 用分号分隔的列表。当 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 <包的名称>

覆盖/定义 CPACK_PACKAGE_NAME 变量的值,该值用于打包。如果在 CPackConfig.cmake 文件中为该变量设置了任何值,则该值将被忽略。

-R <包版本>

覆盖/定义 CPACK_PACKAGE_VERSION 变量的值,该值用于打包。此值将覆盖在 CPackConfig.cmake 文件中设置的值,或从 CPACK_PACKAGE_VERSION_MAJORCPACK_PACKAGE_VERSION_MINORCPACK_PACKAGE_VERSION_PATCH 自动计算出的值。

-B <包目录>

覆盖/定义 CPACK_PACKAGE_DIRECTORY,它控制 CPack 执行其包装工作所在的目录。默认情况下,将在该位置创建生成的包,并且还会在此目录下创建一个 _CPack_Packages 子目录,以用作打包过程中的工作区。

--vendor <供应商名称>

覆盖/定义 CPACK_PACKAGE_VENDOR

--preset <预设名称>

使用 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>]

为某个命令打印帮助并退出。

面向 <cmd>cmake-commands(7) 手册项打印为人类可读文本格式。如果给出了 <file>,输出将打印到指定的文件。

--help-command-list [<file>]

列出可获得帮助的命令并退出。

该列表包含可以通过使用 --help-command 选项(后跟命令名称)获取帮助的所有命令。如果给出了 <file>,输出将打印到指定的文件。

--help-commands [<file>]

打印 cmake-commands 手册并退出。

面向 cmake-commands(7) 的手册打印为人类可读文本格式。如果给出了 <file>,输出将打印到指定的文件。

--help-module <mod> [<file>]

为某个模块打印帮助并退出。

面向 <mod>cmake-modules(7) 手册项打印为人类可读文本格式。如果给出了 <file>,输出将打印到指定的文件。

--help-module-list [<file>]

列出可获得帮助的模块并退出。

该列表包含可以通过使用 --help-module 选项(后跟模块名称)获取帮助的所有模块。如果给出了 <file>,输出将打印到指定的文件。

--help-modules [<file>]

打印 cmake-modules 手册并退出。

面向 cmake-modules(7) 的手册打印为人类可读文本格式。如果给出了 <file>,输出将打印到指定的文件。

--help-policy <cmp> [<file>]

打印某个策略的帮助并退出。

<cmp>cmake-policies(7) 手册条目以人类可读的文本格式打印。如果给定了命名 <file>,则输出将打印到其中。

--help-policy-list [<file>]

列出有可用帮助的策略并退出。

列表包含可以通过使用 --help-policy 选项(后跟策略名称)获取帮助的所有策略。如果给定了命名 <file>,则输出将打印到其中。

--help-policies [<file>]

打印 cmake-policies 手册并退出。

cmake-policies(7) 手册以人类可读的文本格式打印。如果给定了命名 <file>,则输出将打印到其中。

--help-property <prop> [<file>]

打印某个属性的帮助并退出。

<prop>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) 手册条目 <var> 以可读的文本格式打印。如果已提供,则输出将被打印到指定的 <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

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

Discourse 论坛

https://discourse.cmake.org

Discourse 论坛承载有关 CMake 的讨论和问题。