1.生成ninja需要的中间文件
# meson configure //查看配置
# meson build --prefix=/usr -Dgtk_doc=disabled -Dtests=disabled\
-Dc_args=gcc -g \
-Dc_link_args=-lrt \
-Dcxx_args=g++ -g \
-Dcxx_link_args=-lrt \
-Dfortan_args=gcc -g \
-Dfortran_link_args=-lrt
注意:
--prefix:指定安装的位置,so库和头文件会链接到/usr目录
build:编译源码暂时生成的中间文件位置
-Dc_args:C语言编译选项
-Dc_link_args:C语言链接-lrt库(/usr/lib/librt.so)
-Dcxx_args:C++语言编译选项
-Dcxx_link_args:C++语言链接-lrt库(/usr/lib/librt.so)
这些生成在当前文件的build.ninja文件中
2.编译
# ninja -C build
3.安装到/usr目录下
# ninja -C build install
4.默认的meson会安装到/usr/local目录,我们可以在setup的时候,使用-–prefix=/my/prefix来修改安装目录。
meson同时还支持DESTDIR环境变量来修改安装目录
# DESTDIR=/home ninja -C builddir install
注意:
# meson build --prefix=/usr // /usr是so和头文件库链接的位置
# DESTDIR=/home ninja -C build install // /home是so和头文件安装的位置
或者
# rm -rf build/*
# meson build -Dprefix=/usr -Dtests=disabled
# ninja -C build
# DESTDIR=$RPM_BUILD_ROOT ninja -C build install