目录
四、项目构建工具Meson、PyAnnolib、pyBit、Open Build Service介绍
一、meson和ninja简介
meson是用Python语言开发的构建工具,编译需要Ninja(用C++实现)命令。Meson 旨在开发最具可用性和快速的构建系统。
meson是用Python语言开发的构建工具。Meson 旨在开发最具可用性和快速的构建系统。提供简单但强大的声明式语言用来描述构建。
原生支持最新的工具和框架,如 Qt5 、代码覆盖率、单元测试和预编译头文件等。利用一组优化技术来快速变异代码,包括增量编译和完全编译。
我体会到使用meson的一个优点是当工程依赖一些库没有时,meson可以到git上自动下载并帮你安装,相比config要好。
编译和安装
当我们构建完成后我们需要进行编译,编译需要Ninja命令,同理,需要使用pip3进行下载
开源包的编译可能会出现下面转换
./autogen.sh && ./configure && make && sudo make install
变成了:
meson build && ninja -C build && sudo ninja -C build install
使用meson构建前相应的源码需要存在 meson.build构建描述文件
meson build 会生成build.ninja和compile_command.json
使用 Ninja 代替 make 编译安装
二、meson构建和ninja编译环境搭建
1 安装 meson meson依赖python3和ninja
apt install python3-pip
python3 -m pip install meson
python3 -m pip install ninja
我们需要安装 Ninja,只需要去官网下载一个 release 的二进制版本,放在系统目录(比如 /usr/bin)中就可以了,非常的简单。
下面简单介绍下通过编译 Ninja 源码的方式来安装 Ninja试用C++实现,其支持的语法非常简单
ninja是一个小型构建系统,专注于速度,和常用的make类似。ninja需要依赖于re2c,否则编译是会报错,re2c是一款语法分析器,
首先,确保已经安装了这些依赖:g++,graphviz,gtest,git,re2c 和 python2.7+。
获取源码 git clone git://github.com/ninja-build/ninja.git && cd ninja
bootstrap.py configure.py src/ misc /
我们可以去 HACKING.md 中查看更多信息。
编译
一切就绪之