From 527f7b1f4b556507fecd551d95fca55f0f342d62 Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Mon, 6 Sep 2021 12:27:28 +1000 Subject: Fix OUTPUT_TARGETS not being set in parent scope in all cases Fix versionless wrapper functions that were previously not forwarding on any OUTPUT_TARGETS set by the versioned command they were wrapping. Also fix qt6_target_qml_sources() not explicitly setting the OUTPUT_TARGETS variable in the calling scope if no targets were added. Task-number: QTBUG-96219 Change-Id: I13c9e67125434267cb1e328fb735a0f8cde2792e Reviewed-by: Ulf Hermann Reviewed-by: Fabian Kosmale Reviewed-by: Joerg Bornemann (cherry picked from commit 9e62b6a355b415db9b99ddfb2459fc0914d63a93) Reviewed-by: Qt Cherry-pick Bot --- src/qml/Qt6QmlMacros.cmake | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/qml/Qt6QmlMacros.cmake b/src/qml/Qt6QmlMacros.cmake index 7aee3d3a33..d970e5b954 100644 --- a/src/qml/Qt6QmlMacros.cmake +++ b/src/qml/Qt6QmlMacros.cmake @@ -597,6 +597,10 @@ endfunction() if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS) function(qt_add_qml_module) qt6_add_qml_module(${ARGV}) + cmake_parse_arguments(PARSE_ARGV 1 arg "" "OUTPUT_TARGETS" "") + if(arg_OUTPUT_TARGETS) + set(${arg_OUTPUT_TARGETS} ${${arg_OUTPUT_TARGETS}} PARENT_SCOPE) + endif() endfunction() endif() @@ -1571,7 +1575,7 @@ function(qt6_target_qml_sources target) set_target_properties(${target} PROPERTIES QT_QML_MODULE_RAW_QML_SETS ${counter}) list(APPEND output_targets ${resource_targets}) - if(arg_OUTPUT_TARGETS AND output_targets) + if(arg_OUTPUT_TARGETS) set(${arg_OUTPUT_TARGETS} ${output_targets} PARENT_SCOPE) endif() @@ -1580,6 +1584,10 @@ endfunction() if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS) function(qt_target_qml_sources) qt6_target_qml_sources(${ARGV}) + cmake_parse_arguments(PARSE_ARGV 1 arg "" "OUTPUT_TARGETS" "") + if(arg_OUTPUT_TARGETS) + set(${arg_OUTPUT_TARGETS} ${${arg_OUTPUT_TARGETS}} PARENT_SCOPE) + endif() endfunction() endif() -- cgit v1.2.3