meson/setup-hook.sh: make build directory configurable (#342868)

This commit is contained in:
John Ericson 2024-10-21 17:31:27 -04:00 committed by GitHub
commit 53c11b7bb7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 2 deletions

View file

@ -18,6 +18,16 @@ setup hook registering ninja-based build and install phases.
Controls the flags passed to `meson setup` during configure phase.
#### `mesonBuildDir` {#meson-build-dir}
Directory where Meson will put intermediate files.
Setting this can be useful for debugging multiple Meson builds while in the same source directory, for example, when building for different platforms.
Different values for each build will prevent build artefacts from interefering with each other.
This setting has no tangible effect when running the build in a sandboxed derivation.
The default value is `build`.
#### `mesonWrapMode` {#meson-wrap-mode}
Which value is passed as

View file

@ -3,6 +3,8 @@
mesonConfigurePhase() {
runHook preConfigure
: ${mesonBuildDir:=build}
local flagsArray=()
if [ -z "${dontAddPrefix-}" ]; then
@ -28,8 +30,8 @@ mesonConfigurePhase() {
echoCmd 'mesonConfigurePhase flags' "${flagsArray[@]}"
meson setup build "${flagsArray[@]}"
cd build || { echoCmd 'mesonConfigurePhase' "could not cd to build"; exit 1; }
meson setup "$mesonBuildDir" "${flagsArray[@]}"
cd "$mesonBuildDir" || { echoCmd 'mesonConfigurePhase' "could not cd to $mesonBuildDir"; exit 1; }
if ! [[ -v enableParallelBuilding ]]; then
enableParallelBuilding=1