diff options
author | Leander Beernaert <leander.beernaert@qt.io> | 2019-09-16 09:49:40 +0200 |
---|---|---|
committer | Leander Beernaert <leander.beernaert@qt.io> | 2019-09-16 11:41:48 +0000 |
commit | 21dd3624a5897175f6a78e25a09163f14e6baab8 (patch) | |
tree | 51676eda86e23f40cb53ca3a45330d6e22c78273 /cmake/QtResource.cmake.in | |
parent | 5884f793b9248d95a923a33663aa26386a6c4bbd (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.in | 19 |
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() |