Benutzerdefinierte Build-Ziele
Obwohl Meson versucht, so viele Sprachen und Werkzeuge wie möglich zu unterstützen, gibt es keine Möglichkeit, alle Sonderfälle abzudecken. Für diese Fälle erlaubt es Ihnen, benutzerdefinierte Build-Ziele zu definieren. Hier ist, wie man es benutzen würde.
comp = find_program('custom_compiler')
infile = 'source_code.txt'
outfile = 'output.bin'
mytarget = custom_target('targetname',
output : outfile,
input : infile,
command : [comp, '@INPUT@', '@OUTPUT@'],
install : true,
install_dir : 'subdir')
Dies würde die Binärdatei output.bin generieren und sie nach ${prefix}/subdir/output.bin installieren. Die Variablensubstitution funktioniert genauso wie bei der Quellcode-Generierung.
Weitere Informationen zu diesem Thema finden Sie unter Quellcode-Generierung.
Details zur Befehlsausführung
Meson erlaubt Ihnen nur, einen einzigen Befehl zur Ausführung anzugeben. Dies ist beabsichtigt, da das Schreiben von Shell-Pipelines in Build-Definitionsdateien zu schwer zu wartendem Code führt. Wenn Ihr Befehl mehrere Schritte erfordert, müssen Sie ein Wrapper-Skript schreiben, das alle notwendigen Arbeiten erledigt.
Dabei müssen Sie die folgenden Punkte beachten:
- Gehen Sie nicht davon aus, dass der Befehl in einem bestimmten Verzeichnis aufgerufen wird.
- Eine Datei
outfileeines Ziels namenstarget, das im Unterverzeichnissubdirdefiniert ist, muss nachbuild_dir/subdir/foo.datgeschrieben werden. - Wenn Sie ein Unterverzeichnis für temporäre Dateien benötigen, verwenden Sie
build_dir/subdir/target.dir.
Die Ergebnisse der Suche sind