Meson サンプル

実行ファイルをビルドする Meson ファイルは次のようになります。

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

Meson ビルド定義はすべて project コマンドで始まります。プロジェクトの名前とその言語を指定します。ここでプロジェクトは simple と呼ばれ、C プログラミング言語のみを使用します。すべての文字列は一重引用符で囲みます。

次の行では、ビルドターゲットを定義します。この場合は myexe という名前の実行ファイルになります。ソースファイルが 1 つあります。これは Meson で実行ファイルをコンパイルするためにユーザーが必要とするコードのすべてです。

変数は完全にサポートされています。上記のコードスニペットは次のように宣言することもできます。

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

ほとんどの実行ファイルは、複数のソースファイルから構成されています。これに対処するための最も簡単な方法は、それらを配列に入れることです。

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

Meson はまた、キーワード引数の概念をサポートします。実際、関数のほとんどの引数はそれらを使用してのみ渡すことができます。上記のコードスニペットは次のように書き直すことができます。

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

これらの 2 つの形式は同等であり、どちらかを選択するかはほとんど個人の好み次第です。

executable コマンドは実際には、指定されたビルドターゲットを表すexecutable オブジェクトを返します。次のように、他の関数に渡すことができます。

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

ここで、simple test という名前のユニットテストを作成し、ビルドされた実行ファイルを使用します。テストが meson test コマンドで実行されると、ビルドされた実行ファイルが実行されます。0 が返されると、テストは合格します。ゼロ以外の戻り値はエラーを示し、Meson はそれをユーザーに報告します。

Visual Studio ユーザーへの注意

Meson と Visual Studio の間にはわずかな用語の違いがあります。Meson のプロジェクトは、Visual Studio のソリューションと同じです。つまり、ビルドされるすべてを網羅する最上位のものです。一方、Visual Studio のプロジェクトは、実行ファイルや共有ライブラリなど、Meson のトップレベルビルドターゲットと同じです。

検索の結果は次のとおりです。