Meson 1.4.0, the latest version of the assembly system, has been released. Meson is a widely used tool for projects such as X.org Server, Mesa, Lighttpd, Systemd, Gstreamer, Wayland, Gnome, and GTK. The code of Meson is written in Python and is available under the Apache 2.0 license. The primary aim of Meson’s development is to provide a fast and user-friendly assembly process. The system uses Ninja tools by default instead of the MAKE utility, but other backends like Xcode and Visual Studio can also be utilized. Meson features a versatile dependency processor, allowing for the assembly of packages for distributions. The assembly rules are structured in a straightforward, subject-oriented language to ensure readability and ease of use.
Meson supports cross-compilation and assembly on various operating systems including Linux, Illumos/Solaris, FreeBSD, NetBSD, Dragonfly BSD, Haiku, MacOS, and Windows. Projects can be assembled in multiple programming languages such as C, C++, Fortran, Java, and Rust. The incidental assembly mode enables the reconfiguration of only components related to recent changes, ensuring efficient assembly processes. Meson also facilitates repeated assemblies across different environments to generate identical executable files.
The latest innovations in Meson 1.4.0 include:
- Support for assembly target objects such as D_TGT, cubeom_tgt, and cubom_idx.
- Capability to read project versions from sub-projects based on CMAKE.
- Option to control Assert Cares (GlibCXX_ASSERTIONS) to C++ StDLIB through the NDEBUG setting.
- Addition of Clang support to the Stldebug.
- Introduction of the ‘unset()’ method to the env object.
- Inclusion of the Full_Path() method in the File object to obtain the full file path.
- Support for specifying custom dependencies for Numpy (Dependency(‘Numpy’)).