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 对象 >当前配方对象。始终使用- 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¶
构建助手 Meson 受以下 [conf] 变量的影响:
- 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标志设置值。
- tools.build:install_strip(自 Conan 2.18.0 起) 如果设置为- True,则会将- --strip传递给- meson install调用。