summaryrefslogtreecommitdiffstats
path: root/cmake/QtResource.cmake.in
diff options
context:
space:
mode:
authorLeander Beernaert <leander.beernaert@qt.io>2019-09-16 09:49:40 +0200
committerLeander Beernaert <leander.beernaert@qt.io>2019-09-16 11:41:48 +0000
commit21dd3624a5897175f6a78e25a09163f14e6baab8 (patch)
tree51676eda86e23f40cb53ca3a45330d6e22c78273 /cmake/QtResource.cmake.in
parent5884f793b9248d95a923a33663aa26386a6c4bbd (diff)
Fix OUTPUT_TARGET propagation in qt6_add_resource()
Value was not being propagated to the parent scope when set. This patch also changes OUTPUT_TARGET to OUTPUT_TARGETS since it is possible that two targets can be generated. Change-Id: If489a609ed363a319224fcd6c5a4fc878d0d8617 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
Diffstat (limited to 'cmake/QtResource.cmake.in')
-rw-r--r--cmake/QtResource.cmake.in19
1 files changed, 11 insertions, 8 deletions
diff --git a/cmake/QtResource.cmake.in b/cmake/QtResource.cmake.in
index 7d90d6be20..0c088bee8e 100644
--- a/cmake/QtResource.cmake.in
+++ b/cmake/QtResource.cmake.in
@@ -180,17 +180,18 @@ endfunction()
# Alias settings for files need to be set via the QT_RESOURCE_ALIAS property
# via the set_soure_files_properties() command.
#
-# When using this command with static libraries, a special target will be
-# generated. Should you wish to perform additional processing on said target
-# pass a value to the OUTPUT_TARGET parameter.
+# When using this command with static libraries, one or more special targets
+# will be generated. Should you wish to perform additional processing on these
+# targets pass a value to the OUTPUT_TARGETS parameter.
#
function(QT@PROJECT_VERSION_MAJOR@_PROCESS_RESOURCE target resourceName)
- cmake_parse_arguments(rcc "" "PREFIX;LANG;BASE;OUTPUT_TARGET" "FILES" ${ARGN})
+ cmake_parse_arguments(rcc "" "PREFIX;LANG;BASE;OUTPUT_TARGETS" "FILES" ${ARGN})
string(REPLACE "/" "_" resourceName ${resourceName})
string(REPLACE "." "_" resourceName ${resourceName})
+ set(output_targets "")
# Apply base to all files
if (rcc_BASE)
foreach(file IN LISTS rcc_FILES)
@@ -227,11 +228,12 @@ function(QT@PROJECT_VERSION_MAJOR@_PROCESS_RESOURCE target resourceName)
)
if (NOT resources)
- if (rcc_OUTPUT_TARGET)
- set(${rcc_OUTPUT_TARGET} "${output_target}" PARENT_SCOPE)
+ if (rcc_OUTPUT_TARGETS)
+ set(${rcc_OUTPUT_TARGETS} "${output_target}" PARENT_SCOPE)
endif()
return()
endif()
+ list(APPEND output_targets ${output_target})
set(generatedResourceFile "${CMAKE_CURRENT_BINARY_DIR}/generated_${newResourceName}.qrc")
set(generatedSourceCode "${CMAKE_CURRENT_BINARY_DIR}/qrc_${newResourceName}.cpp")
@@ -281,10 +283,11 @@ function(QT@PROJECT_VERSION_MAJOR@_PROCESS_RESOURCE target resourceName)
# qml cache loader
if(newResourceName STREQUAL resourceName)
__qt_propagate_generated_resource(${target} ${resourceName} "${generatedSourceCode}" output_target)
+ list(APPEND output_targets ${output_target})
else()
target_sources(${target} PRIVATE "${generatedSourceCode}")
endif()
- if (rcc_OUTPUT_TARGET)
- set(${rcc_OUTPUT_TARGET} "${output_target}" PARENT_SCOPE)
+ if (rcc_OUTPUT_TARGETS)
+ set(${rcc_OUTPUT_TARGETS} "${output_targets}" PARENT_SCOPE)
endif()
endfunction()