From e06ce2eb62bc02824669433c5952c193943e0a7e Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Mon, 2 Mar 2020 16:09:06 +0100 Subject: Fix regression when doing a debug only build with MSVC qt helper libs for msvc will always get a 'd' suffix for debug builds. This is different than for MinGW, where it will only get a 'd' for mixed debug builds in -debug-and-release scenarios (see commit 1749f9184b97). This amends d32a679, which incorrectly removed the 'd' suffix when linking helper libs built for MSVC. Fixes: QTBUG-82620 Change-Id: I8097de0e1bab4d1e58fc37b0c50ee6b07650a626 Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_helper_lib.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs/features') diff --git a/mkspecs/features/qt_helper_lib.prf b/mkspecs/features/qt_helper_lib.prf index 8a9672e603..2bb01515be 100644 --- a/mkspecs/features/qt_helper_lib.prf +++ b/mkspecs/features/qt_helper_lib.prf @@ -60,7 +60,7 @@ win32|CONFIG(static, static|shared) { "QMAKE_DEFINES_$${ucmodule} = $$val_escape(MODULE_DEFINES)" android { MODULE_PRI_CONT += "QMAKE_LIBS_$${ucmodule} =" - } else: qtConfig(debug_and_release): { + } else: if(msvc|qtConfig(debug_and_release)): { win32: \ MODULE_DEBUG_LIBS = $$DESTDIR/$$prefix$${TARGET}d.$$suffix else: darwin: \ -- cgit v1.2.3 From 1309205b8b5a39e9a5c6ca86f104d83095c3890d Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Wed, 19 Feb 2020 18:21:35 +0100 Subject: winrt: Update capability management to include IOT namespace Change-Id: Ib24ecb70454af5ab2e82ebbdc1fed9ef2a52bbb1 Reviewed-by: Oliver Wolff --- mkspecs/features/winrt/package_manifest.prf | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mkspecs/features') diff --git a/mkspecs/features/winrt/package_manifest.prf b/mkspecs/features/winrt/package_manifest.prf index 969343cfd7..22bda003fb 100644 --- a/mkspecs/features/winrt/package_manifest.prf +++ b/mkspecs/features/winrt/package_manifest.prf @@ -123,6 +123,8 @@ UAP3_CAPABILITIES += backgroundMediaPlayback remoteSystem userNotificationListener + IOT_CAPABILITIES += systemManagement + # Capabilities are given as a string list and may change with the configuration (network, sensors, etc.) WINRT_MANIFEST.capabilities = $$unique(WINRT_MANIFEST.capabilities) WINRT_MANIFEST.capabilities_device = $$unique(WINRT_MANIFEST.capabilities_device) @@ -133,6 +135,8 @@ MANIFEST_CAPABILITIES += " " else:contains(UAP3_CAPABILITIES, $$CAPABILITY): \ MANIFEST_CAPABILITIES += " " + else:contains(IOT_CAPABILITIES, $$CAPABILITY): \ + MANIFEST_CAPABILITIES += " " else: \ MANIFEST_CAPABILITIES += " " } -- cgit v1.2.3 From fd72ed794d0325e122cd42cf3c2d0e4874b7b929 Mon Sep 17 00:00:00 2001 From: Fabian Kosmale Date: Mon, 16 Mar 2020 15:11:44 +0100 Subject: Consider qml dependencies from qrc files in static builds qmlimportscanner already has support for qrc files, however the rule in qt.prf did not pass the required arguments to it so far. In combination with the declarative registration of types, this broke static linking. Fixes: QTBUG-82873 Change-Id: I4462645e0b353265f9953807dee73f94923dab9f Reviewed-by: Ulf Hermann Reviewed-by: Andy Shaw --- mkspecs/features/qt.prf | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'mkspecs/features') diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 3a71376029..fc46bcb74b 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -279,7 +279,15 @@ contains(all_qt_module_deps, qml): \ for (QMLPATH, QMLPATHS): \ IMPORTPATHS += -importPath $$system_quote($$QMLPATH) - #message(run $$QMLIMPORTSCANNER $$_PRO_FILE_PWD_ $$IMPORTPATHS) + # add qrc files, too + !isEmpty(RESOURCES) { + IMPORTPATHS += -qrcFiles + for (RESOURCE, RESOURCES): \ + IMPORTPATHS += $$absolute_path($$system_quote($$RESOURCE), $$_PRO_FILE_PWD_) + } + + + # message(run $$QMLIMPORTSCANNER $$_PRO_FILE_PWD_ $$IMPORTPATHS) JSON = $$system($$QMLIMPORTSCANNER $$system_quote($$_PRO_FILE_PWD_) $$IMPORTPATHS) parseJson(JSON, IMPORTS)| error("Failed to parse qmlimportscanner output.") -- cgit v1.2.3 From 50c6882e9f3fcf19a15f6adf0d45b9dfd731c624 Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Tue, 18 Feb 2020 09:24:06 +1000 Subject: wasm: Boost emscripten 1.39.8 as recommended MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ChangeLog][WebAssembly] Updated emscripten to version 1.39.8 Change-Id: I8d19f851eb0c0dd912792cee0db69e61cf4fd5f6 Reviewed-by: Morten Johan Sørvig --- mkspecs/features/wasm/emcc_ver.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs/features') diff --git a/mkspecs/features/wasm/emcc_ver.prf b/mkspecs/features/wasm/emcc_ver.prf index 411f53e95d..3605651494 100644 --- a/mkspecs/features/wasm/emcc_ver.prf +++ b/mkspecs/features/wasm/emcc_ver.prf @@ -1,5 +1,5 @@ defineReplace(qtEmccRecommendedVersion) { - return (1.38.27) + return (1.39.8) } defineReplace(qtSystemEmccVersion) { -- cgit v1.2.3 From 99ace38d22c640e37bb1a41095ee3b126169816a Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 25 Feb 2020 14:18:56 +0100 Subject: CMake: Also import Qt plugins that are not literally named *Plugin There are some plugins in qtlocation, qtdeclarative whose names are not suffixed with 'Plugin', so the current logic fails to load the corresponding QtModule_XXX.cmake file. Work around this by just searching for Qt5$${CMAKE_MODULE_NAME}}_*.cmake. Users can define QT5_STRICT_PLUGIN_GLOB or Qt5$${CMAKE_MODULE_NAME}_STRICT_PLUGIN_GLOB to change back to the old behavior. [ChangeLog][cmake] Fixed an issue where some Qt location and declarative plugins whose name did not end with "Plugin" where not imported by the corresponding Qt component package. You can force the old behavior by setting QT5_STRICT_PLUGIN_GLOB or Qt5ModuleName_STRICT_PLUGIN_GLOB before the find_package(Qt5 ...) call. Fixes: QTBUG-58812 Change-Id: Ic8adf9562841ed49eabc4f7fb2b5ae257ca606cd Reviewed-by: Alexandru Croitor --- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'mkspecs/features') diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index 4c3086a1f6..6eda017d75 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -566,8 +566,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ENDIF // TEMPLATE != aux !!IF isEmpty(CMAKE_INTERNAL_MODULE) - - file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\") + # In Qt 5.15 the glob pattern was relaxed to also catch plugins not literally named "Plugin". + # Define QT5_STRICT_PLUGIN_GLOB or ModuleName_STRICT_PLUGIN_GLOB to revert to old behavior. + if (QT5_STRICT_PLUGIN_GLOB OR Qt5$${CMAKE_MODULE_NAME}_STRICT_PLUGIN_GLOB) + file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\") + else() + file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\") + endif() macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION IsDebugAndRelease) -- cgit v1.2.3 From 45a131d4657506feca6d23feec455d2dcf25fd1e Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 24 Mar 2020 08:30:33 +0100 Subject: Fix whitespace in Qt5XXConfig files Remove some unneeded empty lines, and fix indentation. Change-Id: Ie35e95f35f9625cc75070074be96bdeb62d5fd4c Reviewed-by: Alexandru Croitor --- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'mkspecs/features') diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index 6eda017d75..59b34453f9 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -1,4 +1,3 @@ - if (CMAKE_VERSION VERSION_LESS 3.1.0) message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\") endif() @@ -633,10 +632,8 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) include(${pluginTarget}) endforeach() endif() - !!ENDIF // isEmpty(CMAKE_INTERNAL_MODULE) - !!IF !isEmpty(CMAKE_MODULE_EXTRAS) include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\") !!ENDIF @@ -645,6 +642,5 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}Macros.cmake\") !!ENDIF -_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigVersion.cmake\") - + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigVersion.cmake\") endif() -- cgit v1.2.3 From 0b4ae8e6829e32b2648e66c010c325e9c9a0231c Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Thu, 26 Mar 2020 14:23:21 +0100 Subject: MinGW: Fix build with -angle Since Qt 5.14, debug libs for MinGW don't necessarily have a 'd' suffix anymore. Fixes: QTBUG-83087 Change-Id: Ia9f499ebed05e96fb056134681a2124c2262fb08 Reviewed-by: Joerg Bornemann --- mkspecs/features/win32/opengl.prf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mkspecs/features') diff --git a/mkspecs/features/win32/opengl.prf b/mkspecs/features/win32/opengl.prf index f21848f941..8568a0c379 100644 --- a/mkspecs/features/win32/opengl.prf +++ b/mkspecs/features/win32/opengl.prf @@ -3,8 +3,9 @@ QT_FOR_CONFIG += gui defineTest(prependOpenGlLib) { path = $$QT.core.libs/$$QMAKE_PREFIX_STATICLIB$$1 ext = .$$QMAKE_EXTENSION_STATICLIB + !mingw|qtConfig(debug_and_release): debug_suffix = "d" QMAKE_LIBS_OPENGL_ES2 = $${path}$${ext} $$QMAKE_LIBS_OPENGL_ES2 - QMAKE_LIBS_OPENGL_ES2_DEBUG = $${path}d$${ext} $$QMAKE_LIBS_OPENGL_ES2_DEBUG + QMAKE_LIBS_OPENGL_ES2_DEBUG = $${path}$${debug_suffix}$${ext} $$QMAKE_LIBS_OPENGL_ES2_DEBUG export(QMAKE_LIBS_OPENGL_ES2) export(QMAKE_LIBS_OPENGL_ES2_DEBUG) } -- cgit v1.2.3 From 6387138a7991b4588639dc48847f175b5afaff84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Fri, 27 Mar 2020 11:53:35 +0100 Subject: Pass SDK root to the linker as -isysroot, not -Wl,-syslibroot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The former option to clang will result in more options to the linker, such as the newly introduced -platform_version, which writes the SDK version to the resulting binary. By using the syslibroot flag directly we were missing the platform version, and binaries were left without an SDK version set, resulting in failed validation of the binary. Going with the clang driver gives us the right behavior for free. Fixes: QTBUG-83100 Change-Id: I98bc9ba644dae4bcc7a6a88481556bae185ce5fa Reviewed-by: Simon Hausmann Reviewed-by: Timur Pocheptsov (cherry picked from commit 6a60192ac03d0b4ab542191065122243cebcd1ca) Reviewed-by: Tor Arne Vestbø --- mkspecs/features/mac/default_post.prf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'mkspecs/features') diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf index ba163efc18..92a9112bca 100644 --- a/mkspecs/features/mac/default_post.prf +++ b/mkspecs/features/mac/default_post.prf @@ -198,7 +198,7 @@ macx-xcode { -isysroot$$xcodeSDKInfo(Path, $$sdk) QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \ -Xarch_$${arch} \ - -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk) + -isysroot$$xcodeSDKInfo(Path, $$sdk) QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch}) QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch}) @@ -222,7 +222,7 @@ macx-xcode { version_min_flag = -m$${version_identifier}-version-min=$$deployment_target QMAKE_CFLAGS += -isysroot $$sysroot_path $$version_min_flag QMAKE_CXXFLAGS += -isysroot $$sysroot_path $$version_min_flag - QMAKE_LFLAGS += -Wl,-syslibroot,$$sysroot_path $$version_min_flag + QMAKE_LFLAGS += -isysroot $$sysroot_path $$version_min_flag } # Enable precompiled headers for multiple architectures -- cgit v1.2.3 From 615204e0762c2e12077e8c8dd3c6d29b9648f163 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Fri, 3 Apr 2020 12:54:00 +0200 Subject: Fix linking of header only Qt5Zlib for cmake static builds Fixes: QTBUG-79547 Change-Id: Ibd810b5415ae8f7a965caf8b94b0df834a867836 Reviewed-by: Alexandru Croitor --- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mkspecs/features') diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index 1099a761ce..aa36cb13ef 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -406,8 +406,12 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ENDIF endif() +!!IF equals(TEMPLATE, aux) + add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED) +!!ELSE add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED) set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX") +!!ENDIF !!ELSE !!IF equals(TEMPLATE, aux) add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED) -- cgit v1.2.3