一· 搭建meson環境並簡單編譯:
1. 什么是meson
Meson 旨在開發最具可用性和快速的構建系統。提供簡單但強大的聲明式語言用來描述構建。原生支持最新的工具和框架,如 Qt5 、代碼覆蓋率、單元測試和預編譯頭文件等。利用一組優化技術來快速變異代碼,包括增量編譯和完全編譯。
2. 安裝meson
注意:meson安裝前必須確認是否已經安裝python3.5及以上版本;因為meson依賴於python3和ninja
2.1 安裝python3和ninja: sudo apt-get install python3 python3-pip ninja-build
2.2 切換至python3:
Ubuntu系統上一般默認安裝了python2.7,因此如果安裝了python3系統還是默認使用python2.7,因此需要切換至python3。
sudo rm /usr/bin/python3
sudo ln -s /usr/bin/python3.5 /usr/bin/python3
2.3 安裝meson:pip3 install --user meson
3. 編譯C代碼
3.1 下面寫一個簡單的程序(main.c):
#include<stdio.h>
int main(int argc, char **argv) {
printf("Hello meson!.\n");
return 0;
}
3.2 創建文件meson.build,內容如下:
project('tutorial', 'c')
executable('demo', 'main.c')
3.3 執行
$ meson build
3.4 進入 build目錄,執行ninja
$cd ninja && ninja
njnja 相當於 make, 所以上面會編譯代碼,生成可執行文件 demo.
3.5 編譯完成
$ ./demo
二· 編譯開源代碼
1. 查看是否支持meson編譯
現在很多開源代碼都轉向meson進行構建和編譯了,例如gsreamer,pulseaudio等這時候你可以在代碼根目錄下看到很meson.build文件,並且每個子目錄頁包含meson.build文件;
1. 查看支持哪些編譯選項(哪些模塊需要編譯)
#meson configure