背景与介绍

最近在弄某个包的时候,发现其编译构建用的是meson,以前没接触过,顺道“科普”了下,简单大体的认识。
以前接触比较多的可能是autotoolsautogen.shautoconf,automake

官网:https://mesonbuild.com/
上面有详细的文档,手册,包括介绍,怎么获取等等
它支持Linux, Windows and macOS等,适用于交叉编译
由Python实现

一般将MesonNinja配合使用,Meson负责构建项目依赖关系,Ninja进行编译
Ninja是一个轻量的构建系统,由Google推出,Android系统也是用它构建。

它与其他构建系统的区别主要在于两个方面:1. Ninja被设计成需要一个输入文件的形式,这个输入文件则由高级别的构建系统生成;2. Ninja被设计成尽可能快速执行构建的工具。

简单使用 meson 构建编译代码

这里只是简单介绍,此前提是该源码是别人现成的,已配置好meson,只需要构建编译;
如果是自己新建的工程,则需要配置工程的meson编译环境,具体的可参考官方文档,或下面的参考链接。

#安装
##安装pip3,有些系统默认没有安装
sudo apt install python3-pip
sudo pip3 install meson ninja

#安装编译器
sudo apt-get install ninja-build
#sudo apt-get install valac

#构建
meson build
#编译
ninja

参考

https://www.yuque.com/espresso-ebgp0/build/wadn0g