From 829da623961b9d4e8c3a2236cb9580dec97c2483 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Wed, 6 May 2020 10:32:01 +0200 Subject: Fix parallel installation of qmltypes in a debug and release build This duplicates the logic in qtbase/mkspecs/features/qml_module.prf to handle this situation (also for Android builds with multiple ABI's). Fixes: QTBUG-84019 Change-Id: I9ccbe4a3a79bb979bd6bb2758adb8c2e1ea7903e Reviewed-by: Joerg Bornemann --- src/qmltyperegistrar/qmltypes.prf | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/qmltyperegistrar/qmltypes.prf b/src/qmltyperegistrar/qmltypes.prf index 0d5a6ded24..4b112351ec 100644 --- a/src/qmltyperegistrar/qmltypes.prf +++ b/src/qmltyperegistrar/qmltypes.prf @@ -85,13 +85,25 @@ qmltyperegistrar_qmltypes.CONFIG = no_link qmltyperegistrar_qmltypes.commands = $$escape_expand(\\n) # force creation of rule install_qmltypes { - isEmpty(QMLTYPES_INSTALL_DIR): \ - QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/$$TARGETPATH - do_install_qmltypes.files = $$OUT_PWD/$$QMLTYPES_FILENAME - do_install_qmltypes.path = $$QMLTYPES_INSTALL_DIR - do_install_qmltypes.CONFIG += no_check_exist - prefix_build: INSTALLS += do_install_qmltypes - else: COPIES += do_install_qmltypes + INSTALL_QML_FILES = false + + android { + build_pass { + isEmpty(ANDROID_ABIS): ANDROID_ABIS = $$ALL_ANDROID_ABIS + ABI = $$first(ANDROID_ABIS) + equals(ABI, $$QT_ARCH): INSTALL_QML_FILES = true + } + } else: !debug_and_release|!build_all|CONFIG(release, debug|release): INSTALL_QML_FILES = true + + equals(INSTALL_QML_FILES, true) { + isEmpty(QMLTYPES_INSTALL_DIR): \ + QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/$$TARGETPATH + do_install_qmltypes.files = $$OUT_PWD/$$QMLTYPES_FILENAME + do_install_qmltypes.path = $$QMLTYPES_INSTALL_DIR + do_install_qmltypes.CONFIG += no_check_exist + prefix_build: INSTALLS += do_install_qmltypes + else: COPIES += do_install_qmltypes + } } QMAKE_EXTRA_COMPILERS += qmltyperegistrar_compiler qmltyperegistrar_qmltypes -- cgit v1.2.3