Meson (Build-System)
# Meson (Build-System)

Meson ist ein Build-System, d. h. ein Software-Paket, das Programmquellcode und Abhängigkeiten wie Bilder und Icons zu einem ausführbaren Programm kompiliert und linkt. Meson steht unter der Apache-2.0-Lizenz. Es ist plattformunabhängig und unterstützt Betriebssysteme wie Linux, macOS und Microsoft Windows. Meson kann Programme aus Quelltext in verschiedenen Programmiersprachen erstellen. Es eignet sich unter anderem zum Erstellen lauffähiger Programme aus Code in C, C++, D, Fortran, Java und Rust. Meson eignet sich zum Cross-Kompilieren. So kann zum Beispiel auf einem Computer mit Windows als Betriebssystem eine ausführbare Datei für das Betriebssystem Linux erstellt werden. Nach Angaben der Entwickler ist das Buildsystem auf Geschwindigkeit optimiert. Damit lauffähige Programme entstehen können, muss Meson konfiguriert werden. Meson verwendet dafür eine Beschreibungssprache, welche auf Python aufgebaut ist. Der Compiler muss wissen, was er zu tun hat, also welche Quellcodedateien er in welche Programme umwandeln muss.
Meson wurde ab Dezember 2012 vom finnischen Programmierer Jussi Pakkanen entwickelt. Pakkanen war frustriert über die bestehenden Systeme, welche lauffähige Programme entwickeln konnten. Es sollte einfach zu benutzen sein, auf allen gängigen Betriebssystemen funktionieren und eine Testumgebung integrieren. Nach zwei Monaten veröffentlichte er die erste Version. Ursprünglich unterstützte Meson nur die Programmiersprachen C, C++, Java, und Vala.

## Voraussetzungen

Voraussetzung sind Python (Version 3.6 oder höher) und das Buildsystem Ninja. Bei mesonbuild.com gibt es einen Schnelleinstieg und weitere Dokumentationen.

## Verwendung

systemd unterstützt Meson seit Version 234, ab 235 wird dieses ausschließlich genutzt. Das Gnome-Projekt hat sich zum Ziel gesetzt, seine Komponenten vollständig auf Meson zu migrieren. Der X.Org-Server setzt ab Version 21.1 vollständig auf Meson. Ebenso unterstützt Mesa 3D Meson zumindest teilweise. Auf der Meson-Projektseite werden weitere Anwender der Software genannt.
Bei Eclipse/CDT gibt es Projektunterstützung für Meson. KDevelop unterstützt Meson seit KDevelop Version 5.4.