跨平台开源构建脚本生成器 CMake 4.1.0 发布,作为 Autotools 的替代品,用于 KDE、LLVM/Clang、MySQL、MariaDB、ReactOS 和 Blender 等项目。 CMake 代码用 C++ 编写,并根据 BSD 许可分发。
CMake 因提供简单的脚本语言、通过模块扩展功能的工具、缓存支持、交叉编译工具的存在、为各种构建系统和编译器生成构建文件的支持、ctest 和 cpack 的存在而闻名。用于定义测试脚本和构建包的实用程序,以及用于交互式配置构建参数的 cmake 实用程序 -gui。
主要变化:
- cmake-configure-log 确保 find_package()、find_path()、find_file()、find_library() 和 find_program() 命令的事件在第一次调用时打印出来,此时结果状态从“未找到”变为“找到”。
- cmake_pkg_config() 命令已更新,支持 IMPORT 和 POPULATE 子命令来处理基于 pkg-config 的依赖项。
- 添加了变量 CMAKE_FIND_REQUIRED,用于设置 find_package()、find_path()、find_file()、find_library() 和 find_program() 命令中的 REQUIRED 模式。要忽略命令中的变量值,可以使用 OPTIONAL 关键字。
- FindBLAS 和 FindLAPACK 模块实现了对 NVPL(NVIDIA 性能库)的支持。
- 字符串(REGEX MATCHALL)、字符串(REGEX REPLACE)和列表(TRANSFORM REPLACE)操作现在支持正则表达式中的起始标记(“^”)。
- TARGET_PROPERTY 生成器表达式现在涵盖 LINK_LIBRARIES 和 INTERFACE_LINK_LIBRARIES 属性。
来源: opennet.ru
