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 是一个跨平台的构建系统生成器。项目使用每个源码树目录中名为 CMakeLists.txt 的平台无关 CMake 列表文件来指定其构建过程。用户通过使用 CMake 为其平台上的原生工具生成构建系统来构建项目。
选项¶
- -S <path-to-source>¶
要构建的 CMake 项目的根目录路径。
- -B <path-to-build>¶
CMake 将用作构建目录根目录的目录路径。
如果该目录不存在,CMake 将创建它。
- -C <initial-cache>¶
预加载脚本以填充缓存。
当 CMake 首次在空的构建树中运行时,它会创建一个
CMakeCache.txt文件,并使用项目的可自定义设置进行填充。此选项可用于指定一个文件,以便在首次遍历项目的 CMake 列表文件之前加载缓存条目。加载的条目优先级高于项目的默认值。给定的文件应当是一个 CMake 脚本,其中包含使用CACHE选项的set()命令,而不是缓存格式的文件。脚本中对
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文件中移除一个或多个变量,支持使用*和?的通配符表达式。此选项可以重复使用,以移除任意多个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>必须是以下项之一:开发将开发者警告视为错误。
将针对
CMakeLists.txt文件作者的警告视为错误。默认情况下,这也将把弃用警告视为错误。已弃用将已弃用的宏和函数警告视为错误。
将针对
CMakeLists.txt文件作者的、关于使用已弃用宏和函数的警告视为错误。
- -Wno-error=<what>¶
不要将 CMake 警告视为错误。
<what>必须是以下项之一:开发将针对
CMakeLists.txt文件作者的警告不视为错误。默认情况下,这也将关闭将弃用警告视为错误的功能。已弃用将针对
CMakeLists.txt文件作者的、关于使用已弃用宏和函数的警告不视为错误。
- -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。