CMake 3.31 发行说明

自 CMake 3.30 以来的更改包括以下内容。

新功能

预设

  • cmake-presets(7) 文件现在可以在 JSON 对象内的任何级别使用 $comment 键来包含注释,以提供文档。

  • cmake-presets(7) 文件现在可以使用配置预设中的 graphviz 键请求 Graphviz 输出。

生成器

命令行

  • cmake --workflow 模式现在接受预设名称作为第一个参数,从而允许使用更简单的命令行 cmake --workflow <preset>

  • 添加了 cmake -LR[A][H] 选项,用于列出名称与正则表达式匹配的缓存条目。

编译器

  • 现在通过 编译器 ID LFortran 支持 LFortran 编译器。

命令

  • add_custom_command() 命令新增了 CODEGEN 选项,用于将自定义命令的输出标记为 codegen 目标的依赖项。请参阅策略 CMP0171

  • cmake_pkg_config() 命令被添加为使用 CMake 原生 pkg-config 格式解析器的端点。此版本中唯一支持的选项是 EXTRACT,它提供对解析 pkg-config 文件产生的值的低级访问。对于大多数用户来说,这仍然不是 FindPkgConfig 模块的合适替代品。

  • file(ARCHIVE_CREATE) 命令新增了 WORKING_DIRECTORY 选项,用于为归档过程指定工作目录。

  • file(MAKE_DIRECTORY) 命令新增了 RESULT 选项,用于将失败捕获到结果变量中。

  • install(FILES)install(DIRECTORY) 命令的 TYPE 参数新增了对 LIBEXEC 类型的支持。

变量

属性

模块

CTest

  • ctest_submit() 命令和 ctest -T Submit 步骤现在默认会验证到 https:// URL 的连接的 TLS 服务器证书。有关详细信息,请参阅 CTEST_TLS_VERIFY 变量。

  • ctest_submit() 命令和 ctest -T Submit 步骤现在默认要求到 https:// URL 的连接使用 TLS 1.2 或更高版本。有关详细信息,请参阅 CTEST_TLS_VERSION 变量。

CPack

已弃用和已移除的功能

其他更改

更新

自 CMake 3.31.0 以来的更改包括以下内容。

3.31.1, 3.31.2, 3.31.3, 3.31.4, 3.31.5, 3.31.6, 3.31.7, 3.31.8

  • 这些版本未对已记录的功能或接口进行任何更改。为了支持生态系统更改和/或修复回归,进行了一些实现更新。