diff options
Diffstat (limited to 'pkgs/development/libraries/qt-6/hooks/qmake-hook.sh')
-rw-r--r-- | pkgs/development/libraries/qt-6/hooks/qmake-hook.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh new file mode 100644 index 00000000000..ec1d2ea6124 --- /dev/null +++ b/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh @@ -0,0 +1,48 @@ +. @fix_qmake_libtool@ + +qmakeFlags=(${qmakeFlags-}) + +qmakePrePhase() { + qmakeFlags_orig=("${qmakeFlags[@]}") + + # These flags must be added _before_ the flags specified in the derivation. + # TODO: these flags also need a patch which isn't applied + # can we either remove these flags or update the qt5 patch? + # "NIX_OUTPUT_DOC=${!outputDev}/${qtDocPrefix:?}" \ + qmakeFlags=( + "PREFIX=$out" + "NIX_OUTPUT_OUT=$out" + "NIX_OUTPUT_DEV=${!outputDev}" + "NIX_OUTPUT_BIN=${!outputBin}" + "NIX_OUTPUT_QML=${!outputBin}/${qtQmlPrefix:?}" + "NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?}" + ) + + if [ -n "@debug@" ]; then + qmakeFlags+=("CONFIG+=debug") + else + qmakeFlags+=("CONFIG+=release") + fi + + qmakeFlags+=("${qmakeFlags_orig[@]}") +} +prePhases+=" qmakePrePhase" + +qmakeConfigurePhase() { + runHook preConfigure + + echo "QMAKEPATH=$QMAKEPATH" + echo qmake "${qmakeFlags[@]}" + qmake "${qmakeFlags[@]}" + + if ! [[ -v enableParallelBuilding ]]; then + enableParallelBuilding=1 + echo "qmake: enabled parallel building" + fi + + runHook postConfigure +} + +if [ -z "${dontUseQmakeConfigure-}" -a -z "${configurePhase-}" ]; then + configurePhase=qmakeConfigurePhase +fi |