nixpkgs/doc/hooks/meson.section.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

55 lines
1.8 KiB
Markdown
Raw Normal View History

# Meson {#meson}
Overrides the configure, check, and install phases to run `meson setup`, `meson test`, and `meson install`.
Meson is a meta-build system so you will need a secondary build system to run the generated build files in build phase. In Nixpkgs context, you will want to accompany Meson with ninja, which provides a [setup hook](#ninja) registering a ninja-based build phase.
By default, `enableParallelBuilding` is enabled as Meson supports parallel building almost everywhere.
## Variables controlling Meson {#variables-controlling-meson}
### `mesonFlags` {#mesonflags}
Controls the flags passed to `meson setup`.
### `mesonCheckFlags` {#mesoncheckflags}
Controls the flags passed to `meson test`.
### `mesonInstallFlags` {#mesoninstallflags}
Controls the flags passed to `meson install`.
### `mesonBuildType` {#mesonbuildtype}
Which [`--buildtype`](https://mesonbuild.com/Builtin-options.html#core-options) to pass to `meson setup`. We default to `plain`.
### `mesonAutoFeatures` {#mesonautofeatures}
What value to set [`-Dauto_features=`](https://mesonbuild.com/Builtin-options.html#core-options) to. We default to `enabled`.
### `mesonWrapMode` {#mesonwrapmode}
What value to set [`-Dwrap_mode=`](https://mesonbuild.com/Builtin-options.html#core-options) to. We default to `nodownload` as we disallow network access.
### `dontUseMesonConfigure` {#dontusemesonconfigure}
Disables using Mesons `configurePhase`.
### `dontUseMesonCheck` {#dontusemesoncheck}
Disables using Mesons `checkPhase`.
### `dontUseMesonInstall` {#dontusemesoninstall}
Disables using Mesons `installPhase`.
### `mesonInstallFlags` {#mesoninstallflags}
Controls the flags passed to meson install.
### `mesonInstallTags` (#mesoninstalltags)
Tags specified here will be passed to Meson as via `--tags` during
installation and controls which components will be installed.