From c5777ad81cf395dfebbe46c629caca2b933d8008 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 27 Nov 2019 14:52:32 +0100 Subject: Fix calls to qtFlattenResources from outside resources.prf The xml_escape function must be part of resources_functions.prf, and the qmake_immediate resource must not be created multiple times. Instead, create another qmake_immediate resource with a number suffix. This commit amends 577b6554. Task-number: QTBUG-79672 Change-Id: Ibbe20c0fd1940f1fe7733cd1e5b0891f65689782 Reviewed-by: Oliver Wolff Reviewed-by: Kai Koehne --- mkspecs/features/resources.prf | 10 ---------- mkspecs/features/resources_functions.prf | 25 +++++++++++++++++++++---- 2 files changed, 21 insertions(+), 14 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf index ca95768de8..cee0981db0 100644 --- a/mkspecs/features/resources.prf +++ b/mkspecs/features/resources.prf @@ -6,16 +6,6 @@ isEmpty(QMAKE_MOD_RCC):QMAKE_MOD_RCC = qrc !contains(QMAKE_RESOURCE_FLAGS, -root):!isEmpty(QMAKE_RESOURCE_ROOT):QMAKE_RESOURCE_FLAGS += -root $$QMAKE_RESOURCE_ROOT !contains(QMAKE_RESOURCE_FLAGS, -name): QMAKE_RESOURCE_FLAGS += -name ${QMAKE_FILE_BASE} -# http://www.w3.org/TR/xml/#syntax -defineReplace(xml_escape) { - 1 ~= s,&,&, - 1 ~= s,\',', - 1 ~= s,\",", - 1 ~= s,<,<, - 1 ~= s,>,>, - return($$1) -} - load(resources_functions) qtFlattenResources() diff --git a/mkspecs/features/resources_functions.prf b/mkspecs/features/resources_functions.prf index f7fed9e524..b7a15fd1d9 100644 --- a/mkspecs/features/resources_functions.prf +++ b/mkspecs/features/resources_functions.prf @@ -1,5 +1,21 @@ +# http://www.w3.org/TR/xml/#syntax +defineReplace(xml_escape) { + 1 ~= s,&,&, + 1 ~= s,\',', + 1 ~= s,\",", + 1 ~= s,<,<, + 1 ~= s,>,>, + return($$1) +} + defineTest(qtFlattenResources) { - RESOURCES += qmake_immediate + immediate = qmake_immediate$$QMAKE_RESOURCES_IMMEDIATE_NR + defined(QMAKE_RESOURCES_IMMEDIATE_NR, var): \ + QMAKE_RESOURCES_IMMEDIATE_NR = $$num_add($$QMAKE_RESOURCES_IMMEDIATE_NR, 1) + else: \ + QMAKE_RESOURCES_IMMEDIATE_NR = 1 + + RESOURCES += $$immediate for(resource, RESOURCES) { # Regular case of user qrc file contains(resource, ".*\\.qrc$"): \ @@ -7,10 +23,10 @@ defineTest(qtFlattenResources) { # Fallback for stand-alone files/directories !defined($${resource}.files, var) { - !equals(resource, qmake_immediate) { + !equals(resource, $$immediate) { !exists($$absolute_path($$resource, $$_PRO_FILE_PWD_)): \ warning("Failure to find: $$resource") - qmake_immediate.files += $$resource + $${immediate}.files += $$resource OTHER_FILES *= $$resource } RESOURCES -= $$resource @@ -56,8 +72,9 @@ defineTest(qtFlattenResources) { RESOURCES -= $$resource RESOURCES += $$resource_file } + export(QMAKE_RESOURCES_IMMEDIATE_NR) export(RESOURCES) export(OTHER_FILES) - export(qmake_immediate.files) + export($${immediate}.files) return(true) } -- cgit v1.2.3