Meson¶
Meson 构建助手 Meson()
旨在用于 build()
和 package()
方法中,以自动调用 Meson 命令。
from conan import ConanFile
from conan.tools.meson import Meson
class PkgConan(ConanFile):
def build(self):
meson = Meson(self)
meson.configure()
meson.build()
def package(self):
meson = Meson(self)
meson.install()
参考¶
- class Meson(conanfile)¶
当构建包时,这个类会调用 Meson 命令。请注意,这个类应与
MesonToolchain
生成器一起使用。- 参数:
conanfile –
< ConanFile object >
当前的配方对象。始终使用self
。
- configure(reconfigure=False)¶
运行
meson setup [FILE] "BUILD_FOLDER" "SOURCE_FOLDER" [-Dprefix=/]
命令,其中FILE
可以是--native-file conan_meson_native.ini
(如果是原生构建) 或--cross-file conan_meson_cross.ini
(如果是交叉构建)。- 参数:
reconfigure –
bool
值,用于向最终命令添加--reconfigure
参数。
- build(target=None)¶
在构建文件夹中运行
meson compile -C . -j[N_JOBS] [TARGET]
命令。您可以通过配置文件[conf]
部分中的配置行tools.build:jobs=N_JOBS
来指定N_JOBS
。- 参数:
target –
str
指定要执行的目标。
- install()¶
在构建文件夹中运行
meson install -C "." --destdir
命令。
- test()¶
在构建文件夹中运行
meson test -v -C "."
命令。
conf¶
这些 [conf]
变量会影响 Meson
构建助手
tools.meson.mesontoolchain:extra_machine_files=[<FILENAME>]
配置,用于根据原生或交叉构建使用正确的参数在命令末尾添加您的 machine 文件。更多信息请参阅 此 Meson 参考。tools.compilation:verbosity
,接受quiet
或verbose
之一,并在Meson.build()
中设置--verbose
标志tools.build:verbosity
,接受quiet
或verbose
之一,并在Meson.install()
中设置--quiet
标志