The release of the Meson 0.50 build system is introduced, which is used to build projects such as X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME and GTK +. Meson code is written in Python and comes under the Apache 2.0 license.
The key development goal of Meson is to ensure a high speed of the assembly process, combined with convenience and ease of use. Instead of the make utility, the Ninja toolkit is used in the default build, but other backends can also be used, such as xcode and VisualStudio. A multi-platform dependency handler is built into the system, allowing you to use Meson to build packages for distributions. The build rules are set in a simplified domain-specific language, are well readable and understandable to the user (according to the authors' idea, the developer should spend the least amount of time writing the rules).
Cross-compilation and build on Linux, macOS and Windows using GCC, Clang, Visual Studio and other compilers are supported. Building projects in various programming languages is possible, including C, C ++, Fortran, Java and Rust. An incremental build mode is supported, in which only components directly related to changes made since the last build are reassembled. Meson can be used to form repeatable assemblies, in which the launch of an assembly in different environments leads to the generation of completely identical executable files.