From ed4cd363b189415e08fcb7930347a188fe25d9c1 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sun, 14 Aug 2016 18:05:59 +0200 Subject: Fix missing qmlplugindump_wrapper.sh (debug_and_release) qtPrepareTool() must be called outside a build pass, as it protects against concurrent wrapper creation by omitting it during build passes. Change-Id: I7cf080cf78d1099e4893a204ea40d8c6bc63af58 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/qml_plugin.prf | 42 ++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) (limited to 'mkspecs/features/qml_plugin.prf') diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf index 9661da9e8d..ebec1db8da 100644 --- a/mkspecs/features/qml_plugin.prf +++ b/mkspecs/features/qml_plugin.prf @@ -73,6 +73,29 @@ load(qt_common) # directory. Then review and commit the changes made to plugins.qmltypes. # !cross_compile { + qml1_target { + qmlplugindump = qml1plugindump + importpath.name = QML_IMPORT_PATH + } else { + qmlplugindump = qmlplugindump + importpath.name = QML2_IMPORT_PATH + } + importpath.value = + for(qmod, QTREPOS) { + qml1_target: \ + qmod = $$qmod/imports + else: \ + qmod = $$qmod/qml + exists($$qmod): importpath.value += $$shell_path($$qmod) + } + importpath.value = $$unique(importpath.value) + QT_TOOL_ENV = importpath + qtPrepareTool(QMLPLUGINDUMP, $$qmlplugindump) + QT_TOOL_ENV = + + # qtPrepareTool() must be called outside a build pass, as it protects + # against concurrent wrapper creation by omitting it during build passes. + # However, creating the actual targets is reserved to the build passes. build_pass|!debug_and_release { isEmpty(IMPORT_VERSION) { no_cxx_module { @@ -84,25 +107,6 @@ load(qt_common) } load(resolve_target) - qml1_target { - qmlplugindump = qml1plugindump - importpath.name = QML_IMPORT_PATH - } else { - qmlplugindump = qmlplugindump - importpath.name = QML2_IMPORT_PATH - } - importpath.value = - for(qmod, QTREPOS) { - qml1_target: \ - qmod = $$qmod/imports - else: \ - qmod = $$qmod/qml - exists($$qmod): importpath.value += $$shell_path($$qmod) - } - importpath.value = $$unique(importpath.value) - QT_TOOL_ENV = importpath - qtPrepareTool(QMLPLUGINDUMP, $$qmlplugindump) - QT_TOOL_ENV = TARGETPATHBASE = $$replace(TARGETPATH, \\.\\d+\$, ) qmltypes.target = qmltypes qmltypes.commands = $$QMLPLUGINDUMP -nonrelocatable $$replace(TARGETPATHBASE, /, .) $$IMPORT_VERSION > $$QMLTYPEFILE -- cgit v1.2.3