aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLi Xinwei <1326710505@qq.com>2021-08-27 23:04:17 +0800
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-09-07 09:28:07 +0000
commita835cb475bfb1f062454dc235eb75413e38000eb (patch)
tree25275af1032508927bc191713951fe7be2fbaf7f
parentef1c826f5ba527757c6c2827288dbdd519b537df (diff)
Avoid to build the debug executable of qmlcachegen in multi-config build
Use $<COMMAND_CONFIG:${qmlcachegen}> to force the qmlcachegen command to rely on the release executable in multi-config build. Fixes: QTBUG-88414 Change-Id: I100f832fc70b63a235d2638dde04583c60fd8250 Reviewed-by: Craig Scott <craig.scott@qt.io> (cherry picked from commit 97b1062674283afb0131e73d8319c95aa7087a8b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/qml/Qt6QmlMacros.cmake12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/qml/Qt6QmlMacros.cmake b/src/qml/Qt6QmlMacros.cmake
index 2a8c10fecf..ef736cf905 100644
--- a/src/qml/Qt6QmlMacros.cmake
+++ b/src/qml/Qt6QmlMacros.cmake
@@ -791,6 +791,9 @@ function(_qt_internal_target_enable_qmlcachegen target output_targets_var qmlcac
_qt_generated_qrc_files "--resource$<SEMICOLON>" "$<SEMICOLON>"
)
+ if(CMAKE_GENERATOR STREQUAL "Ninja Multi-Config" AND CMAKE_VERSION VERSION_GREATER_EQUAL "3.20")
+ set(qmlcachegen "$<COMMAND_CONFIG:${qmlcachegen}>")
+ endif()
set(cmd
${QT_TOOL_COMMAND_WRAPPER_PATH}
${qmlcachegen}
@@ -1495,19 +1498,24 @@ function(qt6_target_qml_sources target)
"${CMAKE_CURRENT_BINARY_DIR}/.rcc/qmlcache/${target}_${compiled_file}.cpp")
get_filename_component(out_dir ${compiled_file} DIRECTORY)
+ if(CMAKE_GENERATOR STREQUAL "Ninja Multi-Config" AND CMAKE_VERSION VERSION_GREATER_EQUAL "3.20")
+ set(qmlcachegen_cmd "$<COMMAND_CONFIG:${qmlcachegen}>")
+ else()
+ set(qmlcachegen_cmd "${qmlcachegen}")
+ endif()
add_custom_command(
OUTPUT ${compiled_file}
COMMAND ${CMAKE_COMMAND} -E make_directory ${out_dir}
COMMAND
${QT_TOOL_COMMAND_WRAPPER_PATH}
- ${qmlcachegen}
+ ${qmlcachegen_cmd}
--resource-path "${file_resource_path}"
${cachegen_args}
-o "${compiled_file}"
"${file_absolute}"
COMMAND_EXPAND_LISTS
DEPENDS
- ${qmlcachegen}
+ ${qmlcachegen_cmd}
"${file_absolute}"
$<TARGET_PROPERTY:${target},_qt_generated_qrc_files>
"$<$<BOOL:${types_file}>:${types_file}>"