diff options
author | Li Xinwei <1326710505@qq.com> | 2021-08-27 23:04:17 +0800 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-09-07 09:28:07 +0000 |
commit | a835cb475bfb1f062454dc235eb75413e38000eb (patch) | |
tree | 25275af1032508927bc191713951fe7be2fbaf7f | |
parent | ef1c826f5ba527757c6c2827288dbdd519b537df (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.cmake | 12 |
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}>" |