nixpkgs/doc/hooks/meson.section.md
2023-10-27 16:59:43 +02:00

51 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`.
### `mesonInstallTags` {#mesoninstalltags}
Tags specified here will be passed to Meson as via `--tags` during
installation and controls which components will be installed.
### `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`.