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

 

 https://mesonbuild.com/

 

作者:John.Leng
本文版权归作者所有,欢迎转载,商业转载请联系作者获得授权,非商业转载请在文章页面明显位置给出原文连接.
posted @ 2019-04-30 14:50  John.Leng  阅读(20057)  评论(0编辑  收藏  举报