Meson¶
The Meson()
build helper is intended to be used in the build()
and package()
methods, to call Meson commands automatically.
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()
Reference¶
- class Meson(conanfile)¶
This class calls Meson commands when a package is being built. Notice that this one should be used together with the
MesonToolchain
generator.- Parameters:
conanfile –
< ConanFile object >
The current recipe object. Always useself
.
- configure(reconfigure=False)¶
Runs
meson setup [FILE] "BUILD_FOLDER" "SOURCE_FOLDER" [-Dprefix=PACKAGE_FOLDER]
command, whereFILE
could be--native-file conan_meson_native.ini
(if native builds) or--cross-file conan_meson_cross.ini
(if cross builds).- Parameters:
reconfigure –
bool
value that adds--reconfigure
param to the final command.
- build(target=None)¶
Runs
meson compile -C . -j[N_JOBS] [TARGET]
in the build folder. You can specifyN_JOBS
through the configuration linetools.build:jobs=N_JOBS
in your profile[conf]
section.- Parameters:
target –
str
Specifies the target to be executed.
- install()¶
Runs
meson install -C "."
in the build folder. Notice that it will executeself.configure(reconfigure=True)
at first.
- test()¶
Runs
meson test -v -C "."
in the build folder.
conf¶
The Meson
build helper is affected by these [conf]
variables:
tools.meson.mesontoolchain:extra_machine_files=[<FILENAME>]
configuration to add your machine files at the end of the command using the correct parameter depending on native or cross builds. See this Meson reference for more information.tools.compilation:verbosity
which accepts one ofquiet
orverbose
and sets the--verbose
flag inMeson.build()
tools.build:verbosity
which accepts one ofquiet
orverbose
and sets the--quiet
flag inMeson.install()