CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。
CMake 3.30.0 现已发布,一些亮点更新内容如下:
-
“cmake-presets(7)” 文件现在支持 schema version“9”。 “include”字段现在扩展除“$env{}” 和 preset-specific 宏(即从预设定义内的字段派生的宏)之外的所有宏。
-
“Compile Features”功能现在实现了对“cxx_std_26”和“cuda_std_26”meta-features 的支持,以表明编译器模式必须至少为 C++26。这些 meta-features 最初由 CMake 3.25 记录,但尚未完全实现。
-
添加了“CMAKE_<LANG>_STANDARD_LATEST”,用于描述 CMake 为所选编译器支持的最新"<LANG>"语言标准。
-
添加了“CMAKE_TLS_VERSION”变量和“CMAKE_TLS_VERSION”环境变量,用于指定通过"file(DOWNLOAD) "和 "file(UPLOAD)"命令连接到"https://"URL 时的默认最低 TLS 版本。
-
“GENERATED”源文件属性现在在所有目录中都可见。参阅策略“CMP0163”。策略“CMP0118”的文档已修订,以描述其实际效果。
-
Windows上的“FindPython”、“FindPython2”和“FindPython3”模块现在为 Python 调试变体提供了更好的支持。
-
“TARGET_PROPERTY”生成器表达式学会了评估由新的 “TRANSITIVE_COMPILE_PROPERTIES” 和“TRANSITIVE_LINK_PROPERTIES”目标属性定义的自定义传递属性 。
-
“CPack WIX Generator”已获得对 WiX Toolset v4 的支持。参阅“CPACK_WIX_VERSION”变量。
-
已根据策略“CMP0167”删除了“FindBoost”模块。将项目移植到上游 Boost 的“BoostConfig.cmake”包配置文件,现在“find_package(Boost)”会搜索该文件。
-
cmake.org 上提供的预编译 Windows“.msi”安装程序在执行全新安装时,现在会默认修改系统范围的“PATH”。
详情可查看发布公告。
下载:https://cmake.org/download/