Meson-Beispiel

Eine Meson-Datei, die eine ausführbare Datei erstellt, sieht so aus.

project('simple', 'c')
executable('myexe', 'source.c')

Alle Meson-Build-Definitionen beginnen mit dem Befehl project. Er gibt den Namen des Projekts und die verwendeten Programmiersprachen an. Hier heißt das Projekt simple und es wird nur die Programmiersprache C verwendet. Alle Zeichenketten sind in einfachen Anführungszeichen gesetzt.

In der nächsten Zeile definieren wir ein Build-Ziel, in diesem Fall eine ausführbare Datei namens myexe. Sie besteht aus einer Quelldatei. Das ist alles, was ein Benutzer schreiben muss, um mit Meson eine ausführbare Datei zu kompilieren.

Variablen werden vollständig unterstützt. Der obige Code-Schnipsel hätte auch so deklariert werden können.

project('simple', 'c')
src = 'source.c'
executable('myexe', src)

Die meisten ausführbaren Dateien bestehen aus mehr als einer Quelldatei. Der einfachste Weg, damit umzugehen, ist, sie in einem Array abzulegen.

project('simple', 'c')
src = ['source1.c', 'source2.c', 'source3.c']
executable('myexe', src)

Meson unterstützt auch das Konzept der Schlüsselwortargumente. Tatsächlich können die meisten Argumente an Funktionen nur über diese übergeben werden. Der obige Schnipsel könnte wie folgt umgeschrieben werden.

project('simple', 'c')
src = ['source1.c', 'source2.c', 'source3.c']
executable('myexe', sources : src)

Diese beiden Formate sind äquivalent, und die Wahl des einen oder anderen ist meist eine Frage der persönlichen Vorliebe.

Der Befehl executable gibt tatsächlich ein ausführbares Objekt zurück, das das gegebene Build-Ziel repräsentiert. Es kann an andere Funktionen weitergegeben werden, wie hier.

project('simple', 'c')
src = ['source1.c', 'source2.c', 'source3.c']
exe = executable('myexe', src)
test('simple test', exe)

Hier erstellen wir einen Unit-Test namens simple test, der die erstellte ausführbare Datei verwendet. Wenn die Tests mit dem Befehl meson test ausgeführt werden, wird die erstellte ausführbare Datei ausgeführt. Wenn sie Null zurückgibt, ist der Test bestanden. Ein Rückgabewert ungleich Null zeigt einen Fehler an, den Meson dann dem Benutzer meldet.

Hinweis für Benutzer von Visual Studio

Es gibt einen geringfügigen Unterschied in der Terminologie zwischen Meson und Visual Studio. Ein Meson-Projekt ist das Äquivalent zu einer Visual Studio-Lösung. Das heißt, das oberste Element, das alle zu erstellenden Dinge umfasst. Ein Visual Studio-Projekt hingegen ist das Äquivalent zu einem Meson-Top-Level-Build-Ziel, wie z. B. einer ausführbaren Datei oder einer gemeinsam genutzten Bibliothek.

Die Ergebnisse der Suche sind