diff options
Diffstat (limited to '0024-Allow-usage-of-static-version-with-CMake.patch')
-rw-r--r-- | 0024-Allow-usage-of-static-version-with-CMake.patch | 1001 |
1 files changed, 1001 insertions, 0 deletions
diff --git a/0024-Allow-usage-of-static-version-with-CMake.patch b/0024-Allow-usage-of-static-version-with-CMake.patch new file mode 100644 index 000000000000..0e9f97715b1c --- /dev/null +++ b/0024-Allow-usage-of-static-version-with-CMake.patch @@ -0,0 +1,1001 @@ +From eec4b8a76d8c5882a5fbd4e6aa85dea696049c23 Mon Sep 17 00:00:00 2001 +From: Martchus <martchus@gmx.net> +Date: Sat, 5 Aug 2017 21:14:26 +0200 +Subject: [PATCH 24/33] Allow usage of static version with CMake + +Allow selecting between dynamic and static Qt versions +installed in the same prefix + - Use eg. find_package(Qt5Core) for dynamic version + - and eg. find_package(StaticQt5Core) for static version + - Static targets are prefixed, eg. StaticQt5::Core + - Set USE_STATIC_QT_BY_DEFAULT to use static version + via regular find_package(Qt5Core) +--- + mkspecs/features/create_cmake.prf | 103 ++++--- + .../features/data/cmake/Qt5BasicConfig.cmake.in | 298 ++++++++++++++------- + .../features/data/cmake/Qt5PluginTarget.cmake.in | 18 +- + .../data/cmake/Qt5StaticOnlyRedirection.cmake.in | 11 + + src/corelib/Qt5CoreConfigExtras.cmake.in | 26 +- + src/gui/Qt5GuiConfigExtras.cmake.in | 8 +- + src/testlib/Qt5TestConfigExtras.cmake.in | 2 +- + 7 files changed, 314 insertions(+), 152 deletions(-) + create mode 100644 mkspecs/features/data/cmake/Qt5StaticOnlyRedirection.cmake.in + +diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf +index 15fc070008..13bd362092 100644 +--- a/mkspecs/features/create_cmake.prf ++++ b/mkspecs/features/create_cmake.prf +@@ -38,7 +38,7 @@ split_incpath { + $$QT_MODULE_INCLUDE_BASE/Qt$${CMAKE_MODULE_NAME}/$$eval(QT.$${MODULE}.VERSION)/Qt$${CMAKE_MODULE_NAME}) + + cmake_extra_source_includes.input = $$PWD/data/cmake/ExtraSourceIncludes.cmake.in +- cmake_extra_source_includes.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/ExtraSourceIncludes.cmake ++ cmake_extra_source_includes.output = $$CMAKE_OUT_DIR/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}/ExtraSourceIncludes.cmake + + !build_pass:QMAKE_SUBSTITUTES += \ + cmake_extra_source_includes +@@ -90,6 +90,8 @@ win32:!static:!staticlib { + } + + static|staticlib:CMAKE_STATIC_TYPE = true ++static|staticlib:DEFAULT_QT_VARIANT_PREFIX = "Static" ++else:DEFAULT_QT_VARIANT_PREFIX = "" + + CMAKE_DEBUG_TYPE = + CMAKE_RELEASE_TYPE = +@@ -135,17 +137,19 @@ contains(CONFIG, plugin) { + CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME + + win32 { +- isEmpty(CMAKE_STATIC_TYPE) { ++ mingw { + CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll + CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll +- } else:mingw { +- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a +- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a ++ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/lib$${TARGET}.a ++ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/lib$${TARGET}d.a + } else { # MSVC static + CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib + CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib ++ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/$${TARGET}.lib ++ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/$${TARGET}d.lib + } + } else { ++ # this branch is broken by the patch, only apply when building for Windows + mac { + isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib + else: CMAKE_PlUGIN_EXT = .a +@@ -161,13 +165,13 @@ contains(CONFIG, plugin) { + } + } + cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in +- cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake ++ cmake_target_file.output = $$CMAKE_OUT_DIR/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake + + !build_pass:QMAKE_SUBSTITUTES += \ + cmake_target_file + + cmake_qt5_plugin_file.files = $$cmake_target_file.output +- cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} ++ cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME} + INSTALLS += cmake_qt5_plugin_file + + return() +@@ -180,27 +184,36 @@ mod_deps = + lib_deps = + aux_mod_deps = + aux_lib_deps = ++aux_compile_defs_static = QT_STATIC QT_DESIGNER_STATIC ++contains(QT_CONFIG, angle): aux_compile_defs += QT_OPENGL_ES_2_ANGLE_STATIC + # Until CMake 3.0 is the minimum requirement of Qt 5, we need to filter + # out header-only modules from dependencies. CMake 3.0 provides INTERFACE + # libraries which are equivalent to header-only modules. + for (dep, sorted_deps) { + cdep = $$cmakeModuleName($$dep) + !contains(QT.$${dep}.module_config, no_link) { +- mod_deps += $$cdep +- lib_deps += Qt5::$$cdep ++ mod_deps += "$$cdep" ++ lib_deps += "${QT_VARIANT_PREFIX}Qt5::$$cdep" ++ lib_deps_static += "${QT_VARIANT_PREFIX}Qt5::$$cdep" + } else { +- aux_mod_deps += $$cdep +- aux_lib_deps += Qt5::$$cdep ++ aux_mod_deps += "$$cdep" ++ aux_lib_deps += "${QT_VARIANT_PREFIX}Qt5::$$cdep" ++ aux_lib_deps_static += "${QT_VARIANT_PREFIX}Qt5::$$cdep" + } + } + CMAKE_MODULE_DEPS = $$join(mod_deps, ";") + CMAKE_QT5_MODULE_DEPS = $$join(lib_deps, ";") ++CMAKE_QT5_MODULE_DEPS_STATIC = $$join(lib_deps_static, ";") + CMAKE_INTERFACE_MODULE_DEPS = $$join(aux_mod_deps, ";") + CMAKE_INTERFACE_QT5_MODULE_DEPS = $$join(aux_lib_deps, ";") ++CMAKE_INTERFACE_QT5_MODULE_DEPS_STATIC = $$join(aux_lib_deps_static, ";") ++CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC = $$join(aux_compile_defs_static, ";") ++ + + CMAKE_QT_STEM = Qt$$QT_MAJOR_VERSION$${CMAKE_MODULE_NAME}$${QT_LIBINFIX} + + mac { ++ # this branch is broken by the patch, only apply when building for Windows + !isEmpty(CMAKE_STATIC_TYPE) { + CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.a + CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a +@@ -228,35 +241,33 @@ mac { + CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a + CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a + +- !isEmpty(CMAKE_STATIC_TYPE) { +- CMAKE_STATIC_WINDOWS_BUILD = "true" +- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.a +- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a ++ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = dll.a ++ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.$${QMAKE_EXTENSION_IMPORTLIB} ++ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB} ++ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl ++ CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl ++ ++ CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC = lib$${CMAKE_QT_STEM}d.a ++ CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC = lib$${CMAKE_QT_STEM}.a ++ CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}d.static.prl ++ CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}.static.prl + +- CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl +- CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl +- } else { +- isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a +- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.$${QMAKE_EXTENSION_IMPORTLIB} +- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB} +- } + } else { + CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}d.lib + CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qtmain$${QT_LIBINFIX}.lib + +- !isEmpty(CMAKE_STATIC_TYPE) { +- CMAKE_STATIC_WINDOWS_BUILD = "true" +- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib +- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib ++ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib ++ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib ++ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl ++ CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl + +- CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl +- CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl +- } else { +- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib +- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib +- } ++ CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}d.lib ++ CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}.lib ++ CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}d.static.prl ++ CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}.static.prl + } + } else { ++ # this branch is broken by the patch, only apply when building for Windows + !isEmpty(CMAKE_STATIC_TYPE) { + CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.a + CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a +@@ -276,12 +287,12 @@ mac { + INSTALLS += cmake_qt5_module_files + + cmake_config_file.input = $$PWD/data/cmake/Qt5BasicConfig.cmake.in +-cmake_config_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}Config.cmake ++cmake_config_file.output = $$CMAKE_OUT_DIR/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}Config.cmake + + CMAKE_PACKAGE_VERSION = $$eval(QT.$${MODULE}.VERSION) + + cmake_config_version_file.input = $$PWD/data/cmake/Qt5ConfigVersion.cmake.in +-cmake_config_version_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}ConfigVersion.cmake ++cmake_config_version_file.output = $$CMAKE_OUT_DIR/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}ConfigVersion.cmake + + !build_pass:QMAKE_SUBSTITUTES += \ + cmake_config_file \ +@@ -291,11 +302,29 @@ cmake_qt5_module_files.files = \ + $$cmake_config_file.output \ + $$cmake_config_version_file.output + ++# add regular CMake package for static-only modules ++static|staticlib:actually_a_shared_build { ++ INSTALLS += cmake_qt5_module_files_shared ++ ++ cmake_config_file_shared.input = $$PWD/data/cmake/Qt5StaticOnlyRedirection.cmake.in ++ cmake_config_file_shared.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}Config.cmake ++ cmake_config_version_file_shared.input = $$PWD/data/cmake/Qt5ConfigVersion.cmake.in ++ cmake_config_version_file_shared.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}ConfigVersion.cmake ++ !build_pass:QMAKE_SUBSTITUTES += \ ++ cmake_config_file_shared \ ++ cmake_config_version_file_shared ++ ++ cmake_qt5_module_files_shared.files = \ ++ $$cmake_config_file_shared.output \ ++ $$cmake_config_version_file_shared.output ++ cmake_qt5_module_files_shared.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} ++} ++ + cmake_extras_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake.in + exists($$cmake_extras_file.input) { + + CMAKE_MODULE_EXTRAS = "true" +- cmake_extras_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake ++ cmake_extras_file.output = $$CMAKE_OUT_DIR/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake + + !build_pass:QMAKE_SUBSTITUTES += cmake_extras_file + +@@ -307,7 +336,7 @@ cmake_macros_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}Macros.cmake + exists($$cmake_macros_file.input) { + CMAKE_MODULE_MACROS = "true" + +- cmake_macros_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}Macros.cmake ++ cmake_macros_file.output = $$CMAKE_OUT_DIR/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}Macros.cmake + cmake_macros_file.CONFIG = verbatim + + !build_pass:QMAKE_SUBSTITUTES += cmake_macros_file +@@ -315,7 +344,7 @@ exists($$cmake_macros_file.input) { + cmake_qt5_module_files.files += $$cmake_macros_file.output + } + +-cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} ++cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME} + + # We are generating cmake files. Most developers of Qt are not aware of cmake, + # so we require automatic tests to be available. The only module which should +diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +index 85a0ae4307..42053ac0c0 100644 +--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +@@ -9,6 +9,33 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) + endif() + !!ENDIF + ++!!IF isEmpty(CMAKE_STATIC_TYPE) ++# "redirect" to static package overriding variant prefix so it does not contain "Static" anymore ++option(USE_STATIC_QT_BY_DEFAULT \"specifies whether to use static Qt by default (rather than via Static-prefix)\" OFF) ++if(USE_STATIC_QT_BY_DEFAULT) ++ set(ORIGINAL_OVERRIDE_QT_VARIANT_PREFIX "${OVERRIDE_QT_VARIANT_PREFIX}") ++ if(OVERRIDE_QT_VARIANT_PREFIX) ++ string(REPLACE \"Static\" \"\" OVERRIDE_QT_VARIANT_PREFIX "${OVERRIDE_QT_VARIANT_PREFIX}") ++ endif() ++ if(NOT OVERRIDE_QT_VARIANT_PREFIX) ++ set(OVERRIDE_QT_VARIANT_PREFIX "none") ++ endif() ++ find_package(StaticQt5$${CMAKE_MODULE_NAME}) ++ set(OVERRIDE_QT_VARIANT_PREFIX "${ORIGINAL_OVERRIDE_QT_VARIANT_PREFIX}") ++ return() ++endif() ++!!ENDIF ++ ++if(OVERRIDE_QT_VARIANT_PREFIX) ++ if(OVERRIDE_QT_VARIANT_PREFIX STREQUAL "none") ++ unset(QT_VARIANT_PREFIX) ++ else() ++ set(QT_VARIANT_PREFIX "${OVERRIDE_QT_VARIANT_PREFIX}") ++ endif() ++else() ++ set(QT_VARIANT_PREFIX \"$${DEFAULT_QT_VARIANT_PREFIX}\") ++endif() ++ + !!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) + !!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) + set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") +@@ -35,15 +62,19 @@ set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") + + !!IF !equals(TEMPLATE, aux) + # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead. +-set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)") ++set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)") + +-set(Qt5$${CMAKE_MODULE_NAME}_LIBRARIES Qt5::$${CMAKE_MODULE_NAME}) ++set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_LIBRARIES ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}) + !!ENDIF // TEMPLATE != aux + +-macro(_qt5_$${CMAKE_MODULE_NAME}_check_file_exists file) +- if(NOT EXISTS \"${file}\" ) +- message(FATAL_ERROR \"The imported target \\\"Qt5::$${CMAKE_MODULE_NAME}\\\" references the file +- \\\"${file}\\\" ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++macro(_qt5_$${CMAKE_MODULE_NAME}_check_file_exists_static FILE) ++!!ELSE ++macro(_qt5_$${CMAKE_MODULE_NAME}_check_file_exists FILE) ++!!ENDIF ++ if(NOT EXISTS \"${FILE}\") ++ message(FATAL_ERROR \"The imported target \\\"${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}\\\" references the file ++ \\\"${FILE}\\\" + but this file does not exist. Possible reasons include: + * The file was deleted, renamed, or moved to another location. + * An install or uninstall procedure did not complete successfully. +@@ -54,23 +85,60 @@ but not all the files it references. + endif() + endmacro() + ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++# ensure also regular/dynamic macro exists because it might be used in some extra config ++if(NOT COMMAND _qt5_$${CMAKE_MODULE_NAME}_check_file_exists) ++ macro(_qt5_$${CMAKE_MODULE_NAME}_check_file_exists FILE) ++ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists_static("${FILE}") ++ endmacro() ++endif() ++!!ENDIF ++ + !!IF !equals(TEMPLATE, aux) +-macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATION IMPLIB_LOCATION) +- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${TARGET_CONFIG}) ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++macro(_populate_$${CMAKE_MODULE_NAME}_target_properties_static TARGET_NAME TARGET_CONFIG LIB_LOCATION IMPLIB_LOCATION) ++!!ELSE ++macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_NAME TARGET_CONFIG LIB_LOCATION IMPLIB_LOCATION) ++!!ENDIF ++ set_property(TARGET ${TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${TARGET_CONFIG}) + + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) ++ ++!!IF !isEmpty(CMAKE_WINDOWS_BUILD) ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/${LIB_LOCATION}\") ++!!ELSE ++ set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/bin/${LIB_LOCATION}\") ++!!ENDIF ++!!ELSE + set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") ++!!ENDIF ++ ++!!ELSE // isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) ++ ++!!IF !isEmpty(CMAKE_WINDOWS_BUILD) ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ set(imported_location \"lib/${LIB_LOCATION}\") ++!!ELSE ++ set(imported_location \"bin/${LIB_LOCATION}\") ++!!ENDIF + !!ELSE + set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") + !!ENDIF + ++!!ENDIF // isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) ++ ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists_static(${imported_location}) ++!!ELSE + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) ++!!ENDIF + + !!IF !isEmpty(CMAKE_STATIC_TYPE) + if (_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES) + set(_list_sep \";\") + endif() +- set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES ++ set_target_properties(${TARGET_NAME} PROPERTIES + \"INTERFACE_LINK_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}${_list_sep}${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${TARGET_CONFIG}_LIB_DEPENDENCIES}\" + \"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location} + !!IF !isEmpty(CMAKE_LIB_SONAME) +@@ -80,7 +148,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI + \"IMPORTED_LINK_INTERFACE_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}${_list_sep}${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${TARGET_CONFIG}_LIB_DEPENDENCIES}\" + ) + !!ELSE +- set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES ++ set_target_properties(${TARGET_NAME} PROPERTIES + \"INTERFACE_LINK_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" + \"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location} + !!IF !isEmpty(CMAKE_LIB_SONAME) +@@ -97,9 +165,13 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI + !!ELSE + set(imported_implib \"IMPORTED_IMPLIB_${TARGET_CONFIG}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") + !!ENDIF ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists_static(${imported_implib}) ++!!ELSE + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib}) ++!!ENDIF + if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\") +- set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES ++ set_target_properties(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTIES + \"IMPORTED_IMPLIB_${TARGET_CONFIG}\" ${imported_implib} + ) + endif() +@@ -107,8 +179,9 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI + endmacro() + !!ENDIF + +-if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) ++set(TARGET_NAME ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}) + ++if(NOT TARGET ${TARGET_NAME}) + !!IF !no_module_headers + !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS +@@ -116,46 +189,50 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" + ) + !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" + ) +-!!ELSE +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") +-!!ENDIF +-!!ELSE ++!!ELSE // isEmpty(CMAKE_NO_PRIVATE_INCLUDES) ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") ++!!ENDIF // isEmpty(CMAKE_NO_PRIVATE_INCLUDES) ++!!ELSE // !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) + !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") + !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" + ) +-!!ELSE +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") +-!!ENDIF +-!!ELSE ++!!ELSE // isEmpty(CMAKE_NO_PRIVATE_INCLUDES) ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") ++!!ENDIF // isEmpty(CMAKE_NO_PRIVATE_INCLUDES) ++!!ELSE // isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\" \"$${CMAKE_INCLUDE_DIR}Qt$${CMAKE_MODULE_NAME}\") + !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS + \"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" + \"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" + ) +-!!ELSE +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") +-!!ENDIF +-!!ENDIF +-!!ENDIF ++!!ELSE // isEmpty(CMAKE_NO_PRIVATE_INCLUDES) ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") ++!!ENDIF // isEmpty(CMAKE_NO_PRIVATE_INCLUDES) ++!!ENDIF // isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) ++!!ENDIF // !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) + !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS) + include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL) + !!ENDIF + !!ELSE + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"\") +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") + !!ENDIF + + foreach(_dir ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS}) ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists_static(${_dir}) ++!!ELSE + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${_dir}) ++!!ENDIF + endforeach() + + !!IF isEmpty(CMAKE_BUILD_IS_FRAMEWORK) +@@ -164,16 +241,20 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + list(FIND Qt5$${CMAKE_MODULE_NAME}_FIND_COMPONENTS Private _check_private) + if (NOT _check_private STREQUAL -1) + foreach(_dir ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS}) ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists_static(${_dir}) ++!!ELSE + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${_dir}) ++!!ENDIF + endforeach() + endif() + !!ENDIF + + !!IF !equals(TEMPLATE, aux) +- set(Qt5$${CMAKE_MODULE_NAME}_INCLUDE_DIRS ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS}) ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_INCLUDE_DIRS ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS}) + +- set(Qt5$${CMAKE_MODULE_NAME}_DEFINITIONS -D$${MODULE_DEFINE}) +- set(Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS $${MODULE_DEFINES}) ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_DEFINITIONS -D$${MODULE_DEFINE}) ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS $${MODULE_DEFINES}) + !!ENDIF // TEMPLATE != aux + set(_Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_MODULE_DEPS}\") + +@@ -183,10 +264,10 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + endif() + !!ENDIF + +- set(Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS}) ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS}) + + set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED) +- if (Qt5$${CMAKE_MODULE_NAME}_FIND_REQUIRED) ++ if (${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_FIND_REQUIRED) + set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED REQUIRED) + endif() + set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_QUIET) +@@ -194,17 +275,17 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + set(_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET QUIET) + endif() + set(_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT) +- if (Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT) ++ if (${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT) + set(_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT EXACT) + endif() + + !!IF !equals(TEMPLATE, aux) +- set(Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS \"\") ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS \"\") + !!ENDIF // TEMPLATE != aux + + foreach(_module_dep ${_Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES}) +- if (NOT Qt5${_module_dep}_FOUND) +- find_package(Qt5${_module_dep} ++ if (NOT ${QT_VARIANT_PREFIX}Qt5${_module_dep}_FOUND) ++ find_package(${QT_VARIANT_PREFIX}Qt5${_module_dep} + $$VERSION ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT} + ${_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET} + ${_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED} +@@ -212,28 +293,32 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + ) + endif() + +- if (NOT Qt5${_module_dep}_FOUND) +- set(Qt5$${CMAKE_MODULE_NAME}_FOUND False) ++ if (NOT ${QT_VARIANT_PREFIX}Qt5${_module_dep}_FOUND) ++ set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_FOUND False) + return() + endif() + + !!IF !equals(TEMPLATE, aux) +- list(APPEND Qt5$${CMAKE_MODULE_NAME}_INCLUDE_DIRS \"${Qt5${_module_dep}_INCLUDE_DIRS}\") +- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"${Qt5${_module_dep}_PRIVATE_INCLUDE_DIRS}\") +- list(APPEND Qt5$${CMAKE_MODULE_NAME}_DEFINITIONS ${Qt5${_module_dep}_DEFINITIONS}) +- list(APPEND Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS ${Qt5${_module_dep}_COMPILE_DEFINITIONS}) +- list(APPEND Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS ${Qt5${_module_dep}_EXECUTABLE_COMPILE_FLAGS}) ++ list(APPEND ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_INCLUDE_DIRS \"${Qt5${_module_dep}_INCLUDE_DIRS}\") ++ list(APPEND ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"${Qt5${_module_dep}_PRIVATE_INCLUDE_DIRS}\") ++ list(APPEND ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_DEFINITIONS ${Qt5${_module_dep}_DEFINITIONS}) ++ list(APPEND ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS ${Qt5${_module_dep}_COMPILE_DEFINITIONS}) ++ list(APPEND ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS ${Qt5${_module_dep}_EXECUTABLE_COMPILE_FLAGS}) + !!ENDIF // TEMPLATE != aux + endforeach() + !!IF !equals(TEMPLATE, aux) +- list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_INCLUDE_DIRS) +- list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS) +- list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_DEFINITIONS) +- list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS) +- list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS) ++ list(REMOVE_DUPLICATES ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_INCLUDE_DIRS) ++ list(REMOVE_DUPLICATES ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS) ++ list(REMOVE_DUPLICATES ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_DEFINITIONS) ++ list(REMOVE_DUPLICATES ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS) ++ list(REMOVE_DUPLICATES ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS) + !!ENDIF // TEMPLATE != aux + ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ set(_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_QT5_MODULE_DEPS_STATIC}\") ++!!ELSE + set(_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_QT5_MODULE_DEPS}\") ++!!ENDIF + + !!IF !isEmpty(CMAKE_INTERFACE_QT5_MODULE_DEPS) + if (NOT CMAKE_VERSION VERSION_LESS 3.0.0) +@@ -242,8 +327,9 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + !!ENDIF + + !!IF !isEmpty(CMAKE_STATIC_TYPE) +- add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED) +- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX") ++ add_library(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED) ++ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX") ++ + macro(_process_prl_file PRL_FILE_LOCATION CONFIGURATION) + if (EXISTS \"${PRL_FILE_LOCATION}\") + file(STRINGS \"${PRL_FILE_LOCATION}\" prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE\") +@@ -267,34 +353,45 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + endmacro() + + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- _process_prl_file(\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG) ++ _process_prl_file(\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC}\" DEBUG) + !!ELSE +- _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG) ++ _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC}\" DEBUG) + !!ENDIF + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- _process_prl_file(\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE) ++ _process_prl_file(\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC}\" RELEASE) + !!ELSE +- _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE) ++ _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC}\" RELEASE) + !!ENDIF + + !!ELSE // !isEmpty(CMAKE_STATIC_TYPE) + !!IF equals(TEMPLATE, aux) +- add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED) ++ add_library(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED) + !!ELSE +- add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED) ++ add_library(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED) + !!ENDIF + !!ENDIF // !isEmpty(CMAKE_STATIC_TYPE) + + !!IF !equals(TEMPLATE, aux) + !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) +- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1) ++ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1) + !!ENDIF + !!ENDIF // TEMPLATE != aux + +- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY ++!!IF !equals(TEMPLATE, aux) ++!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) ++ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1) ++!!ENDIF ++!!ENDIF // TEMPLATE != aux ++ ++ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS}) +- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY +- INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINES}) ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY ++ INTERFACE_COMPILE_DEFINITIONS $${CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC} $${MODULE_DEFINES}) ++!!ELSE ++ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY ++ INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINES}) ++!!ENDIF + + # Find plugin targets + file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/*Qt5$${CMAKE_MODULE_NAME}_*.cmake\") +@@ -308,7 +405,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + endforeach() + endif() + ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties_static TARGET_NAME PLUGIN_TARGET_NAME PLUGIN_NAME CONFIG PLUGIN_LOCATION) ++!!ELSE + macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties TARGET_NAME PLUGIN_TARGET_NAME PLUGIN_NAME CONFIG PLUGIN_LOCATION) ++!!ENDIF + set_property(TARGET ${PLUGIN_TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${CONFIG}) + + !!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) +@@ -316,7 +417,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + !!ELSE + set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") + !!ENDIF ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists_static(${imported_location}) ++!!ELSE + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) ++!!ENDIF + set_target_properties(${PLUGIN_TARGET_NAME} PROPERTIES + \"IMPORTED_LOCATION_${CONFIG}\" ${imported_location} + ) +@@ -347,7 +452,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + endif() + + set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST TRUE) +- foreach (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS}) ++ foreach (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR ${${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS}) + if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR}) + set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST FALSE) + endif() +@@ -355,9 +460,9 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + + if (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST + AND NOT CMAKE_VERSION VERSION_LESS 3.0.0 ) +- add_library(Qt5::$${CMAKE_MODULE_NAME}Private INTERFACE IMPORTED) +- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY +- INTERFACE_INCLUDE_DIRECTORIES ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS} ++ add_library(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}Private INTERFACE IMPORTED) ++ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY ++ INTERFACE_INCLUDE_DIRECTORIES ${${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS} + ) + set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS) + foreach(dep ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}) +@@ -365,66 +470,68 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + list(APPEND _Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS ${dep}Private) + endif() + endforeach() +- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY +- INTERFACE_LINK_LIBRARIES Qt5::$${CMAKE_MODULE_NAME} ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS} ++ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY ++ INTERFACE_LINK_LIBRARIES ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS} + ) + endif() + + !!IF !equals(TEMPLATE, aux) + !!IF !isEmpty(CMAKE_RELEASE_TYPE) +-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) +- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC}\" \"\" ) + !!ELSE +- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD ++ _populate_$${CMAKE_MODULE_NAME}_target_properties(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) ++!!ENDIF // CMAKE_STATIC_TYPE ++ + + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) + !!IF isEmpty(CMAKE_DEBUG_TYPE) +-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) ++!!IF !isEmpty(CMAKE_STATIC_TYPE) + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) ++ if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC}\" ) + !!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE + if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + !!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE +- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) +-!!ELSE // CMAKE_STATIC_WINDOWS_BUILD ++ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC}\" \"\" ) ++ endif() ++!!ELSE // CMAKE_STATIC_TYPE + if (EXISTS + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" + !!ELSE + \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" + !!ENDIF +- AND EXISTS ++ AND EXISTS + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + !!ELSE + \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + !!ENDIF +- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD ++ _populate_$${CMAKE_MODULE_NAME}_target_properties(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + endif() ++!!ENDIF // CMAKE_STATIC_TYPE + !!ENDIF // CMAKE_DEBUG_TYPE + !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD +- + !!ENDIF // CMAKE_RELEASE_TYPE + + !!IF !isEmpty(CMAKE_DEBUG_TYPE) +-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) +- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) + !!ELSE + _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD ++!!ENDIF // CMAKE_STATIC_TYPE + + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) + !!IF isEmpty(CMAKE_RELEASE_TYPE) +-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) ++ ++!!IF !isEmpty(CMAKE_STATIC_TYPE) + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) ++ if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC}\" ) + !!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE +- if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) ++ if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC}\" ) + !!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE +- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) +-!!ELSE // CMAKE_STATIC_WINDOWS_BUILD ++ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC}\" \"\" ) ++!!ELSE // CMAKE_STATIC_TYPE + if (EXISTS + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" +@@ -437,7 +544,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + !!ELSE + \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) + !!ENDIF +- _populate_$${CMAKE_MODULE_NAME}_target_properties(Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) ++ _populate_$${CMAKE_MODULE_NAME}_target_properties(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) + endif() + !!ENDIF // CMAKE_STATIC_TYPE + +@@ -447,19 +554,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + + !!ENDIF // CMAKE_DEBUG_TYPE + !!ELSE // TEMPLATE != aux +- set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES ++ set_target_properties(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTIES + INTERFACE_LINK_LIBRARIES \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" + ) + !!ENDIF // TEMPLATE != aux + + !!IF !isEmpty(CMAKE_MODULE_EXTRAS) +- include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\") ++ include(\"${CMAKE_CURRENT_LIST_DIR}/../${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}/${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\") + !!ENDIF +- + !!IF !isEmpty(CMAKE_MODULE_MACROS) +- include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}Macros.cmake\") ++ include(\"${CMAKE_CURRENT_LIST_DIR}/../${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}/${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}Macros.cmake\") + !!ENDIF + +-_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigVersion.cmake\") ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++_qt5_$${CMAKE_MODULE_NAME}_check_file_exists_static(\"${CMAKE_CURRENT_LIST_DIR}/../${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}/${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}ConfigVersion.cmake\") ++!!ELSE ++_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(\"${CMAKE_CURRENT_LIST_DIR}/../${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}/${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}ConfigVersion.cmake\") ++!!ENDIF + + endif() +diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in +index ec5f3cc437..1e4d98086c 100644 +--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in ++++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in +@@ -1,14 +1,22 @@ + # Some Qt modules also load plugin target in extra config, so check whether the target already exists +-if(NOT TARGET Qt5::$$CMAKE_PLUGIN_NAME) +- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED) ++if(NOT TARGET ${QT_VARIANT_PREFIX}Qt5::$$CMAKE_PLUGIN_NAME) ++ add_library(${QT_VARIANT_PREFIX}Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED) + + !!IF !isEmpty(CMAKE_RELEASE_TYPE) +- _populate_$${CMAKE_MODULE_NAME}_plugin_properties(Qt5::$$CMAKE_MODULE_NAME Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ _populate_$${CMAKE_MODULE_NAME}_plugin_properties_static(${QT_VARIANT_PREFIX}Qt5::$$CMAKE_MODULE_NAME ${QT_VARIANT_PREFIX}Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE_STATIC}\") ++!!ELSE ++ _populate_$${CMAKE_MODULE_NAME}_plugin_properties(${QT_VARIANT_PREFIX}Qt5::$$CMAKE_MODULE_NAME ${QT_VARIANT_PREFIX}Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") ++!!ENDIF + !!ENDIF + !!IF !isEmpty(CMAKE_DEBUG_TYPE) +- _populate_$${CMAKE_MODULE_NAME}_plugin_properties(Qt5::$$CMAKE_MODULE_NAME Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\") ++!!IF !isEmpty(CMAKE_STATIC_TYPE) ++ _populate_$${CMAKE_MODULE_NAME}_plugin_properties_static(${QT_VARIANT_PREFIX}Qt5::$$CMAKE_MODULE_NAME ${QT_VARIANT_PREFIX}Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG_STATIC}\") ++!!ELSE ++ _populate_$${CMAKE_MODULE_NAME}_plugin_properties(${QT_VARIANT_PREFIX}Qt5::$$CMAKE_MODULE_NAME ${QT_VARIANT_PREFIX}Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\") ++!!ENDIF + !!ENDIF + +-list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) ++list(APPEND ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PLUGINS ${QT_VARIANT_PREFIX}Qt5::$$CMAKE_PLUGIN_NAME) + + endif() +diff --git a/mkspecs/features/data/cmake/Qt5StaticOnlyRedirection.cmake.in b/mkspecs/features/data/cmake/Qt5StaticOnlyRedirection.cmake.in +new file mode 100644 +index 0000000000..0091940fd2 +--- /dev/null ++++ b/mkspecs/features/data/cmake/Qt5StaticOnlyRedirection.cmake.in +@@ -0,0 +1,11 @@ ++# "redirect" to static package overriding variant prefix so it does not contain "Static" anymore ++set(ORIGINAL_OVERRIDE_QT_VARIANT_PREFIX "${OVERRIDE_QT_VARIANT_PREFIX}") ++if(OVERRIDE_QT_VARIANT_PREFIX) ++ string(REPLACE \"Static\" \"\" OVERRIDE_QT_VARIANT_PREFIX "${OVERRIDE_QT_VARIANT_PREFIX}") ++endif() ++if(NOT OVERRIDE_QT_VARIANT_PREFIX) ++ set(OVERRIDE_QT_VARIANT_PREFIX "none") ++endif() ++find_package(StaticQt5$${CMAKE_MODULE_NAME}) ++set(OVERRIDE_QT_VARIANT_PREFIX "${ORIGINAL_OVERRIDE_QT_VARIANT_PREFIX}") ++ +diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in +index 545b9a3d1e..ebe6644dfe 100644 +--- a/src/corelib/Qt5CoreConfigExtras.cmake.in ++++ b/src/corelib/Qt5CoreConfigExtras.cmake.in +@@ -1,4 +1,6 @@ + ++set(IMPORTED_TARGET_NAME ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}) ++ + if (NOT TARGET Qt5::qmake) + add_executable(Qt5::qmake IMPORTED) + +@@ -50,9 +52,9 @@ set(Qt5Core_QMAKE_EXECUTABLE Qt5::qmake) + set(Qt5Core_MOC_EXECUTABLE Qt5::moc) + set(Qt5Core_RCC_EXECUTABLE Qt5::rcc) + +-set_property(TARGET Qt5::Core PROPERTY INTERFACE_QT_MAJOR_VERSION 5) +-set_property(TARGET Qt5::Core PROPERTY INTERFACE_QT_COORD_TYPE $$QT_COORD_TYPE) +-set_property(TARGET Qt5::Core APPEND PROPERTY ++set_property(TARGET ${IMPORTED_TARGET_NAME} PROPERTY INTERFACE_QT_MAJOR_VERSION 5) ++set_property(TARGET ${IMPORTED_TARGET_NAME} PROPERTY INTERFACE_QT_COORD_TYPE $$QT_COORD_TYPE) ++set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY + COMPATIBLE_INTERFACE_STRING QT_MAJOR_VERSION QT_COORD_TYPE + ) + +@@ -63,7 +65,7 @@ foreach(_dir ${_qt5_corelib_extra_includes}) + endforeach() + + list(APPEND Qt5Core_INCLUDE_DIRS ${_qt5_corelib_extra_includes}) +-set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${_qt5_corelib_extra_includes}) ++set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${_qt5_corelib_extra_includes}) + set(_qt5_corelib_extra_includes) + + # Targets using Qt need to use the POSITION_INDEPENDENT_CODE property. The +@@ -81,9 +83,9 @@ set(Qt5_POSITION_INDEPENDENT_CODE True) + if (CMAKE_VERSION VERSION_LESS 2.8.12 + AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL \"GNU\" + OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)) +- set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE \"ON\") ++ set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE \"ON\") + else() +- set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $$QMAKE_CXXFLAGS_APP) ++ set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $$QMAKE_CXXFLAGS_APP) + endif() + + # Applications using qmake or cmake >= 2.8.12 as their build system will +@@ -103,7 +105,7 @@ endif() + !!IF !isEmpty(QT_NAMESPACE) + list(APPEND Qt5Core_DEFINITIONS -DQT_NAMESPACE=$$QT_NAMESPACE) + list(APPEND Qt5Core_COMPILE_DEFINITIONS QT_NAMESPACE=$$QT_NAMESPACE) +-set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS QT_NAMESPACE=$$QT_NAMESPACE) ++set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS QT_NAMESPACE=$$QT_NAMESPACE) + !!ENDIF + + !!IF !isEmpty(CMAKE_DISABLED_FEATURES) +@@ -112,9 +114,9 @@ set(Qt5_DISABLED_FEATURES + ) + !!ENDIF + +-set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS $<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>) ++set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS $<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>) + +-set_property(TARGET Qt5::Core PROPERTY INTERFACE_COMPILE_FEATURES cxx_decltype) ++set_property(TARGET ${IMPORTED_TARGET_NAME} PROPERTY INTERFACE_COMPILE_FEATURES cxx_decltype) + + !!IF qtConfig(reduce_exports) + set(QT_VISIBILITY_AVAILABLE \"True\") +@@ -162,14 +164,14 @@ if (NOT TARGET Qt5::WinMain) + set(_isWin32 $<BOOL:$<TARGET_PROPERTY:WIN32_EXECUTABLE>>) + set(_isNotExcluded $<NOT:$<BOOL:$<TARGET_PROPERTY:Qt5_NO_LINK_QTMAIN>>>) + set(_isPolicyNEW $<TARGET_POLICY:CMP0020>) +- get_target_property(_configs Qt5::Core IMPORTED_CONFIGURATIONS) +- set_property(TARGET Qt5::Core APPEND PROPERTY ++ get_target_property(_configs ${IMPORTED_TARGET_NAME} IMPORTED_CONFIGURATIONS) ++ set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY + INTERFACE_LINK_LIBRARIES + $<$<AND:${_isExe},${_isWin32},${_isNotExcluded},${_isPolicyNEW}>:Qt5::WinMain> + ) + # For backward compatibility with CMake < 2.8.12 + foreach(_config ${_configs}) +- set_property(TARGET Qt5::Core APPEND PROPERTY ++ set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY + IMPORTED_LINK_INTERFACE_LIBRARIES_${_config} + $<$<AND:${_isExe},${_isWin32},${_isNotExcluded},${_isPolicyNEW}>:Qt5::WinMain> + ) +diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in +index 2e32911a64..6b02a12944 100644 +--- a/src/gui/Qt5GuiConfigExtras.cmake.in ++++ b/src/gui/Qt5GuiConfigExtras.cmake.in +@@ -1,4 +1,6 @@ + ++set(IMPORTED_TARGET_NAME ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}) ++ + !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE) + + !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) +@@ -67,7 +69,7 @@ unset(_GL_INCDIRS) + # optional. + + list(APPEND Qt5Gui_INCLUDE_DIRS ${_qt5gui_OPENGL_INCLUDE_DIR}) +-set_property(TARGET Qt5::Gui APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${_qt5gui_OPENGL_INCLUDE_DIR}) ++set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${_qt5gui_OPENGL_INCLUDE_DIR}) + + unset(_qt5gui_OPENGL_INCLUDE_DIR CACHE) + +@@ -170,9 +172,9 @@ _qt5gui_find_extra_libs(OPENGL \"$$CMAKE_OPENGL_LIBS\" \"$$CMAKE_OPENGL_LIBDIR\" + + set(Qt5Gui_OPENGL_IMPLEMENTATION $$CMAKE_QT_OPENGL_IMPLEMENTATION) + +-get_target_property(_configs Qt5::Gui IMPORTED_CONFIGURATIONS) ++get_target_property(_configs ${IMPORTED_TARGET_NAME} IMPORTED_CONFIGURATIONS) + foreach(_config ${_configs}) +- set_property(TARGET Qt5::Gui APPEND PROPERTY ++ set_property(TARGET ${IMPORTED_TARGET_NAME} APPEND PROPERTY + IMPORTED_LINK_DEPENDENT_LIBRARIES_${_config} + ${Qt5Gui_EGL_LIBRARIES} ${Qt5Gui_OPENGL_LIBRARIES} + ) +diff --git a/src/testlib/Qt5TestConfigExtras.cmake.in b/src/testlib/Qt5TestConfigExtras.cmake.in +index 2a575958ae..ca0e3be3b5 100644 +--- a/src/testlib/Qt5TestConfigExtras.cmake.in ++++ b/src/testlib/Qt5TestConfigExtras.cmake.in +@@ -1,5 +1,5 @@ + +-set_property(TARGET Qt5::Test ++set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::Test + APPEND PROPERTY + INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\" + ) +-- +2.14.2 + |