ccmake(1)

简介

ccmake [<options>] -B <path-to-build> [-S <path-to-source>]
ccmake [<options>] <path-to-source | path-to-existing-build>

说明

可执行文件 ccmake 是 CMake 终端界面。可以通过此 GUI 交互式地指定项目配置设置。当程序运行时,终端底部会提供简要说明。

CMake 是一个跨平台编译系统生成器。项目通过 CMake 列表文件指定其编译过程,该列表文件与平台无关,包含在源代码树的每个目录中,文件名是 CMakeLists.txt。用户通过使用 CMake 为平台上的本机工具构建构建系统来构建项目。

选项

-S <path-to-source>

要构建的 CMake 项目的根目录路径。

-B <path-to-build>

CMake 用作构建目录根目录的路径。

如果目录不存在,CMake 会创建一个新目录。

-C <initial-cache>

预加载一个脚本以填充高速缓存。

当 CMake 首次在空构建树中运行时,它会创建一个 CMakeCache.txt 文件,并用该项目的可自定义设置填充该文件。此选项可用于指定一个文件,从中加载高速缓存条目,然后再首次遍历项目的 CMake 列表文件。已加载的条目优先于项目的默认值。给定的文件应是包含 set() 命令的 CMake 脚本,该命令使用 CACHE 选项,而不是高速缓存格式文件。

脚本中对 CMAKE_SOURCE_DIRCMAKE_BINARY_DIR 的引用分别评估为源代码顶层和构建树。

-D <var>:<type>=<value>, -D <var>=<value>

创建或更新 CMake CACHE 条目。

当 CMake 首次在空构建树中运行时,它会创建一个 CMakeCache.txt 文件,并用该项目的可自定义设置填充该文件。此选项可用于指定一个优先于项目默认值的设置。可针对任意多个 CACHE 条目重复此选项。

如果指定 :<type> 部分,则它必须是 set() 命令文档为其 CACHE 签名指定的类型之一。如果省略 :<type> 部分,则如果已使用类型创建条目,该条目将使用没有类型的条目创建。如果项目中的命令设置类型为 PATHFILEPATH,则 <value> 将转换为绝对路径。

此选项还可以作为单个参数提供: -D<var>:<type>=<value>-D<var>=<value>

请务必注意 -C-D 参数顺序的重要性。它们将按列出的顺序执行,并且最后一个参数优先于前一个参数。例如,如果指定 -DCMAKE_BUILD_TYPE=Debug,后面跟一个 -C 参数,该参数调用

set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)

那么 -C 参数将优先考虑,并且 CMAKE_BUILD_TYPE 将设置为 Release。但是,如果 -D 参数在 -C 参数之后,它将被设置为 Debug

如果 set(... CACHE ...)-C 文件中调用不使用 FORCE,并且 -D 参数设置相同的变量,则 -D 参数将优先于顺序,因为非 FORCE set(... CACHE ...) 调用的本质。

-U <globbing_expr>

从 CMake CACHE 中删除匹配的条目。

此选项可用于从 CMakeCache.txt 文件中删除一个或多个变量,支持使用 *? 的全局表达式。该选项可以重复使用,以使其尽可能多地 CACHE 条目。

请小心使用,您可以使您的 CMakeCache.txt 无法工作。

-G <生成器名称>

指定一个构建系统生成器。

CMake 可能支持某些平台上的多个本机构建系统。生成器负责生成特定的构建系统。可能生成器名称在 cmake-generators(7) 手册中指定。

如果没有指定,CMake 将检查 CMAKE_GENERATOR 环境变量,否则退回到内置的默认选项。

-T <工具集规范>

生成器的工具集规范(如果支持的话)。

某些 CMake 生成器支持工具集规范,以告知本机构建系统如何选择编译器。有关详细信息,请参阅 CMAKE_GENERATOR_TOOLSET 变量。

-A <平台名称>

如果生成器支持,请指定平台名称。

某些 CMake 生成器支持平台名称,该名称将提供给本机构建系统,以便选择编译器或 SDK。有关详细信息,请参阅 CMAKE_GENERATOR_PLATFORM 变量。

--toolchain <文件路径>

在版本 3.21 中添加。

指定交叉编译工具链文件,等同于设置 CMAKE_TOOLCHAIN_FILE 变量。相对路径解释为相对于构建目录,如果找不到,则相对于源目录。

--install-prefix <目录>

在版本 3.21 中添加。

指定安装目录,由 CMAKE_INSTALL_PREFIX 变量使用。必须是绝对路径。

-Wno-dev

抑制开发人员警告。

抑制针对 CMakeLists.txt 文件作者的警告。默认情况下,这也将关闭弃用警告。

-Wdev

启用开发人员警告。

启用针对 CMakeLists.txt 文件作者的警告。默认情况下,这也将打开弃用警告。

-Wdeprecated

启用已弃用功能警告。

启用针对 CMakeLists.txt 文件作者的已过时功能的警告消息。

-Wno-deprecated

禁止过时功能警告消息。

禁止针对 CMakeLists.txt 文件作者的已过时功能的警告消息。

-Werror=<what>

将 CMake 警告当作错误。 <what> 必须为以下项之一

开发人员

将开发人员警告设为错误。

将针对 CMakeLists.txt 文件作者的警告设为错误。默认情况下,此操作还将将已过时警告设为错误。

已过时

将过时的宏和函数警告设为错误。

将针对 CMakeLists.txt 文件作者的已过时宏和函数警告设为错误。

-Wno-error=<what>

不要将 CMake 警告当作错误。 <what> 必须为以下项之一

开发人员

将针对 CMakeLists.txt 文件作者的警告设为错误。默认情况下,此操作还将禁止将已过时警告设为错误。

已过时

将针对 CMakeLists.txt 文件作者的已过时宏和函数警告设为错误。

-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)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)<mod>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)<mod>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>]

打印一个变量的帮助信息,然后退出。

以人类可读的文本格式打印 <var>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 的讨论和问题。