about summary refs log tree commit diff
path: root/doc/hooks/meson.section.md
blob: dc261271326af17f0184dc7d51e5c4cad475c47b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 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 Meson’s `configurePhase`.

### `dontUseMesonCheck` {#dontusemesoncheck}

Disables using Meson’s `checkPhase`.

### `dontUseMesonInstall` {#dontusemesoninstall}

Disables using Meson’s `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.