diff options
Diffstat (limited to 'pkgs/development/tools/build-managers/meson/setup-hook.sh')
-rw-r--r-- | pkgs/development/tools/build-managers/meson/setup-hook.sh | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/pkgs/development/tools/build-managers/meson/setup-hook.sh b/pkgs/development/tools/build-managers/meson/setup-hook.sh index 6305a405af2..dc7780b2fd3 100644 --- a/pkgs/development/tools/build-managers/meson/setup-hook.sh +++ b/pkgs/development/tools/build-managers/meson/setup-hook.sh @@ -28,14 +28,43 @@ mesonConfigurePhase() { echo "meson: enabled parallel building" fi - if ! [[ -v enableParallelInstalling ]]; then - enableParallelInstalling=1 - echo "meson: enabled parallel installing" + if [[ ${checkPhase-ninjaCheckPhase} = ninjaCheckPhase && -z $dontUseMesonCheck ]]; then + checkPhase=mesonCheckPhase + fi + if [[ ${installPhase-ninjaInstallPhase} = ninjaInstallPhase && -z $dontUseMesonInstall ]]; then + installPhase=mesonInstallPhase fi runHook postConfigure } +mesonCheckPhase() { + runHook preCheck + + local flagsArray=($mesonCheckFlags "${mesonCheckFlagsArray[@]}") + + echoCmd 'check flags' "${flagsArray[@]}" + meson test --no-rebuild "${flagsArray[@]}" + + runHook postCheck +} + +mesonInstallPhase() { + runHook preInstall + + # shellcheck disable=SC2086 + local flagsArray=($mesonInstallFlags "${mesonInstallFlagsArray[@]}") + + if [[ -n "$mesonInstallTags" ]]; then + flagsArray+=("--tags" "${mesonInstallTags// /,}") + fi + + echoCmd 'install flags' "${flagsArray[@]}" + meson install --no-rebuild "${flagsArray[@]}" + + runHook postInstall +} + if [ -z "${dontUseMesonConfigure-}" -a -z "${configurePhase-}" ]; then setOutputFlags= configurePhase=mesonConfigurePhase |