ccmake(1)¶
概要¶
ccmake [<options>] -B <path-to-build> [-S <path-to-source>]
ccmake [<options>] <path-to-source | path-to-existing-build>
描述¶
ccmake 可执行文件是 CMake 的 curses 界面。项目配置设置可以通过此 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_DIR
和CMAKE_BINARY_DIR
的引用将评估为顶级源树和构建树。
- -D <var>:<type>=<value>, -D <var>=<value>¶
创建或更新 CMake
CACHE
条目。当 CMake 首次在空构建树中运行时,它会创建一个
CMakeCache.txt
文件,并使用项目的可自定义设置填充它。此选项可用于指定一个设置,该设置优先于项目的默认值。可以根据需要重复此选项以设置任意数量的CACHE
条目。如果给出了
:<type>
部分,则它必须是set()
命令文档为其CACHE
签名指定的类型之一。如果省略了:<type>
部分,则如果该条目不存在且没有类型,则将创建没有类型的条目。如果项目中的命令将类型设置为PATH
或FILEPATH
,则<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
。如果
-C
文件中的set(... CACHE ...)
调用未使用FORCE
,并且-D
参数设置了相同的变量,则由于非FORCE
set(... CACHE ...)
调用的性质,-D
参数将优先,而与顺序无关。
- -U <globbing_expr>¶
从 CMake
CACHE
中删除匹配的条目。此选项可用于从
CMakeCache.txt
文件中删除一个或多个变量,支持使用*
和?
的 globbing 表达式。可以根据需要重复此选项以设置任意数量的CACHE
条目。谨慎使用,您可能会使您的
CMakeCache.txt
无法工作。
- -G <generator-name>¶
指定构建系统生成器。
CMake 可能在某些平台上支持多个本机构建系统。生成器负责生成特定的构建系统。可能的生成器名称在
cmake-generators(7)
手册中指定。如果未指定,CMake 将检查
CMAKE_GENERATOR
环境变量,否则将回退到内置的默认选择。
- -T <toolset-spec>¶
生成器的工具集规范(如果支持)。
某些 CMake 生成器支持工具集规范,以告知本机构建系统如何选择编译器。有关详细信息,请参阅
CMAKE_GENERATOR_TOOLSET
变量。
- -A <platform-name>¶
如果生成器支持,则指定平台名称。
某些 CMake 生成器支持为本机构建系统提供平台名称,以选择编译器或 SDK。有关详细信息,请参阅
CMAKE_GENERATOR_PLATFORM
变量。
- --toolchain <path-to-file>¶
在 3.21 版本中添加。
指定交叉编译工具链文件,等效于设置
CMAKE_TOOLCHAIN_FILE
变量。相对路径被解释为相对于构建目录,如果未找到,则相对于源目录。
- --install-prefix <directory>¶
在 3.21 版本中添加。
指定安装目录,由
CMAKE_INSTALL_PREFIX
变量使用。必须是绝对路径。
- --project-file <project-file-name>¶
在 4.0 版本中添加。
指定备用项目文件名。
这决定了 CMake 在配置项目时处理的顶层文件,以及
add_subdirectory()
处理的文件。默认情况下,这是
CMakeLists.txt
。如果设置为其他任何内容,当在项目子目录中找不到指定的文件时,将使用CMakeLists.txt
作为回退。注意
此功能旨在供开发人员在增量过渡期间临时使用,而不是用于最终产品的发布。当项目文件不是
CMakeLists.txt
时,CMake 始终会发出警告。
- -Wno-dev¶
禁止显示开发者警告。
禁止显示旨在供
CMakeLists.txt
文件作者使用的警告。默认情况下,这也会关闭弃用警告。
- -Wdev¶
启用开发者警告。
启用旨在供
CMakeLists.txt
文件作者使用的警告。默认情况下,这也会打开弃用警告。
- -Wdeprecated¶
启用已弃用功能警告。
启用对已弃用功能的使用警告,这些警告旨在供
CMakeLists.txt
文件的作者使用。
- -Wno-deprecated¶
禁止显示已弃用功能警告。
禁止显示对已弃用功能的使用警告,这些警告旨在供
CMakeLists.txt
文件的作者使用。
- -Werror=<what>¶
将 CMake 警告视为错误。
<what>
必须是以下之一dev
将开发者警告视为错误。
将旨在供
CMakeLists.txt
文件作者使用的警告视为错误。默认情况下,这也会将弃用警告视为错误。deprecated
将已弃用的宏和函数警告视为错误。
将对已弃用的宏和函数的使用警告(这些警告旨在供
CMakeLists.txt
文件的作者使用)视为错误。
- -Wno-error=<what>¶
不要将 CMake 警告视为错误。
<what>
必须是以下之一dev
将旨在供
CMakeLists.txt
文件作者使用的警告不视为错误。默认情况下,这也会关闭将弃用警告视为错误。deprecated
将对已弃用的宏和函数的使用警告(这些警告旨在供
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)
手册。如果给定,输出将打印到命名的<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>]¶
打印一个变量的帮助并退出。
以人类可读的文本格式打印
<var>
的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
可以在此网页上找到指向可用文档和社区资源的链接。
- Discourse 论坛
-
Discourse 论坛托管关于 CMake 的讨论和问题。