Meson 範例

一個用來建置執行檔的 Meson 檔案看起來像這樣。

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

所有 Meson 建置定義都以 project 命令開始。它指定專案的名稱和它使用的程式語言。這裡的專案稱為 simple,並且只使用 C 程式語言。所有的字串都是單引號括起來的。

在下一行,我們定義一個建置目標,在這個例子中是一個稱為 myexe 的執行檔。它由一個原始碼檔案組成。這就是使用者使用 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)

這兩種格式是等效的,選擇其中一種主要取決於個人偏好。

executable 命令實際上會傳回一個執行檔物件,它代表給定的建置目標。它可以傳遞給其他函式,就像這樣。

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

在這裡,我們建立一個稱為 簡單測試 的單元測試,它使用已建置的執行檔。當使用 meson test 命令執行測試時,會執行已建置的執行檔。如果它返回零,則測試通過。非零的傳回值表示錯誤,Meson 會將該錯誤報告給使用者。

給 Visual Studio 使用者的注意事項

Meson 和 Visual Studio 的術語略有不同。Meson 的專案相當於 Visual Studio 的解決方案。也就是說,包含所有要建置內容的最上層項目。另一方面,Visual Studio 的專案相當於 Meson 的頂層建置目標,例如執行檔或共享函式庫。

搜尋結果如下