CLion 2025.2 Help

CMake 预设

CMake 预设 是一种使用两个文件配置和共享 CMake 选项的方式:

  • CMakePresets.json 用于项目作用域的构建。 此文件可以通过 VCS 共享。

  • CMakeUserPresets.json 用于开发者自己的本地构建。 此文件不应提交到 VCS。

CMakePresets.json CMakeUserPresets.json 都具有相同的格式,并应位于项目的根目录中。

CMake 配置文件 与 CMake 预设有许多共同设置,也可以通过 VCS 共享。 主要区别在于配置文件引用了 CLion 的 工具链 ,其中包含 CMake 预设中不存在且不需要的信息(如调试器或环境设置)。

预设导入

在打开项目时,CLion 会检测项目根目录下 CMakePresets.json CMakeUserPresets.json 文件中的所有 构建configure 预设。 默认情况下,所有这些预设都会以只读模式自动加载到 CMake 配置文件 中。

要查看已加载的预设,请转到 设置 | 构建、执行、部署 | CMake 或使用通知对话框中的 视图 链接:

预设加载通知
  • 所有新预设默认情况下都是禁用的,除非您之前已经加载并启用了它们(CLion 会通过名称匹配它们)。

  • 如果 CMakePresets.json CMakeUserPresets.json 文件中不存在之前加载的预设,它们将被移除。

预设配置文件初始状态

手动加载预设

您还可以为已打开的项目加载预设。

  1. 调用 帮助 | 查找操作Ctrl+Shift+A )并搜索 加载 CMake 预设

  2. CLion 将显示一个弹窗,其中列出了现有的构建预设:

    加载 CMake 预设弹窗
  3. 选择预设并按下 Enter

    您可以通过按住 CtrlShift 选择多个条目。 CLion 将加载所有选定的预设。

  4. 与打开项目的情况类似,您手动加载的预设会以只读模式导入到 CMake 配置文件中。 您可以在 设置 | 构建、执行、部署 | CMake 中找到它们。

启用预设配置文件

  1. 转到 设置 | 构建、执行、部署 | CMake

  2. 选择所需的配置文件并设置 启用配置文件 复选框:

    正在启用预设配置文件

编辑预设

您可以使用以下两种选项编辑导入的预设:

编辑基于预设的 CMake 配置文件的副本

  1. 转到 设置 | 构建、执行、部署 | CMake

  2. 选择所需的配置文件并点击 或按下 Ctrl/⌘ + D

    复制基于预设的配置文件
  3. 调整复制的配置文件中的设置:

    编辑已复制的基于预设的配置文件

在编辑器中修改相应的 JSON 文件

  • 打开并开始编辑相应的 json 文件。 CLion 将在您输入时跟踪更改,并在问题视图中通知您任何错误:

    CMake 预设错误报告
  • 当您在编辑器中更改预设文件或在外部修改它时,您将收到建议重新加载更改的通知:

    编辑 CMake 预设 JSON 文件
  • 如果您希望 CLion 静默重新加载更改,请点击 启用自动重载。 这将在配置文件设置中设置相应的复选框:

    CMake 配置文件自动重新加载

更改工具链

默认情况下,加载的预设链接到默认的 CLion 工具链

要设置已配置的工具链之一,请修改 configure 预设的供应商特定字段。

例如,使用以下代码切换到名为 Clang10 的工具链:

"vendor": { "jetbrains.com/clion": { "toolchain": "Clang10" } }

结果是,Clang10 工具链将被分配给加载的预设:

已加载的 CMake 预设

在 Windows 上,如果您使用的是 MSVC 工具链configure 预设中的架构和工具集属性也会被提取到 CMake 选项中:

CMake 预设 MSVC 选项

条件支持

CLion 支持 condition 字段,用于在 CMakePresets.json CMakeUserPresets.json 文件中过滤预设。 请注意,仅支持 equalsnotEquals 类型。

以下是按平台过滤预设的示例:

{ "name": "windows-only", "inherits": "default", "displayName": "Windows-only configuration", "description": "This build is only available on Windows", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" } }

配置按平台过滤后,相应的预设将仅出现在为其启用的平台的 预设配置文件列表 中。

CMake 文档 中了解有关 condition 字段选项的更多信息。

Python 集成

如果您的项目配置了 Python 解释器 ,它也可以传递到 CMake 预设中。 这需要在预设属性中显式设置 enablePythonIntegration 标志。 以下是一个示例:

... "configurePresets": [ { "name": "default", "vendor": { "jetbrains.com/clion": { "toolchain": "Default", "enablePythonIntegration": true } } } ], ...

配置 vendor 字段后,Python 解释器将被传递到相应的 CMake 配置文件中。

最后修改日期: 2025年 9月 26日