Meson使用
安装
Meson是基于python3实现,至少需要python3.5才能运行,默认采用ninja作为后端。
在Ubuntu下最简单的是通过pip3安装
1 $ sudo apt-get install python3 python3-pip ninja-build 2 $ sudo pip3 install meson
也可以只将meson安装到当前用户目录下
1 $ pip3 install --user meson
这种方式会将meson安装到~/.local/bin目录下,因此需要将这个目录增加到PATH中。
在较老的系统中,需要更新ninja:
1 $ git clone -b release --single-branch https://github.com/ninja-build/ninja.git 2 $ cd ninja 3 $ ./configure.py --bootstrap 4 $ whereis ninja 5 ninja: /usr/bin/ninja /etc/ninja /usr/bin/X11/ninja 6 $ sudo cp ninja /usr/bin/ninja
一个简单的例子
1 $ cat > meson.build << EOF 2 > project('mesontest', 'c') 3 > executable('mesontest', test.c) 4 > EOF 5 6 $ meson builddir && cd builddir 7 $ ninja 8 $ ./mesontest 9 hello meson.
meson通过meson.build文件配置编译语言及文件,project指定项目名称及语言类型,executable指定可执行文件名及源文件。
通过Meson指定编译选项
通过"meson configure"命令查看meson内置的选项、默认值及可选值。
项目可以通过meson_options.txt来增加项目特有的选项。
1 $ meson configure 2 ... 3 Project options: 4 Option Default Value Possible Values Description 5 gtk_doc auto [enabled, disabled, auto] Generate API documentation with gtk-doc 6 ...
在生成编译配置时,可以通过 -D 指定编译选项:
1 $ meson builddir -Dprefix=/usr -Dgtk_doc=disabled -Dtests=disabled 2 $ cd builddir && ninja -j8 3 $ meson install
可以在源码根目录通过 configure更新编译选项,再执行ninja重新编译:
1 $ meson configure builddir -Dprefix=/home/dev/tmp