summary refs log tree commit diff
path: root/doc/hooks/meson.section.md
blob: a4b8da1d46c41f7c2dace6ac342b4baf9ca476ed (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
# 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 Meson’s `configurePhase`.

### `dontUseMesonCheck` {#dontusemesoncheck}

Disables using Meson’s `checkPhase`.

### `dontUseMesonInstall` {#dontusemesoninstall}

Disables using Meson’s `installPhase`.