发布构建系统 CMake 3.21 和 Meson 0.59

发布了跨平台开放构建脚本生成器 CMake 3.21,它作为 Autotools 的替代品,用于 KDE、LLVM/Clang、MySQL、MariaDB、ReactOS 和 Blender 等项目。 CMake 代码是用 C++ 编写的,并在 BSD 许可证下分发。

CMake 因提供简单的脚本语言、通过模块扩展功能的方法、最少数量的依赖项(不绑定到 M4、Perl 或 Python)、缓存支持、交叉编译工具的存在、对生成构建的支持而闻名。用于各种构建系统和编译器的文件,用于定义测试脚本和构建包的 ctest 和 cpack 实用程序,用于交互式设置构建参数的 cmake-gui 实用程序。

主要改进:

  • 添加了对异构计算可移植接口 (HIP) 编程语言的全面支持,这是 C++ 语言的一种方言,旨在更轻松地将 CUDA 应用程序转换为可移植 C++ 代码。
  • 基于 Visual Studio 17 Preview 2022,添加了 Visual Studio 2022 1.1 的构建脚本生成器。
  • Makefile 和 Ninja 构建脚本生成器添加了 C_LINKER_LAUNCHER 和 CXX_LINKER_LAUNCHER 属性,可用于启动启动链接器的辅助实用程序,例如静态分析器。 生成器将运行指定的实用程序,并向它们传递链接器的名称及其参数。
  • 在属性“C_STANDARD”和“OBJC_STANDARD”以及用于设置编译器参数(编译功能)的工具中,添加了对 C17 和 C23 规范的支持。
  • cmake 实用程序中添加了选项“—toolchain” > 确定工具包的路径。
  • 终端上显示的消息类型会突出显示。
  • 添加了对 Fujitsu 编译器的支持。
  • “foreach()”命令确保循环变量在循环内相互隔离。

此外,我们还可以注意到 Meson 0.59 构建系统的发布,该系统用于构建 X.Org Server、Mesa、Lighttpd、systemd、GStreamer、Wayland、GNOME 和 GTK 等项目。 Meson 的代码是用 Python 编写的,并根据 Apache 2.0 许可证获得许可。 支持使用 GCC、Clang、Visual Studio 和其他编译器在 Linux、Illumos/Solaris、FreeBSD、NetBSD、DragonFly BSD、Haiku、macOS 和 Windows 上交叉编译和构建。 可以使用各种编程语言构建项目,包括 C、C++、Fortran、Java 和 Rust。 构建时默认使用 Ninja 工具包而不是 make 实用程序,但也可以使用其他后端,例如 xcode 和 VisualStudio。

系统有一个内置的多平台依赖处理程序,允许您使用 Meson 构建分发包。 汇编规则以简化的特定于域的语言指定,对于用户来说具有高度的可读性和可理解性(正如作者的意图,开发人员应该花费最少的时间编写规则)。 支持增量构建模式,其中仅重建与上次构建以来所做的更改直接相关的组件。 Meson 可用于生成可重复的构建,其中在不同的环境中运行构建会生成完全相同的可执行文件。

Meson 0.59的主要创新点:

  • 添加了对 Cython 语言(Python 的高级版本,旨在简化与 C 代码的集成)的支持。
  • 添加了关键字“unes​​caped_variables”和“unes​​caped_uninstalled_variables”来定义 pkgconfig 中的变量,而无需使用“\”字符转义空格。
  • 添加了对 wrc(Wine 资源编译器)的支持。
  • 已实现为 Visual Studio 2012 和 Visual Studio 2013 生成项目的功能。
  • 现在,所有与子项目相关的命令默认并行运行每个子项目。 并行进程的数量由“--num-processes”参数确定。

来源: opennet.ru

添加评论