diff --git a/cmake/QtPublicPluginHelpers.cmake b/cmake/QtPublicPluginHelpers.cmake index 919aee10c6..a765157f5f 100644 --- a/cmake/QtPublicPluginHelpers.cmake +++ b/cmake/QtPublicPluginHelpers.cmake @@ -243,6 +243,7 @@ function(__qt_internal_add_static_plugin_init_object_library # Core provides the symbols needed by Q_IMPORT_PLUGIN. ${QT_CMAKE_EXPORT_NAMESPACE}::Core ) + _qt_internal_set_up_static_runtime_library("${plugin_init_target}") set_property(TARGET ${plugin_init_target} PROPERTY _is_qt_plugin_init_target TRUE) set_property(TARGET ${plugin_init_target} APPEND PROPERTY diff --git a/cmake/QtPublicTargetHelpers.cmake b/cmake/QtPublicTargetHelpers.cmake index d6465b4fb5..8471c45d05 100644 --- a/cmake/QtPublicTargetHelpers.cmake +++ b/cmake/QtPublicTargetHelpers.cmake @@ -299,3 +299,14 @@ function(__qt_internal_defer_promote_targets_in_dir_scope_to_global) endif() endif() endfunction() + +function(_qt_internal_set_up_static_runtime_library target) + if(QT_FEATURE_static_runtime) + if(MSVC) + set_property(TARGET ${target} PROPERTY + MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + elseif(MINGW) + target_link_options(${target} INTERFACE "LINKER:-static") + endif() + endif() +endfunction() diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake index 266bcac490..bc1d8f3620 100644 --- a/cmake/QtTargetHelpers.cmake +++ b/cmake/QtTargetHelpers.cmake @@ -188,14 +188,7 @@ function(qt_set_common_target_properties target) OBJCXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN 1) endif() - if(QT_FEATURE_static_runtime) - if(MSVC) - set_property(TARGET ${target} PROPERTY - MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") - elseif(MINGW) - target_link_options(${target} INTERFACE "LINKER:-static") - endif() - endif() + _qt_internal_set_up_static_runtime_library("${target}") qt_internal_set_compile_pdb_names("${target}") endfunction() diff --git a/src/corelib/Qt6CoreMacros.cmake b/src/corelib/Qt6CoreMacros.cmake index 1dca7f887c..d812e21213 100644 --- a/src/corelib/Qt6CoreMacros.cmake +++ b/src/corelib/Qt6CoreMacros.cmake @@ -1587,6 +1587,7 @@ function(__qt_propagate_generated_resource target resource_name generated_source target_compile_definitions("${resource_target}" PRIVATE "$" ) + _qt_internal_set_up_static_runtime_library("${resource_target}") # Special handling is required for the Core library resources. The linking of the Core # library to the resources adds a circular dependency. This leads to the wrong