aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO141
-rw-r--r--0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch41
-rw-r--r--0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch8
-rw-r--r--0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch (renamed from 0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch)8
-rw-r--r--0003-Use-external-ANGLE-library.patch97
-rw-r--r--0004-Make-sure-.pc-files-are-installed-correctly.patch (renamed from 0005-Make-sure-.pc-files-are-installed-correctly.patch)20
-rw-r--r--0005-Don-t-add-resource-files-to-LIBS-parameter.patch (renamed from 0006-Don-t-add-resource-files-to-LIBS-parameter.patch)10
-rw-r--r--0006-Prevent-debug-library-names-in-pkg-config-files.patch (renamed from 0007-Prevent-debug-library-names-in-pkg-config-files.patch)10
-rw-r--r--0007-Fix-linking-against-shared-static-libpng.patch (renamed from 0008-Fix-linking-against-shared-static-libpng.patch)10
-rw-r--r--0008-Fix-linking-against-static-D-Bus.patch (renamed from 0009-Fix-linking-against-static-D-Bus.patch)12
-rw-r--r--0009-Don-t-try-to-use-debug-version-of-D-Bus-library.patch (renamed from 0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch)10
-rw-r--r--0010-Fix-linking-against-static-freetype2.patch (renamed from 0011-Fix-linking-against-static-freetype2.patch)21
-rw-r--r--0011-Fix-linking-against-static-harfbuzz.patch (renamed from 0012-Fix-linking-against-static-harfbuzz.patch)12
-rw-r--r--0012-Fix-linking-against-static-pcre.patch28
-rw-r--r--0013-Fix-linking-against-shared-static-MariaDB.patch (renamed from 0014-Fix-linking-against-shared-static-MariaDB.patch)10
-rw-r--r--0013-Fix-linking-against-static-pcre.patch28
-rw-r--r--0014-Fix-linking-against-shared-static-PostgreSQL.patch (renamed from 0015-Fix-linking-against-shared-static-PostgreSQL.patch)12
-rw-r--r--0015-Rename-qtmain-to-qt5main.patch (renamed from 0016-Rename-qtmain-to-qt5main.patch)54
-rw-r--r--0016-Enable-rpath-for-build-tools.patch (renamed from 0018-Enable-rpath-for-build-tools.patch)8
-rw-r--r--0017-Build-dynamic-host-libraries.patch41
-rw-r--r--0017-Use-system-zlib-for-build-tools.patch (renamed from 0019-Use-system-zlib-for-build-tools.patch)10
-rw-r--r--0018-Merge-shared-and-static-library-trees.patch (renamed from 0021-Merge-shared-and-static-library-trees.patch)124
-rw-r--r--0019-Use-.dll.a-as-import-lib-extension.patch120
-rw-r--r--0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch503
-rw-r--r--0020-Use-.dll.a-as-import-lib-extension.patch66
-rw-r--r--0021-Allow-usage-of-static-version-with-CMake.patch (renamed from 0023-Allow-usage-of-static-version-with-CMake.patch)582
-rw-r--r--0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch (renamed from 0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch)26
-rw-r--r--0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch282
-rw-r--r--0023-Use-correct-pkg-config-static-flag.patch (renamed from 0025-Use-correct-pkg-config-static-flag.patch)10
-rw-r--r--0024-Fix-macro-invoking-moc-rcc-and-uic.patch (renamed from 0026-Fix-macro-invoking-moc-rcc-and-uic.patch)20
-rw-r--r--0025-Ignore-errors-about-missing-feature-static.patch (renamed from 0027-Ignore-errors-about-missing-feature-static.patch)14
-rw-r--r--0026-Enable-and-fix-use-of-iconv.patch (renamed from 0028-Enable-and-fix-use-of-iconv.patch)14
-rw-r--r--0027-Ignore-failing-pkg-config-test.patch (renamed from 0029-Ignore-failing-pkg-config-test.patch)10
-rw-r--r--0028-Prevent-qmake-from-messing-static-lib-dependencies.patch (renamed from 0030-Prevent-qmake-from-messing-static-lib-dependencies.patch)22
-rw-r--r--0029-Hardcode-linker-flags-for-platform-plugins.patch178
-rw-r--r--0030-Fix-linking-against-static-plugins-with-qmake.patch (renamed from 0032-Fix-linking-against-static-plugins-with-qmake.patch)10
-rw-r--r--0031-Hardcode-linker-flags-for-platform-plugins.patch153
-rw-r--r--0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch37
-rw-r--r--0032-Fix-crashes-in-rasterization-code-using-setjmp.patch248
-rw-r--r--0033-Disable-hardware-randomizer-for-32-bit.patch49
-rw-r--r--0034-Prevent-static-build-to-prefer-dynamic-libraries.patch37
-rw-r--r--PKGBUILD362
-rw-r--r--PKGBUILD.sh.ep1
-rw-r--r--README.md15
-rw-r--r--qtbase-sha256.txt1
45 files changed, 1954 insertions, 1521 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d37a7a483be2..2a29f6934f1a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mingw-w64-qt5-base
- pkgdesc = A cross-platform application and UI framework (mingw-w64)
- pkgver = 5.12.1
+ pkgdesc = A cross-platform application and UI framework, native OpenGL backend (mingw-w64)
+ pkgver = 5.15.13+kde+r138
pkgrel = 1
url = https://www.qt.io/
arch = i686
@@ -13,7 +13,10 @@ pkgbase = mingw-w64-qt5-base
makedepends = mingw-w64-gcc
makedepends = mingw-w64-postgresql
makedepends = mingw-w64-mariadb-connector-c
+ makedepends = mingw-w64-vulkan-headers
makedepends = mingw-w64-pkg-config
+ makedepends = mingw-w64-environment
+ makedepends = git
depends = mingw-w64-crt
depends = mingw-w64-zlib
depends = mingw-w64-libjpeg-turbo
@@ -23,82 +26,78 @@ pkgbase = mingw-w64-qt5-base
depends = mingw-w64-dbus
depends = mingw-w64-harfbuzz
depends = mingw-w64-pcre2
+ optdepends = mingw-w64-mesa: use LLVMpipe software rasterizer for Qt Quick
optdepends = mingw-w64-postgresql: PostgreSQL support
optdepends = mingw-w64-mariadb-connector-c: MySQL support
options = !strip
options = !buildflags
options = staticlibs
options = !emptydirs
- source = https://download.qt.io/official_releases/qt/5.12/5.12.1/submodules/qtbase-everywhere-src-5.12.1.tar.xz
+ source = git+https://invent.kde.org/qt/qt/qtbase#commit=b9906b5233a80cab372c95ac4dd68b25bdca0646
source = 0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch
source = 0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch
- source = 0003-Use-external-ANGLE-library.patch
- source = 0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch
- source = 0005-Make-sure-.pc-files-are-installed-correctly.patch
- source = 0006-Don-t-add-resource-files-to-LIBS-parameter.patch
- source = 0007-Prevent-debug-library-names-in-pkg-config-files.patch
- source = 0008-Fix-linking-against-shared-static-libpng.patch
- source = 0009-Fix-linking-against-static-D-Bus.patch
- source = 0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch
- source = 0011-Fix-linking-against-static-freetype2.patch
- source = 0012-Fix-linking-against-static-harfbuzz.patch
- source = 0013-Fix-linking-against-static-pcre.patch
- source = 0014-Fix-linking-against-shared-static-MariaDB.patch
- source = 0015-Fix-linking-against-shared-static-PostgreSQL.patch
- source = 0016-Rename-qtmain-to-qt5main.patch
- source = 0017-Build-dynamic-host-libraries.patch
- source = 0018-Enable-rpath-for-build-tools.patch
- source = 0019-Use-system-zlib-for-build-tools.patch
- source = 0020-Use-.dll.a-as-import-lib-extension.patch
- source = 0021-Merge-shared-and-static-library-trees.patch
- source = 0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch
- source = 0023-Allow-usage-of-static-version-with-CMake.patch
- source = 0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch
- source = 0025-Use-correct-pkg-config-static-flag.patch
- source = 0026-Fix-macro-invoking-moc-rcc-and-uic.patch
- source = 0027-Ignore-errors-about-missing-feature-static.patch
- source = 0028-Enable-and-fix-use-of-iconv.patch
- source = 0029-Ignore-failing-pkg-config-test.patch
- source = 0030-Prevent-qmake-from-messing-static-lib-dependencies.patch
- source = 0031-Hardcode-linker-flags-for-platform-plugins.patch
- source = 0032-Fix-linking-against-static-plugins-with-qmake.patch
- source = 0033-Disable-hardware-randomizer-for-32-bit.patch
- source = 0034-Prevent-static-build-to-prefer-dynamic-libraries.patch
- sha256sums = 533078ce02678988576e224cb3844979907950cf83e0fda3364bc1d5701c9049
- sha256sums = 4e1dbb878b77dbba96a9564ecbded6dbd74482b52e1cf4becaa1ce741c8cf489
- sha256sums = f54815ff2fede9dbdc0ade572305ff684940714ca65e76d25f5b15cd0cb0a3da
- sha256sums = c60e6cef5d0c95b6d034ade75fde3cf150e1570f5ca62d6b32d942abcb937f86
- sha256sums = 0a82cde28edae5abb8d624cea407db515c1d52e8963f07aa8430c1d1f810e54a
- sha256sums = 39059ed786851c1cdf416c4d0a9a5b042edda83bddd03b5bfcbcae1eaf8f7694
- sha256sums = 4ef83cf4d211c446a5715cfa422f130492ae18bfb5cb42db9ff6516ed7fb29f1
- sha256sums = 48ee96ffc01d5ab7c648f4aae6cee286992e4eb406e48718058092206f8ad2eb
- sha256sums = 58f27f2359b3571aac44a3770a705692eed9e6fd24b6e6bf730e7aad5ee4a030
- sha256sums = cf6154d83655efbf30281c4f83d29feb252fd104849f8e2ad495da688e581314
- sha256sums = edf080092f4d158d2e42cedd50f80b3b5715ae47f740b16fa43132f1dc68cf9d
- sha256sums = 1c3c46c26809e59e91732d2ff082a445dac4986294f400277272c2337d8c21f3
- sha256sums = 3ee7b4f4ed6ea86794a5d119c7000033d0f61208150e37f35428e52611f7ae3f
- sha256sums = 1d18e225c4bda89fe024a47834a8b79d9c8e4d1ba884d7dc6b07a93bf0307a85
- sha256sums = 2affe7ac03016cfd536f63d61c0f5bd42932fc3823b7f2dbabca9c2db5a53ae6
- sha256sums = d0a2e33d20c4d6063f7546fbc84d2f6a5a96955f998ba7af4320bc005fa2a722
- sha256sums = 9941e9c883496bb3409a12ef3f73b6f3d76e106061381deb74380eafb1ac472f
- sha256sums = f336402daf227aa529080ab31612a205c936438ecbfab3627252164d8903c1b1
- sha256sums = 8cf716c22bf0fface6e3c015cd4d621425e3b20771b15ab03eeeeb59db248756
- sha256sums = 95f9847a1fe05ad78ae4a682208894d995becc0ca4f3463d39781e8a52543017
- sha256sums = 132fc790cfa528063fe95c3bc104826cb82105cd24e05ed77593115212987dc3
- sha256sums = 8ace42d2ec1b7a05a6bacf93f899775906c407f349efbbd2533b942fb474f200
- sha256sums = 8849864de4abf2dd70ffe2fe70aabb608c296eccdc41e6f4061645bd39f63c50
- sha256sums = 60ca9adfe6ae46d6dc7b4874c3202b46bc57f6649a45fb5301e4e4b63e70aa5e
- sha256sums = 47f83f04256afe1bd8701c31673e00e445b65840b5fe2bd132a98c8f292aa9c4
- sha256sums = 305b30fad80fba756bd3ad6c34c95030fc3927d52a3dc9b90d2705b390831734
- sha256sums = 91f37e9098e78881c1953c85e592e108be27dae08a83278f4a9885cb296a6871
- sha256sums = 9ca5f2175d8679b7312d8cb718ddc648e161a6aae631b5d4c9e528594a020d1a
- sha256sums = 3a5619542cb549ba7cc2bf1f9b77d524e5f9aa78d1e8dea6cd75c4f09b6aabc9
- sha256sums = e30cf84af1ff7764cb0e0644a7bfbde920f463af9c24aab53abef9cf3410ceb3
- sha256sums = fdd36ed82c5a8df7a0157b4ce9a3be16ec4c2b98cdf071a2be662603045da652
- sha256sums = 55b42d68ca7981ef777a7f081f840b1b80ada8c0dc9508092ec9fba151a88dfd
- sha256sums = 06f98f6ce25da7010e7398111ee7b79f380b79a7ab125eba3ef6d051af92cf8a
- sha256sums = 5a097dc80dc07aa755e77c50a469c3c08bf5b562ad9b116dbbf891a072e7bdc2
- sha256sums = 66047e08db2282d69563b3081b847fa7c041c3c387ab00ca72ff481b91124925
+ source = 0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch
+ source = 0004-Make-sure-.pc-files-are-installed-correctly.patch
+ source = 0005-Don-t-add-resource-files-to-LIBS-parameter.patch
+ source = 0006-Prevent-debug-library-names-in-pkg-config-files.patch
+ source = 0007-Fix-linking-against-shared-static-libpng.patch
+ source = 0008-Fix-linking-against-static-D-Bus.patch
+ source = 0009-Don-t-try-to-use-debug-version-of-D-Bus-library.patch
+ source = 0010-Fix-linking-against-static-freetype2.patch
+ source = 0011-Fix-linking-against-static-harfbuzz.patch
+ source = 0012-Fix-linking-against-static-pcre.patch
+ source = 0013-Fix-linking-against-shared-static-MariaDB.patch
+ source = 0014-Fix-linking-against-shared-static-PostgreSQL.patch
+ source = 0015-Rename-qtmain-to-qt5main.patch
+ source = 0016-Enable-rpath-for-build-tools.patch
+ source = 0017-Use-system-zlib-for-build-tools.patch
+ source = 0018-Merge-shared-and-static-library-trees.patch
+ source = 0019-Use-.dll.a-as-import-lib-extension.patch
+ source = 0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch
+ source = 0021-Allow-usage-of-static-version-with-CMake.patch
+ source = 0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch
+ source = 0023-Use-correct-pkg-config-static-flag.patch
+ source = 0024-Fix-macro-invoking-moc-rcc-and-uic.patch
+ source = 0025-Ignore-errors-about-missing-feature-static.patch
+ source = 0026-Enable-and-fix-use-of-iconv.patch
+ source = 0027-Ignore-failing-pkg-config-test.patch
+ source = 0028-Prevent-qmake-from-messing-static-lib-dependencies.patch
+ source = 0029-Hardcode-linker-flags-for-platform-plugins.patch
+ source = 0030-Fix-linking-against-static-plugins-with-qmake.patch
+ source = 0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch
+ source = 0032-Fix-crashes-in-rasterization-code-using-setjmp.patch
+ sha256sums = 06e49a14145574834d4d04f73e6baf662ee5e72e78973e1d7d0fe614472a80a4
+ sha256sums = 11c2b54df2b5ea031c2103366d0b27d0786c3420b29cca391cc0015fd35264d7
+ sha256sums = 2b00e98c8c8acb1a453191be77a2f7a9188e030480864e58ac39b517bb63ffb5
+ sha256sums = 5131dff4db6f63e36ea364ce59b2fdb047fbb6d55e6543316054f6ebcd76711b
+ sha256sums = 3147a21ccad3026a06d8b622db96949d51f32b6a1d25c8aae5fe5a95c3e95625
+ sha256sums = 4bd74cc1d78da412faac71b5357fd86fea3f1781d0b554f8f7fd3684c833e8ce
+ sha256sums = e566e5cdd5bc077c35054be1465148acd5ee209e609690c670b78df88cc9295b
+ sha256sums = 7fe1dc6c1251c16c4236924cb5a03ac55d1dca051bd9d99fbf7b35f91454fda3
+ sha256sums = c054851c46036710ff6f025a48d4b5b2d6e5d5d54c74b73c2cb81b00bdfa029a
+ sha256sums = a2702d6ca3f696ca3c77b00df7bb512f5f3430fce109048c62c97d294758efd8
+ sha256sums = 395339c3dde4115283db948899980e536a355422190bc90850efdc3438c527d8
+ sha256sums = c386790a879e68b9d00bfe9f14afa67d8a374de57bdea164a5252499ec34cbcb
+ sha256sums = 576177950e99f62d05bee487dd5ae1b731fe4acf438553c74e7c48631dd8789b
+ sha256sums = 02bc0ce27d7835829d4e84580fb0a0b864b36b14331a166dba88f1942a6414a3
+ sha256sums = 736de6cd28c8efb1729f926c1fa42c963c7f1d3a9e4b56b098906b570473320f
+ sha256sums = 294f3ab13a546a1bfeae472cf7342e2bce6c058a6867d19038ba1c194fb33b8d
+ sha256sums = 8f202adf905ebce78dd2942d17c0d935f0de7014ffa75840310edc0bd790ff03
+ sha256sums = 129b4667c5e3cfe68040cbae2fce487e2d016bcbe2380a5ba410b225279f71b9
+ sha256sums = fbd8cd4680e10074f90bf79d9d08ad787b483cf7c21250d1db1c8a5c829a1d83
+ sha256sums = 05a29084b9bc3324beefb9ae6d00ea68c3b3c51a0b4595c024300949c906d7fd
+ sha256sums = 7843f5be44b9b367cb81c143c6d670e6a5be40510848c09a1448d921c3437639
+ sha256sums = 7002db8f819bf34cafda04dc4d288fef58aec9e409230dc68fcb542cb48f09bb
+ sha256sums = 57607c662e6d68f2ca856617c8d7cfaa05ba8332ea70b67ab628a8f0cf2ca032
+ sha256sums = 5910c4567348101d0a87197b2e52e59673467247ca4ffc89cba5701d98373435
+ sha256sums = 0181986547b7c70bf2bc8de31198240f99a92e4cfdb1db81c7b99b849c416c1f
+ sha256sums = 9e692f956dffa5c936a2911d8418746b19197962111b4f0f45b33972ed3890f2
+ sha256sums = 1d5e09034c9c903653d10c3983e4dcb710ebe8f08694e5e55199a3e4acb8f629
+ sha256sums = 5379cea6fd54a16e7f67b617bf3582c08f8934ae8d699e85ad21f20dcf192424
+ sha256sums = 82d1db9d4536350fe2549c400487018a8477a15da83a568240a013a6d82dfe92
+ sha256sums = 01413344603a8e99f7b0280e7f297de4ea415e0c5011b1dac116eaf25082220b
+ sha256sums = 4f88801a586c35515fd982f8e465fb4546ef38765c6a2abe1e8ca69e3700d799
+ sha256sums = b4dad74bbe2731aaa8711408fe509344e7e6049def897389f7e2a86423f3377e
+ sha256sums = 17f251d456713c920c6581659c54b9c372e1a329081b2ed9d9826e9e0ddd317a
pkgname = mingw-w64-qt5-base
-
diff --git a/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch b/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch
index 96b590a38c29..eb7f5cf67103 100644
--- a/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch
+++ b/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch
@@ -1,25 +1,27 @@
-From 2ac45582566cb492858de99cf06cabf2fa575e30 Mon Sep 17 00:00:00 2001
+From c134da249ee5459358292e1665b69aede5035c5b Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 3 Feb 2017 18:30:51 +0100
-Subject: [PATCH 01/34] Adjust win32-g++ profile for cross compilation with
+Subject: [PATCH 01/32] Adjust win32-g++ profile for cross compilation with
mingw-w64
Adding a new, separate mkspec instead of patching the existing one
-might be the cleaner solution. However tools like windeployqt and
+might be the cleaner solution. However, tools like windeployqt and
qbs do checks based on the hardcoded mkspec name to detect MinGW.
So for this to work, the mkspec must be called win32-g++.
Also see the following issues:
* https://github.com/Martchus/PKGBUILDs/issues/59
* https://github.com/Martchus/PKGBUILDs/issues/60
+
+Change-Id: I94f5a6c44c112bd44a84f802712077bc14782b4c
---
- mkspecs/common/g++-win32.conf | 52 ++++++++++++++++++++----------
+ mkspecs/common/g++-win32.conf | 51 ++++++++++++++++++++----------
mkspecs/win32-clang-g++/qmake.conf | 4 +--
mkspecs/win32-g++/qmake.conf | 4 +--
- 3 files changed, 39 insertions(+), 21 deletions(-)
+ 3 files changed, 38 insertions(+), 21 deletions(-)
diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf
-index f0df324b64..07e2b6a88e 100644
+index c3a1f3a3732..0cc6e93c93e 100644
--- a/mkspecs/common/g++-win32.conf
+++ b/mkspecs/common/g++-win32.conf
@@ -8,18 +8,24 @@
@@ -50,15 +52,15 @@ index f0df324b64..07e2b6a88e 100644
# can't add 'DEFINES += WIN64' and 'QMAKE_COMPILER_DEFINES += _WIN64' defines for
# x86_64 platform similar to 'msvc-desktop.conf' toolchain, because, unlike for MSVC,
# 'QMAKE_TARGET.arch' is inherently unavailable.
-@@ -34,6 +40,7 @@ QMAKE_CFLAGS_SSE2 += -mstackrealign
- QMAKE_CXXFLAGS_RTTI_ON = -frtti
- QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
+@@ -32,6 +38,7 @@ QMAKE_YACCFLAGS = -d
+ QMAKE_CFLAGS_SSE2 += -mstackrealign
+
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
+QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
QMAKE_INCDIR =
-@@ -43,40 +50,51 @@ QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
+@@ -41,40 +48,50 @@ QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
@@ -91,12 +93,11 @@ index f0df324b64..07e2b6a88e 100644
-QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32
-QMAKE_LIBS_NETWORK = -lws2_32
+QMAKE_LIBS_CORE = -lz -lpcre2-16 -liconv -lversion -lnetapi32 -luserenv -lole32 -luuid -lwinmm -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
-+QMAKE_LIBS_GUI = -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng \
-+ $$system($${QMAKE_PKG_CONFIG} --libs harfbuzz) \
-+ $$system($${QMAKE_PKG_CONFIG} --libs freetype2)
-+QMAKE_LIBS_GUI_STATIC = -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng \
-+ $$system($${QMAKE_PKG_CONFIG} --static --libs harfbuzz) \
-+ $$system($${QMAKE_PKG_CONFIG} --static --libs freetype2)
++QMAKE_LIBS_GUI = $$system($${QMAKE_PKG_CONFIG} --libs harfbuzz) $$system($${QMAKE_PKG_CONFIG} --libs freetype2) \
++ -ljpeg -lpng -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32
++QMAKE_LIBS_GUI_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs harfbuzz) \
++ $$system($${QMAKE_PKG_CONFIG} --static --libs freetype2) \
++ -ljpeg -lpng -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ldxgi -ld3d11
+QMAKE_LIBS_NETWORK = -lws2_32 -lcrypt32 -ldnsapi -liphlpapi
+QMAKE_LIBS_NETWORK_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs openssl) -lws2_32 -lcrypt32 -ldnsapi -liphlpapi
+QMAKE_LIBS_DBUS = $$system($${QMAKE_PKG_CONFIG} --libs dbus-1)
@@ -125,7 +126,7 @@ index f0df324b64..07e2b6a88e 100644
-include(angle.conf)
-include(windows-vulkan.conf)
diff --git a/mkspecs/win32-clang-g++/qmake.conf b/mkspecs/win32-clang-g++/qmake.conf
-index 4630ec4602..3f9fdc72b1 100644
+index 59d42176f03..f8cb9859f28 100644
--- a/mkspecs/win32-clang-g++/qmake.conf
+++ b/mkspecs/win32-clang-g++/qmake.conf
@@ -14,11 +14,11 @@ include(../common/g++-win32.conf)
@@ -143,10 +144,10 @@ index 4630ec4602..3f9fdc72b1 100644
QMAKE_LINK = $${CROSS_COMPILE}clang++
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
-index ed131c6823..b8e08df0be 100644
+index 5de482f23b5..3c3d22c6993 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
-@@ -12,11 +12,11 @@ include(../common/g++-win32.conf)
+@@ -13,11 +13,11 @@ include(../common/windows-desktop.conf)
# modifications to g++-win32.conf
QMAKE_CC = $${CROSS_COMPILE}gcc
@@ -161,5 +162,5 @@ index ed131c6823..b8e08df0be 100644
QMAKE_LINK = $${CROSS_COMPILE}g++
--
-2.20.1
+2.44.0
diff --git a/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch b/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch
index e3d0f710364c..8d45fa0b914a 100644
--- a/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch
+++ b/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch
@@ -1,7 +1,7 @@
-From 1083693a799b03cde91c83ff25d890640c01d780 Mon Sep 17 00:00:00 2001
+From acadba49c80804a908477f9a367c645fdf4300cc Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 13:36:53 +0200
-Subject: [PATCH 02/34] Ensure GLdouble is defined when using dynamic OpenGL
+Subject: [PATCH 02/32] Ensure GLdouble is defined when using dynamic OpenGL
FIXME: Not sure whether this is still required
---
@@ -9,7 +9,7 @@ FIXME: Not sure whether this is still required
1 file changed, 2 deletions(-)
diff --git a/src/gui/opengl/qopenglfunctions.h b/src/gui/opengl/qopenglfunctions.h
-index 00287b0665..35ad3007d1 100644
+index 4554291bbd9..23d55bddebd 100644
--- a/src/gui/opengl/qopenglfunctions.h
+++ b/src/gui/opengl/qopenglfunctions.h
@@ -56,9 +56,7 @@
@@ -23,5 +23,5 @@ index 00287b0665..35ad3007d1 100644
#ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG
#include <stdio.h>
--
-2.20.1
+2.44.0
diff --git a/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch b/0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch
index 6261b6283119..c860bc808f61 100644
--- a/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch
+++ b/0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch
@@ -1,7 +1,7 @@
-From 987045e209769c2b4f8f48046167b5ef9106dd70 Mon Sep 17 00:00:00 2001
+From d3cb4d3b96c01f151e15dc1017f2687f7d8102c3 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 13:48:51 +0200
-Subject: [PATCH 04/34] Fix too many sections assemler error in OpenGL factory
+Subject: [PATCH 03/32] Fix too many sections assemler error in OpenGL factory
On x86_64 qopenglversionfunctionsfactory.o exceeds the
limit of 32768 sections.
@@ -11,7 +11,7 @@ Hence the assembler option -mbig-obj is required.
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gui/opengl/opengl.pri b/src/gui/opengl/opengl.pri
-index 24758afdeb..aa04b4a672 100644
+index 24758afdeb3..aa04b4a672e 100644
--- a/src/gui/opengl/opengl.pri
+++ b/src/gui/opengl/opengl.pri
@@ -3,7 +3,8 @@
@@ -25,5 +25,5 @@ index 24758afdeb..aa04b4a672 100644
HEADERS += opengl/qopengl.h \
opengl/qopengl_p.h \
--
-2.20.1
+2.44.0
diff --git a/0003-Use-external-ANGLE-library.patch b/0003-Use-external-ANGLE-library.patch
deleted file mode 100644
index f364abc566ef..000000000000
--- a/0003-Use-external-ANGLE-library.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 0be0cdb753a85725e603a02ada330cc9fd2c161e Mon Sep 17 00:00:00 2001
-From: Martchus <martchus@gmx.net>
-Date: Sun, 18 Sep 2016 13:41:38 +0200
-Subject: [PATCH 03/34] Use external ANGLE library
-
----
- src/gui/Qt5GuiConfigExtras.cmake.in | 4 ++--
- src/gui/gui.pro | 8 ++------
- src/opengl/opengl.pro | 1 +
- src/plugins/platforms/windows/windows.pri | 1 +
- src/src.pro | 4 ----
- 5 files changed, 6 insertions(+), 12 deletions(-)
-
-diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
-index 07869efd7d..2e32911a64 100644
---- a/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ b/src/gui/Qt5GuiConfigExtras.cmake.in
-@@ -2,9 +2,9 @@
- !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
-
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\")
- !!ELSE
--set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\")
- !!ENDIF
-
- _qt5_Gui_check_file_exists(${Qt5Gui_EGL_INCLUDE_DIRS})
-diff --git a/src/gui/gui.pro b/src/gui/gui.pro
-index 06c9cd3939..cb1314c1ef 100644
---- a/src/gui/gui.pro
-+++ b/src/gui/gui.pro
-@@ -18,12 +18,6 @@ MODULE_PLUGIN_TYPES = \
- imageformats \
- egldeviceintegrations
-
--# This is here only because the platform plugin is no module, obviously.
--qtConfig(angle) {
-- MODULE_AUX_INCLUDES = \
-- \$\$QT_MODULE_INCLUDE_BASE/QtANGLE
--}
--
- # Code coverage with TestCocoon
- # The following is required as extra compilers use $$QMAKE_CXX instead of $(CXX).
- # Without this, testcocoon.prf is read only after $$QMAKE_CXX is used by the
-@@ -35,6 +29,8 @@ testcocoon {
- osx: LIBS_PRIVATE += -framework AppKit
- darwin: LIBS_PRIVATE += -framework CoreGraphics
-
-+win32:qtConfig(angle): LIBS_PRIVATE += -lGLESv2
-+
- CONFIG += simd optimize_full
-
- include(accessible/accessible.pri)
-diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
-index 8b2349ff2f..f5e43c6adc 100644
---- a/src/opengl/opengl.pro
-+++ b/src/opengl/opengl.pro
-@@ -10,6 +10,7 @@ QMAKE_DOCS = $$PWD/doc/qtopengl.qdocconf
-
- qtConfig(opengl): CONFIG += opengl
- qtConfig(opengles2): CONFIG += opengles2
-+win32:qtConfig(angle): LIBS_PRIVATE += -lGLESv2
-
- HEADERS += qgl.h \
- qgl_p.h \
-diff --git a/src/plugins/platforms/windows/windows.pri b/src/plugins/platforms/windows/windows.pri
-index 7004d7e854..a0b0bd81db 100644
---- a/src/plugins/platforms/windows/windows.pri
-+++ b/src/plugins/platforms/windows/windows.pri
-@@ -4,6 +4,7 @@ LIBS += -lole32 -luser32 -lwinspool -limm32 -lwinmm -loleaut32
- QT_FOR_CONFIG += gui
-
- qtConfig(opengl):!qtConfig(opengles2):!qtConfig(dynamicgl): LIBS *= -lopengl32
-+qtConfig(angle):LIBS += -lGLESv2 -lEGL
-
- mingw: LIBS *= -luuid
- # For the dialog helpers:
-diff --git a/src/src.pro b/src/src.pro
-index 1c76a2e46f..6a5f046b34 100644
---- a/src/src.pro
-+++ b/src/src.pro
-@@ -199,10 +199,6 @@ qtConfig(gui) {
- SUBDIRS += src_3rdparty_harfbuzzng
- src_gui.depends += src_3rdparty_harfbuzzng
- }
-- qtConfig(angle) {
-- SUBDIRS += src_angle
-- src_gui.depends += src_angle
-- }
- qtConfig(png):!qtConfig(system-png) {
- SUBDIRS += src_3rdparty_libpng
- src_3rdparty_freetype.depends += src_3rdparty_libpng
---
-2.20.1
-
diff --git a/0005-Make-sure-.pc-files-are-installed-correctly.patch b/0004-Make-sure-.pc-files-are-installed-correctly.patch
index 77cc1ad19b9e..ab7ade7f8599 100644
--- a/0005-Make-sure-.pc-files-are-installed-correctly.patch
+++ b/0004-Make-sure-.pc-files-are-installed-correctly.patch
@@ -1,7 +1,7 @@
-From 08286bb3f862fdc5f6cbdbb104d56d29d06b840a Mon Sep 17 00:00:00 2001
+From ed34f597de640c8ef123db60931353894564aa8d Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 13:54:12 +0200
-Subject: [PATCH 05/34] Make sure *.pc files are installed correctly
+Subject: [PATCH 04/32] Make sure *.pc files are installed correctly
---
qmake/generators/makefile.cpp | 8 ++++++--
@@ -10,10 +10,10 @@ Subject: [PATCH 05/34] Make sure *.pc files are installed correctly
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
-index f824f12bce..07abba9e5f 100644
+index 7ff921549da..fc996663d8d 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
-@@ -3227,7 +3227,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
+@@ -3242,7 +3242,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
}
QString
@@ -22,7 +22,7 @@ index f824f12bce..07abba9e5f 100644
{
QString ret = project->first("QMAKE_PKGCONFIG_FILE").toQString();
if (ret.isEmpty()) {
-@@ -3252,7 +3252,11 @@ MakefileGenerator::pkgConfigFileName(bool fixify)
+@@ -3267,7 +3267,11 @@ MakefileGenerator::pkgConfigFileName(bool fixify)
if(fixify) {
if(QDir::isRelativePath(ret) && !project->isEmpty("DESTDIR"))
ret.prepend(project->first("DESTDIR").toQString());
@@ -36,10 +36,10 @@ index f824f12bce..07abba9e5f 100644
return ret;
}
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
-index 0535017ff6..b2f8b961c0 100644
+index 106069c454b..5252a7eaa12 100644
--- a/qmake/generators/makefile.h
+++ b/qmake/generators/makefile.h
-@@ -92,7 +92,7 @@ protected:
+@@ -96,7 +96,7 @@ protected:
virtual void writeDefaultVariables(QTextStream &t);
QString pkgConfigPrefix() const;
@@ -49,10 +49,10 @@ index 0535017ff6..b2f8b961c0 100644
void writePkgConfigFile(); // for pkg-config
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
-index 6046e5791e..87157f31ae 100644
+index 5e446bd7e2b..183cef29089 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
-@@ -751,7 +751,7 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t)
+@@ -775,7 +775,7 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t)
}
if(!ret.isEmpty())
ret += "\n\t";
@@ -62,5 +62,5 @@ index 6046e5791e..87157f31ae 100644
uninst.append("\n\t");
uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc));
--
-2.20.1
+2.44.0
diff --git a/0006-Don-t-add-resource-files-to-LIBS-parameter.patch b/0005-Don-t-add-resource-files-to-LIBS-parameter.patch
index 842d9c28242b..8d3fb47348ce 100644
--- a/0006-Don-t-add-resource-files-to-LIBS-parameter.patch
+++ b/0005-Don-t-add-resource-files-to-LIBS-parameter.patch
@@ -1,7 +1,7 @@
-From fdec0d79a76384fcefd55c06722380a2eccbbe22 Mon Sep 17 00:00:00 2001
+From a99587c177203e31c8cfbc825be56866c5a4f747 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 13:58:28 +0200
-Subject: [PATCH 06/34] Don't add resource files to LIBS parameter
+Subject: [PATCH 05/32] Don't add resource files to LIBS parameter
Solves an issue where the generated pkg-config
files contained invalid Libs.private references
@@ -11,10 +11,10 @@ like .obj/debug/Qt5Cored_resource_res.o
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
-index de7363e51b..b2b9d01799 100644
+index ee9a41838bc..8d1dcae85bb 100644
--- a/qmake/generators/win32/mingw_make.cpp
+++ b/qmake/generators/win32/mingw_make.cpp
-@@ -209,7 +209,7 @@ void MingwMakefileGenerator::init()
+@@ -147,7 +147,7 @@ void MingwMakefileGenerator::init()
processVars();
@@ -24,5 +24,5 @@ index de7363e51b..b2b9d01799 100644
if (project->isActiveConfig("dll")) {
QString destDir = "";
--
-2.20.1
+2.44.0
diff --git a/0007-Prevent-debug-library-names-in-pkg-config-files.patch b/0006-Prevent-debug-library-names-in-pkg-config-files.patch
index bc386a79a343..b49319e68781 100644
--- a/0007-Prevent-debug-library-names-in-pkg-config-files.patch
+++ b/0006-Prevent-debug-library-names-in-pkg-config-files.patch
@@ -1,7 +1,7 @@
-From a7d2f0dacfb8e30058dcacf34450a467a5ff5d94 Mon Sep 17 00:00:00 2001
+From 6456e33a0b4797be08898dce2ce4ccce1c07bef8 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 14:01:14 +0200
-Subject: [PATCH 07/34] Prevent debug library names in pkg-config files
+Subject: [PATCH 06/32] Prevent debug library names in pkg-config files
qmake generates the pkgconfig .pc files two times, once for the
release build and once for the debug build (which we're not actually
@@ -15,10 +15,10 @@ files for the debug build an unique file name.
1 file changed, 3 insertions(+)
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
-index 07abba9e5f..e640fb8079 100644
+index fc996663d8d..23ac736fc06 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
-@@ -3241,6 +3241,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
+@@ -3256,6 +3256,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
if (dot != -1)
ret = ret.left(dot);
}
@@ -29,5 +29,5 @@ index 07abba9e5f..e640fb8079 100644
QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
if(!subdir.isEmpty()) {
--
-2.20.1
+2.44.0
diff --git a/0008-Fix-linking-against-shared-static-libpng.patch b/0007-Fix-linking-against-shared-static-libpng.patch
index c6d0a2cbfb69..87bcd9bf43c5 100644
--- a/0008-Fix-linking-against-shared-static-libpng.patch
+++ b/0007-Fix-linking-against-shared-static-libpng.patch
@@ -1,7 +1,7 @@
-From 95710d93c0d010afaa8ac7433b99827346bc011b Mon Sep 17 00:00:00 2001
+From 6979ca5c02d202597cf516cab889babbb9f74acc Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Thu, 26 Jan 2017 17:51:31 +0100
-Subject: [PATCH 08/34] Fix linking against shared/static libpng
+Subject: [PATCH 07/32] Fix linking against shared/static libpng
Change-Id: Ic7a0ec9544059b8e647a5d0186f1b88c00911dcf
---
@@ -9,10 +9,10 @@ Change-Id: Ic7a0ec9544059b8e647a5d0186f1b88c00911dcf
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/gui/configure.json b/src/gui/configure.json
-index 89934c8f1d..9124e3e77e 100644
+index 95e8955b510..bc3eae90872 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
-@@ -385,8 +385,10 @@
+@@ -399,8 +399,10 @@
{ "type": "pkgConfig", "args": "libpng" },
{ "libs": "-llibpng16", "condition": "config.msvc" },
{ "libs": "-llibpng", "condition": "config.msvc" },
@@ -26,5 +26,5 @@ index 89934c8f1d..9124e3e77e 100644
],
"use": [
--
-2.20.1
+2.44.0
diff --git a/0009-Fix-linking-against-static-D-Bus.patch b/0008-Fix-linking-against-static-D-Bus.patch
index db73366a5da7..27e30094ad7d 100644
--- a/0009-Fix-linking-against-static-D-Bus.patch
+++ b/0008-Fix-linking-against-static-D-Bus.patch
@@ -1,7 +1,7 @@
-From 5c645a6510d3ac66a845b695c5e30c76944f22a0 Mon Sep 17 00:00:00 2001
+From a1cd8b87b57eee2b9724d64a2c3b2c949981c544 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 3 Feb 2017 19:36:25 +0100
-Subject: [PATCH 09/34] Fix linking against static D-Bus
+Subject: [PATCH 08/32] Fix linking against static D-Bus
---
configure.json | 9 +++++++--
@@ -9,10 +9,10 @@ Subject: [PATCH 09/34] Fix linking against static D-Bus
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/configure.json b/configure.json
-index 9fce6d039e..c673f9a5fc 100644
+index 4763ff645f0..e97969ab25c 100644
--- a/configure.json
+++ b/configure.json
-@@ -169,18 +169,23 @@
+@@ -190,18 +190,23 @@
"dbus": {
"label": "D-Bus >= 1.2",
"test": {
@@ -39,7 +39,7 @@ index 9fce6d039e..c673f9a5fc 100644
{ "libs": "-ldbus-1", "condition": "!config.win32" }
]
diff --git a/src/dbus/qdbus_symbols_p.h b/src/dbus/qdbus_symbols_p.h
-index 7cce0d71aa..4d3d774d45 100644
+index accaa4f5ed5..4b11c74caa7 100644
--- a/src/dbus/qdbus_symbols_p.h
+++ b/src/dbus/qdbus_symbols_p.h
@@ -57,6 +57,10 @@
@@ -54,5 +54,5 @@ index 7cce0d71aa..4d3d774d45 100644
# include <dbus/dbus.h>
#else
--
-2.20.1
+2.44.0
diff --git a/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch b/0009-Don-t-try-to-use-debug-version-of-D-Bus-library.patch
index deddac803f14..4f2deb073fcc 100644
--- a/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch
+++ b/0009-Don-t-try-to-use-debug-version-of-D-Bus-library.patch
@@ -1,7 +1,7 @@
-From 75d943609ad0a9814656ce151a353fb391b5df33 Mon Sep 17 00:00:00 2001
+From 33ff3ba65c06a02136208b80567a0ba0c8db844a Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 2 Jun 2017 18:28:10 +0200
-Subject: [PATCH 10/34] Don't try to use debug version of D-Bus library
+Subject: [PATCH 09/32] Don't try to use debug version of D-Bus library
Required for a debug build of Qt because mingw-w64-dbus
does not contain debug version
@@ -12,10 +12,10 @@ Change-Id: Ic34e1025fda55f9659e065f5bbe9d51f55420adb
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.json b/configure.json
-index c673f9a5fc..15b0f21e58 100644
+index e97969ab25c..b75f8a8033c 100644
--- a/configure.json
+++ b/configure.json
-@@ -182,7 +182,7 @@
+@@ -203,7 +203,7 @@
{
"libs": "",
"builds": {
@@ -25,5 +25,5 @@ index c673f9a5fc..15b0f21e58 100644
},
"condition": "config.win32 && features.shared"
--
-2.20.1
+2.44.0
diff --git a/0011-Fix-linking-against-static-freetype2.patch b/0010-Fix-linking-against-static-freetype2.patch
index bcbdbf749b03..df45a37bd830 100644
--- a/0011-Fix-linking-against-static-freetype2.patch
+++ b/0010-Fix-linking-against-static-freetype2.patch
@@ -1,30 +1,29 @@
-From 54e2fd21f8daa2f61c44d764ea19f31e03390b1d Mon Sep 17 00:00:00 2001
+From c1019300eed7fabb7c2c73d5510e5a83e06a89b2 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 3 Feb 2017 20:51:19 +0100
-Subject: [PATCH 11/34] Fix linking against static freetype2
+Subject: [PATCH 10/32] Fix linking against static freetype2
---
- src/gui/configure.json | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
+ src/gui/configure.json | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/gui/configure.json b/src/gui/configure.json
-index 9124e3e77e..f3628f415d 100644
+index bc3eae90872..d9b540ce428 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
-@@ -237,8 +237,11 @@
+@@ -238,8 +238,10 @@
},
"headers": "ft2build.h",
"sources": [
- { "type": "pkgConfig", "args": "freetype2" },
- { "type": "freetype", "libs": "-lfreetype", "condition": "!config.wasm" },
-+ { "type": "pkgConfig", "args": "--static --libs freetype2", "condition": "!features.shared" },
+ { "type": "pkgConfig", "args": "--libs freetype2", "condition": "features.shared" },
-+ { "libs": "-lfreetype -lharfbuzz -lfreetype -lglib-2.0 -lintl -lws2_32 -lole32 -lwinmm -lshlwapi -lpcre -lintl -lpcre -lintl -liconv -lgraphite2 -lbz2", "condition": "!features.shared && !config.wasm" },
++ { "libs": "-lfreetype -lharfbuzz -lfreetype -lbrotlidec -lbrotlicommon -lglib-2.0 -lintl -lws2_32 -lole32 -lwinmm -lshlwapi -lpcre2-8 -lintl -lpcre2-8 -lintl -liconv -lgraphite2 -lbz2", "condition": "!features.shared && !config.wasm" },
+ { "libs": "-Wl,-Bdynamic -lfreetype -Wl,-Bstatic", "condition": "!features.shared && !config.wasm" },
+ { "libs": "-lfreetype", "condition": "features.shared && !config.wasm" },
- { "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" }
+ { "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" },
+ { "libs": "-lfreetype" }
],
- "use": [
--
-2.20.1
+2.44.0
diff --git a/0012-Fix-linking-against-static-harfbuzz.patch b/0011-Fix-linking-against-static-harfbuzz.patch
index ee2b3334d3d5..a3fc79e0754b 100644
--- a/0012-Fix-linking-against-static-harfbuzz.patch
+++ b/0011-Fix-linking-against-static-harfbuzz.patch
@@ -1,29 +1,29 @@
-From bdfd1226b5fcf7ede805676a2bb4bb8fbe047d6a Mon Sep 17 00:00:00 2001
+From d5ca57cecd935d1475d5b5677391e703a9733989 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 14:22:56 +0200
-Subject: [PATCH 12/34] Fix linking against static harfbuzz
+Subject: [PATCH 11/32] Fix linking against static harfbuzz
---
src/gui/configure.json | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/gui/configure.json b/src/gui/configure.json
-index f3628f415d..b12a0e8ff2 100644
+index d9b540ce428..69cb564e868 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
-@@ -304,7 +304,11 @@
+@@ -305,7 +305,11 @@
},
"headers": "harfbuzz/hb.h",
"sources": [
- "-lharfbuzz"
+ { "type": "pkgConfig", "args": "--static --libs harfbuzz", "condition": "!features.shared" },
+ { "type": "pkgConfig", "args": "--libs harfbuzz", "condition": "features.shared" },
-+ { "libs": "-lharfbuzz -lfreetype -lharfbuzz -lglib-2.0 -lintl -lws2_32 -lole32 -lwinmm -lshlwapi -lpcre -lintl -lpcre -lintl -liconv -lgraphite2 -lbz2", "condition": "!features.shared" },
++ { "libs": "-lharfbuzz -lfreetype -lharfbuzz -lglib-2.0 -lintl -lws2_32 -lole32 -lwinmm -lshlwapi -lpcre2-8 -lintl -lpcre2-8 -lintl -liconv -lgraphite2 -lbz2", "condition": "!features.shared" },
+ { "libs": "-Wl,-Bdynamic -lharfbuzz -Wl,-Bstatic", "condition": "!features.shared" },
+ { "libs": "-lharfbuzz", "condition": "features.shared" }
]
},
"imf": {
--
-2.20.1
+2.44.0
diff --git a/0012-Fix-linking-against-static-pcre.patch b/0012-Fix-linking-against-static-pcre.patch
new file mode 100644
index 000000000000..0be57cdea0e2
--- /dev/null
+++ b/0012-Fix-linking-against-static-pcre.patch
@@ -0,0 +1,28 @@
+From 2189baae3ddff3bdba3f8d8480fa313e50432093 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sun, 18 Sep 2016 14:24:01 +0200
+Subject: [PATCH 12/32] Fix linking against static pcre
+
+Change-Id: I3225c6e82dc4d17aef37d4289c16eb7a5ea3c5a1
+---
+ src/corelib/text/qregularexpression.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/corelib/text/qregularexpression.cpp b/src/corelib/text/qregularexpression.cpp
+index 1f10150435d..6a97b47773e 100644
+--- a/src/corelib/text/qregularexpression.cpp
++++ b/src/corelib/text/qregularexpression.cpp
+@@ -57,6 +57,10 @@
+ #endif
+
+ #define PCRE2_CODE_UNIT_WIDTH 16
++#ifdef QT_STATIC
++#define PCRE_STATIC
++#define PCRE2_STATIC
++#endif
+
+ #include <pcre2.h>
+
+--
+2.44.0
+
diff --git a/0014-Fix-linking-against-shared-static-MariaDB.patch b/0013-Fix-linking-against-shared-static-MariaDB.patch
index 77c84b11845c..62a25589aaf6 100644
--- a/0014-Fix-linking-against-shared-static-MariaDB.patch
+++ b/0013-Fix-linking-against-shared-static-MariaDB.patch
@@ -1,7 +1,7 @@
-From 6d8c6ce62a3a418cc30a6e3016eaf38ff945697b Mon Sep 17 00:00:00 2001
+From 5cdbce5a33f7881eee348250b1b9867c64ea686d Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:56:55 +0200
-Subject: [PATCH 14/34] Fix linking against shared/static MariaDB
+Subject: [PATCH 13/32] Fix linking against shared/static MariaDB
Change-Id: I9722c154d845f288a2d4d1ab14a014066b28819b
---
@@ -9,18 +9,18 @@ Change-Id: I9722c154d845f288a2d4d1ab14a014066b28819b
1 file changed, 2 insertions(+)
diff --git a/src/plugins/sqldrivers/configure.json b/src/plugins/sqldrivers/configure.json
-index cd20eef1df..babd0465ce 100644
+index 28ccbeadcde..a5e3001bf60 100644
--- a/src/plugins/sqldrivers/configure.json
+++ b/src/plugins/sqldrivers/configure.json
@@ -67,6 +67,8 @@
},
"headers": "mysql.h",
"sources": [
-+ { "libs": "-lmariadbclient -lssl -lcrypto -lgdi32 -lws2_32 -lpthread -lz -lm", "condition": "config.win32 && !features.shared" },
++ { "libs": "-lmariadbclient -lssl -lcrypto -lcrypt32 -lshlwapi -lgdi32 -lws2_32 -lpthread -lz -lm", "condition": "config.win32 && !features.shared" },
+ { "libs": "-lmariadb", "condition": "config.win32 && features.shared" },
{ "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": true },
{ "type": "mysqlConfig", "query": "--libs", "cleanlibs": true },
{ "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": false },
--
-2.20.1
+2.44.0
diff --git a/0013-Fix-linking-against-static-pcre.patch b/0013-Fix-linking-against-static-pcre.patch
deleted file mode 100644
index a2042b983b3d..000000000000
--- a/0013-Fix-linking-against-static-pcre.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 52634efb9b9b2f3de1a2941297c7670ec7d4bdfc Mon Sep 17 00:00:00 2001
-From: Martchus <martchus@gmx.net>
-Date: Sun, 18 Sep 2016 14:24:01 +0200
-Subject: [PATCH 13/34] Fix linking against static pcre
-
-Change-Id: I3225c6e82dc4d17aef37d4289c16eb7a5ea3c5a1
----
- src/corelib/tools/qregularexpression.cpp | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/corelib/tools/qregularexpression.cpp b/src/corelib/tools/qregularexpression.cpp
-index bdaa2d3243..90f8250c03 100644
---- a/src/corelib/tools/qregularexpression.cpp
-+++ b/src/corelib/tools/qregularexpression.cpp
-@@ -53,6 +53,10 @@
- #include <QtCore/qdatastream.h>
-
- #define PCRE2_CODE_UNIT_WIDTH 16
-+#ifdef QT_STATIC
-+#define PCRE_STATIC
-+#define PCRE2_STATIC
-+#endif
-
- #include <pcre2.h>
-
---
-2.20.1
-
diff --git a/0015-Fix-linking-against-shared-static-PostgreSQL.patch b/0014-Fix-linking-against-shared-static-PostgreSQL.patch
index dd9d62329dea..2cce773a6550 100644
--- a/0015-Fix-linking-against-shared-static-PostgreSQL.patch
+++ b/0014-Fix-linking-against-shared-static-PostgreSQL.patch
@@ -1,28 +1,28 @@
-From 0c7b1782160144c9a0839f02efd365716816400d Mon Sep 17 00:00:00 2001
+From d95435227c24ef2b1be37561a55751e8ff3cfd0e Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:58:25 +0200
-Subject: [PATCH 15/34] Fix linking against shared/static PostgreSQL
+Subject: [PATCH 14/32] Fix linking against shared/static PostgreSQL
---
src/plugins/sqldrivers/configure.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/sqldrivers/configure.json b/src/plugins/sqldrivers/configure.json
-index babd0465ce..b4b3bdec6b 100644
+index a5e3001bf60..5768d3b9a97 100644
--- a/src/plugins/sqldrivers/configure.json
+++ b/src/plugins/sqldrivers/configure.json
-@@ -88,9 +88,9 @@
+@@ -90,9 +90,9 @@
},
"headers": "libpq-fe.h",
"sources": [
- { "type": "pkgConfig", "args": "libpq" },
{ "type": "psqlConfig" },
- { "type": "psqlEnv", "libs": "-llibpq -lws2_32 -ladvapi32", "condition": "config.win32" },
-+ { "type": "psqlEnv", "libs": "-lpq -lintl -lssl -lcrypto -lshell32 -lws2_32 -lsecur32 -liconv", "condition": "config.win32 && !features.shared" },
++ { "type": "psqlEnv", "libs": "-lpq -lpgcommon -lpgport -lintl -lssl -lcrypto -lcrypt32 -lshell32 -lws2_32 -lsecur32 -liconv", "condition": "config.win32 && !features.shared" },
+ { "type": "psqlEnv", "libs": "-lpq", "condition": "config.win32 && features.shared" },
{ "type": "psqlEnv", "libs": "-lpq", "condition": "!config.win32" }
]
},
--
-2.20.1
+2.44.0
diff --git a/0016-Rename-qtmain-to-qt5main.patch b/0015-Rename-qtmain-to-qt5main.patch
index cfec875be259..08a71116e005 100644
--- a/0016-Rename-qtmain-to-qt5main.patch
+++ b/0015-Rename-qtmain-to-qt5main.patch
@@ -1,21 +1,21 @@
-From c37572ff090abe65285eacaedf7e7022af92aae6 Mon Sep 17 00:00:00 2001
+From 41e6e4c93cc8cbe45305458bc87573ad5a630601 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 14:25:40 +0200
-Subject: [PATCH 16/34] Rename qtmain to qt5main
+Subject: [PATCH 15/32] Rename qtmain to qt5main
Prevents conflict with mingw-w64-qt4 package
---
mkspecs/common/g++-win32.conf | 2 +-
- mkspecs/features/create_cmake.prf | 4 ++--
- mkspecs/features/win32/windows.prf | 2 +-
+ mkspecs/features/create_cmake.prf | 8 ++++----
+ mkspecs/features/win32/windows.prf | 4 ++--
src/winmain/winmain.pro | 2 +-
- 4 files changed, 5 insertions(+), 5 deletions(-)
+ 4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf
-index 07e2b6a88e..5bfbcfdca6 100644
+index 0cc6e93c93e..c2882d0b2c4 100644
--- a/mkspecs/common/g++-win32.conf
+++ b/mkspecs/common/g++-win32.conf
-@@ -86,7 +86,7 @@ QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
+@@ -83,7 +83,7 @@ QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32
QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32
QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
@@ -25,35 +25,45 @@ index 07e2b6a88e..5bfbcfdca6 100644
QMAKE_IDL = $${CROSS_COMPILE}widl
QMAKE_LIB = $${CROSS_COMPILE}ar -rc
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
-index 2ed708e085..e67917cc96 100644
+index 64639f177df..6cd94f8058a 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
-@@ -227,8 +227,8 @@ mac {
- CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll
+@@ -336,14 +336,14 @@ mac {
+ }
mingw {
-- CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqtmain$${QT_LIBINFIX}d.a
+- CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqtmain$${QT_LIBINFIX}$${debug_suffix}.a
- CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqtmain$${QT_LIBINFIX}.a
-+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
++ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}$${debug_suffix}.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}$${debug_suffix}.a
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
+ } else {
+- CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}$${debug_suffix}.lib
+- CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qtmain$${QT_LIBINFIX}.lib
++ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qt5main$${QT_LIBINFIX}$${debug_suffix}.lib
++ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qt5main$${QT_LIBINFIX}.lib
+
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}$${debug_suffix}.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf
-index ecb167bf18..7c9368c3b3 100644
+index 272170d4280..17f3ef9c2dd 100644
--- a/mkspecs/features/win32/windows.prf
+++ b/mkspecs/features/win32/windows.prf
-@@ -5,7 +5,7 @@ contains(TEMPLATE, ".*app") {
+@@ -5,8 +5,8 @@ contains(TEMPLATE, ".*app") {
mingw:DEFINES += QT_NEEDS_QMAIN
qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
- isEqual(entryLib, -lqtmain) {
-+ isEqual(entryLib, -lqt5main): {
- !contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \
- QMAKE_LIBS += -L$$QT.core.libs
- CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
+- lib = $$QT.core.libs/$${QMAKE_PREFIX_STATICLIB}qtmain$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB
++ isEqual(entryLib, -lqt5main) {
++ lib = $$QT.core.libs/$${QMAKE_PREFIX_STATICLIB}qt5main$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB
+ PRE_TARGETDEPS += $$lib
+ QMAKE_LIBS += $$lib
+ } else {
diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro
-index 61e9f29d23..a1795bf265 100644
+index 1f54c846eca..162e7a4b1b4 100644
--- a/src/winmain/winmain.pro
+++ b/src/winmain/winmain.pro
@@ -2,7 +2,7 @@
@@ -66,5 +76,5 @@ index 61e9f29d23..a1795bf265 100644
CONFIG += static
--
-2.20.1
+2.44.0
diff --git a/0018-Enable-rpath-for-build-tools.patch b/0016-Enable-rpath-for-build-tools.patch
index d8537cdcdf12..5919447ebb08 100644
--- a/0018-Enable-rpath-for-build-tools.patch
+++ b/0016-Enable-rpath-for-build-tools.patch
@@ -1,7 +1,7 @@
-From 8ae9fed6ff5f5bf2e4c1d031baa7c03282268b35 Mon Sep 17 00:00:00 2001
+From 0dc529641264921bd859fabdf4a6d082b253fcdc Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 17:59:27 +0200
-Subject: [PATCH 18/34] Enable rpath for build tools
+Subject: [PATCH 16/32] Enable rpath for build tools
- Required because various tools depend on libQt5Bootstrap.so which resides
in folder /usr/${_arch}/lib
@@ -13,7 +13,7 @@ Change-Id: I9808062a66406cdec7446a75150b40b2f30038c7
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
-index 8354f30eea..30e8cf18c5 100644
+index 8354f30eea2..30e8cf18c51 100644
--- a/mkspecs/features/qt_app.prf
+++ b/mkspecs/features/qt_app.prf
@@ -21,6 +21,7 @@ isEmpty(QMAKE_TARGET_DESCRIPTION): \
@@ -33,5 +33,5 @@ index 8354f30eea..30e8cf18c5 100644
INSTALLS += target
--
-2.20.1
+2.44.0
diff --git a/0017-Build-dynamic-host-libraries.patch b/0017-Build-dynamic-host-libraries.patch
deleted file mode 100644
index 719a036024b4..000000000000
--- a/0017-Build-dynamic-host-libraries.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 901d666dd3a5609f40b5fce75620b9016660b4c5 Mon Sep 17 00:00:00 2001
-From: Martchus <martchus@gmx.net>
-Date: Sun, 18 Sep 2016 14:27:28 +0200
-Subject: [PATCH 17/34] Build dynamic host libraries
-
-This came initially from Fedora, not sure whether
-it makes sense to keep it. Regular Arch package
-uses static lib as intended by upstream.
-
-Change-Id: I91a3613955c656fb0d262ccb9b2529350bab032b
----
- mkspecs/features/qt_module.prf | 2 +-
- src/tools/bootstrap-dbus/bootstrap-dbus.pro | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
-index 51b5bde67a..70919e98e9 100644
---- a/mkspecs/features/qt_module.prf
-+++ b/mkspecs/features/qt_module.prf
-@@ -25,7 +25,7 @@ requires(!$$skip)
-
- # Compile as shared/DLL or static according to the option given to configure
- # unless overridden. Host builds are always static
--host_build|staticlib: CONFIG += static
-+staticlib: CONFIG += static
-
- host_build {
- QT -= gui # no host module will ever use gui
-diff --git a/src/tools/bootstrap-dbus/bootstrap-dbus.pro b/src/tools/bootstrap-dbus/bootstrap-dbus.pro
-index c3ed27d979..30d2114aa1 100644
---- a/src/tools/bootstrap-dbus/bootstrap-dbus.pro
-+++ b/src/tools/bootstrap-dbus/bootstrap-dbus.pro
-@@ -27,4 +27,4 @@ SOURCES = \
- load(qt_module)
-
- lib.CONFIG = dummy_install
--INSTALLS = lib
-+INSTALLS += lib
---
-2.20.1
-
diff --git a/0019-Use-system-zlib-for-build-tools.patch b/0017-Use-system-zlib-for-build-tools.patch
index fd0e888322be..3e8814e569ca 100644
--- a/0019-Use-system-zlib-for-build-tools.patch
+++ b/0017-Use-system-zlib-for-build-tools.patch
@@ -1,17 +1,17 @@
-From 9056f0faf07d8493969ead198f30edc958f86fd7 Mon Sep 17 00:00:00 2001
+From c8b4c96da58bf20d982f5142ac0f218a2abeeb90 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:04:42 +0200
-Subject: [PATCH 19/34] Use system zlib for build tools
+Subject: [PATCH 17/32] Use system zlib for build tools
---
src/tools/bootstrap/bootstrap.pro | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
-index 83e44ff9a4..4734623936 100644
+index 24862a07dbc..698e6cfb95d 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
-@@ -135,7 +135,9 @@ macx {
+@@ -158,7 +158,9 @@ macx {
../../corelib/io/qstandardpaths_win.cpp
}
@@ -23,5 +23,5 @@ index 83e44ff9a4..4734623936 100644
} else {
CONFIG += no_core_dep
--
-2.20.1
+2.44.0
diff --git a/0021-Merge-shared-and-static-library-trees.patch b/0018-Merge-shared-and-static-library-trees.patch
index 142e2cebba30..7e35a741d883 100644
--- a/0021-Merge-shared-and-static-library-trees.patch
+++ b/0018-Merge-shared-and-static-library-trees.patch
@@ -1,22 +1,40 @@
-From d21a2fde18007e8abbde3407ae20b967b137069e Mon Sep 17 00:00:00 2001
+From 2029f79155af8b3fdff3b9a66ee25b7ff274c327 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:45:08 +0200
-Subject: [PATCH 21/34] Merge shared and static library trees
+Subject: [PATCH 18/32] Merge shared and static library trees
Allow installation of shared and static build in the same prefix
+
+Change-Id: I1de08df42d83d411aae519691cd3cde1fd6f3d1d
---
- configure.pri | 9 +++++++++
- mkspecs/features/default_post.prf | 11 +++++++++++
- mkspecs/features/qt.prf | 17 +++++++++++++++++
- mkspecs/features/spec_pre.prf | 11 ++++++++---
- qmake/generators/makefile.cpp | 9 ++++++---
- 5 files changed, 51 insertions(+), 6 deletions(-)
+ configure.pri | 16 +++++++++++++++-
+ mkspecs/features/default_post.prf | 11 +++++++++++
+ mkspecs/features/device_config.prf | 9 ++++++++-
+ mkspecs/features/qt.prf | 17 +++++++++++++++++
+ mkspecs/features/spec_pre.prf | 11 ++++++++---
+ qmake/generators/makefile.cpp | 11 +++++++----
+ qtbase.pro | 10 ++++++++--
+ 7 files changed, 74 insertions(+), 11 deletions(-)
diff --git a/configure.pri b/configure.pri
-index b3b3e27c44..3136889a2f 100644
+index 365a16403eb..85acb3757aa 100644
--- a/configure.pri
+++ b/configure.pri
-@@ -1312,3 +1312,12 @@ defineTest(createConfigStatus) {
+@@ -668,7 +668,12 @@ defineTest(qtConfOutput_machineTuple) {
+
+ defineTest(qtConfOutput_commitOptions) {
+ # qdevice.pri needs to be written early, because the compile tests require it.
+- write_file($$QT_BUILD_TREE/mkspecs/qdevice.pri, $${currentConfig}.output.devicePro)|error()
++ shared|actually_a_shared_build {
++ DEVICE_PRI_SUFFIX = .pri
++ } else {
++ DEVICE_PRI_SUFFIX = .static.pri
++ }
++ write_file($$QT_BUILD_TREE/mkspecs/qdevice$$DEVICE_PRI_SUFFIX, $${currentConfig}.output.devicePro)|error()
+ }
+
+ # Output is written after configuring each Qt module,
+@@ -1430,3 +1435,12 @@ defineTest(createConfigStatus) {
QMAKE_POST_CONFIGURE += \
"createConfigStatus()"
@@ -30,7 +48,7 @@ index b3b3e27c44..3136889a2f 100644
+ CONFIG += no_smart_library_merge
+}
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
-index fbf1f3b8df..c261c46e72 100644
+index ac799047ab8..60b63922670 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -1,5 +1,16 @@
@@ -50,11 +68,31 @@ index fbf1f3b8df..c261c46e72 100644
contains(TEMPLATE, ".*(lib|app)"):CONFIG += have_target
!have_target:!force_qt: CONFIG -= qt
+diff --git a/mkspecs/features/device_config.prf b/mkspecs/features/device_config.prf
+index c15559e1740..dd09ac749d8 100644
+--- a/mkspecs/features/device_config.prf
++++ b/mkspecs/features/device_config.prf
+@@ -4,7 +4,14 @@
+ # supposed to be influenced by -device-option then.
+ host_build: return()
+
+-DEVICE_PRI = $$[QT_HOST_DATA/get]/mkspecs/qdevice.pri
++shared|actually_a_shared_build {
++ DEVICE_PRI = $$[QT_HOST_DATA/get]/mkspecs/qdevice.pri
++} else {
++ DEVICE_PRI = $$[QT_HOST_DATA/get]/mkspecs/qdevice.static.pri
++ !exists($$DEVICE_PRI) {
++ DEVICE_PRI = $$[QT_HOST_DATA/get]/mkspecs/qdevice.pri
++ }
++}
+ exists($$DEVICE_PRI):include($$DEVICE_PRI)
+ unset(DEVICE_PRI)
+
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
-index 5da82fdb5b..5b05aa9e2a 100644
+index da1f44a88a1..8096d01c341 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
-@@ -246,6 +246,23 @@ for(ever) {
+@@ -254,6 +254,23 @@ for(ever) {
!isEmpty(MODULE_WINRT_CAPABILITIES_DEVICE): \
WINRT_MANIFEST.capabilities_device_default += $$MODULE_WINRT_CAPABILITIES_DEVICE
}
@@ -79,7 +117,7 @@ index 5da82fdb5b..5b05aa9e2a 100644
!isEmpty(BAD_QT):error("Unknown module(s) in QT$$var_sfx: $$replace(BAD_QT, _private$, -private)")
diff --git a/mkspecs/features/spec_pre.prf b/mkspecs/features/spec_pre.prf
-index 51ea3a8321..275e080ae4 100644
+index 51ea3a8321a..275e080ae4e 100644
--- a/mkspecs/features/spec_pre.prf
+++ b/mkspecs/features/spec_pre.prf
@@ -14,9 +14,14 @@ QMAKE_EXT_H = .h .hpp .hh .hxx
@@ -101,10 +139,10 @@ index 51ea3a8321..275e080ae4 100644
QMAKE_EXT_YACC = .y
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
-index e640fb8079..fc7f729ae6 100644
+index 23ac736fc06..16531d556e0 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
-@@ -3244,6 +3244,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
+@@ -3259,6 +3259,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
if (project->isActiveConfig("debug")) {
ret += "d";
}
@@ -114,19 +152,57 @@ index e640fb8079..fc7f729ae6 100644
ret += Option::pkgcfg_ext;
QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
if(!subdir.isEmpty()) {
-@@ -3418,9 +3421,9 @@ MakefileGenerator::writePkgConfigFile()
- t << endl;
+@@ -3435,11 +3438,11 @@ MakefileGenerator::writePkgConfigFile()
+ t << Qt::endl;
// requires
-- const QString requires = project->values("QMAKE_PKGCONFIG_REQUIRES").join(' ');
-- if (!requires.isEmpty()) {
-- t << "Requires: " << requires << endl;
+- const QString requiresString = project->values("QMAKE_PKGCONFIG_REQUIRES").join(' ');
+- if (!requiresString.isEmpty()) {
+- t << "Requires: " << requiresString << Qt::endl;
+ t << "Requires:";
-+ for (const auto &required : project->values("QMAKE_PKGCONFIG_REQUIRES")) {
++ const auto pkgconfigRequires = project->values("QMAKE_PKGCONFIG_REQUIRES");
++ for (const auto &required : pkgconfigRequires) {
+ t << (project->isActiveConfig("staticlib") ? QStringLiteral(" Static") : QStringLiteral(" ")) << required.toQString();
}
+-
+ t << Qt::endl;
+ }
+
+diff --git a/qtbase.pro b/qtbase.pro
+index c0ce0972ef4..5a2deaf31d2 100644
+--- a/qtbase.pro
++++ b/qtbase.pro
+@@ -20,6 +20,12 @@ CLEAN_DEPS += qmake-clean
+ # recursive distclean proceeds, including beyond qtbase.
+ DISTCLEAN_DEPS += qmake-clean
- t << endl;
++shared|actually_a_shared_build {
++ DEVICE_PRI_SUFFIX = .pri
++} else {
++ DEVICE_PRI_SUFFIX = .static.pri
++}
++
+ # Files created by configure.
+ # config.status (and configure.cache, which is the same for Windows)
+ # are omitted for convenience of rebuilds.
+@@ -27,7 +33,7 @@ QMAKE_DISTCLEAN += \
+ config.summary \
+ config.tests/.qmake.cache \
+ mkspecs/qconfig.pri \
+- mkspecs/qdevice.pri \
++ mkspecs/qdevice$$DEVICE_PRI_SUFFIX \
+ mkspecs/qmodule.pri \
+ src/corelib/global/qconfig.h \
+ src/corelib/global/qconfig_p.h \
+@@ -78,7 +84,7 @@ prefix_build|!equals(PWD, $$OUT_PWD) {
+ mkspecs.path = $$[QT_HOST_DATA]/mkspecs
+ mkspecs.files = \
+ $$OUT_PWD/mkspecs/qconfig.pri $$OUT_PWD/mkspecs/qmodule.pri \
+- $$OUT_PWD/mkspecs/qdevice.pri \
++ $$OUT_PWD/mkspecs/qdevice$$DEVICE_PRI_SUFFIX \
+ $$files($$PWD/mkspecs/*)
+ mkspecs.files -= $$PWD/mkspecs/modules $$PWD/mkspecs/modules-inst
+ INSTALLS += mkspecs
--
-2.20.1
+2.44.0
diff --git a/0019-Use-.dll.a-as-import-lib-extension.patch b/0019-Use-.dll.a-as-import-lib-extension.patch
new file mode 100644
index 000000000000..cc8f99287b11
--- /dev/null
+++ b/0019-Use-.dll.a-as-import-lib-extension.patch
@@ -0,0 +1,120 @@
+From d5bbf09f6dd16ada912feae0a1a63cf22ecd5f71 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sun, 18 Sep 2016 18:26:18 +0200
+Subject: [PATCH 19/32] Use *.dll.a as import lib extension
+
+The variables used here are provided by
+g++-win32.conf
+
+Change-Id: Ic8915ea40b4db3d9f60533d21daf8ff1ec1bd803
+---
+ mkspecs/features/create_cmake.prf | 5 ++--
+ mkspecs/features/qt.prf | 38 ++++++++++----------------
+ qmake/generators/win32/winmakefile.cpp | 15 +++++++---
+ 3 files changed, 28 insertions(+), 30 deletions(-)
+
+diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
+index 6cd94f8058a..ac089a2f9f0 100644
+--- a/mkspecs/features/create_cmake.prf
++++ b/mkspecs/features/create_cmake.prf
+@@ -339,8 +339,9 @@ mac {
+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}$${debug_suffix}.a
+ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
+
+- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.a
+- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
++ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a
++ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.$${QMAKE_EXTENSION_IMPORTLIB}
++ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB}
+ } else {
+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qt5main$${QT_LIBINFIX}$${debug_suffix}.lib
+ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qt5main$${QT_LIBINFIX}.lib
+diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
+index 8096d01c341..b79b324b887 100644
+--- a/mkspecs/features/qt.prf
++++ b/mkspecs/features/qt.prf
+@@ -215,32 +215,22 @@ for(ever) {
+ # Linking frameworks by absolute path does not work.
+ LIBS$$var_sfx += -framework $$framework
+ } else {
+- candidates = $$MODULE_MODULE$$qtPlatformTargetSuffix()
+- darwin: candidates *= $$MODULE_MODULE
+- win32|contains(MODULE_CONFIG, staticlib) {
+- lib_prefix = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB
+- lib_suffix = $$QMAKE_EXTENSION_STATICLIB
+- add_lib_to_pretargetdeps = true
++ lib = $$MODULE_MODULE$$qtPlatformTargetSuffix()
++ contains(MODULE_CONFIG, staticlib) {
++ lib = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB$${lib}.$$QMAKE_EXTENSION_STATICLIB
++ PRE_TARGETDEPS += $$lib
+ } else {
+- lib_prefix = $$MODULE_LIBS/$$QMAKE_PREFIX_SHLIB
+- lib_suffix = $$QMAKE_EXTENSION_SHLIB
+- add_lib_to_pretargetdeps = false
+- }
+- lib_missing = true
+- lib_fallback =
+- for(lib_base, candidates) {
+- lib = $${lib_prefix}$${lib_base}.$${lib_suffix}
+- isEmpty(lib_fallback): \
+- lib_fallback = $$lib
+- exists($$lib) {
+- lib_missing = false
+- break()
++ win32 {
++ shared|actually_a_shared_build {
++ lib = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB$${lib}.$$QMAKE_EXTENSION_IMPORTLIB
++ } else {
++ lib = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB$${lib}.$$QMAKE_EXTENSION_STATICLIB
++ }
++ PRE_TARGETDEPS += $$lib
++ } else {
++ lib = $$MODULE_LIBS/$$QMAKE_PREFIX_SHLIB$${lib}.$$QMAKE_EXTENSION_SHLIB
+ }
+- }
+- $$lib_missing: \
+- lib = $$lib_fallback
+- $$add_lib_to_pretargetdeps: \
+- PRE_TARGETDEPS += $$lib
++ }
+ LIBS$$var_sfx += $$lib
+ }
+ }
+diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
+index 183cef29089..03732df4a84 100644
+--- a/qmake/generators/win32/winmakefile.cpp
++++ b/qmake/generators/win32/winmakefile.cpp
+@@ -99,9 +99,13 @@ private:
+ bool
+ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
+ {
+- ProStringList impexts = project->values("QMAKE_LIB_EXTENSIONS");
+- if (impexts.isEmpty())
+- impexts = project->values("QMAKE_EXTENSION_STATICLIB");
++ ProStringList impexts;
++ if (project->isActiveConfig("staticlib")) {
++ impexts.append(project->values("QMAKE_EXTENSION_STATICLIB"));
++ } else {
++ impexts.append(project->values("QMAKE_EXTENSION_IMPORTLIB"));
++ impexts.append(project->values("QMAKE_EXTENSION_STATICLIB"));
++ }
+ QVector<LibrarySearchPath> dirs;
+ int libidx = 0;
+ for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
+@@ -283,9 +287,12 @@ void Win32MakefileGenerator::fixTargetExt()
+ if (!project->values("QMAKE_APP_FLAG").isEmpty()) {
+ project->values("TARGET_EXT").append(".exe");
+ } else if (project->isActiveConfig("shared")) {
++ ProString impext = project->first("QMAKE_EXTENSION_IMPORTLIB");
++ if (impext.isEmpty())
++ impext = project->first("QMAKE_PREFIX_STATICLIB");
+ project->values("LIB_TARGET").prepend(project->first("QMAKE_PREFIX_STATICLIB")
+ + project->first("TARGET") + project->first("TARGET_VERSION_EXT")
+- + '.' + project->first("QMAKE_EXTENSION_STATICLIB"));
++ + '.' + impext);
+ project->values("TARGET_EXT").append(project->first("TARGET_VERSION_EXT") + "."
+ + project->first("QMAKE_EXTENSION_SHLIB"));
+ project->values("TARGET").first() = project->first("QMAKE_PREFIX_SHLIB") + project->first("TARGET");
+--
+2.44.0
+
diff --git a/0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch b/0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch
new file mode 100644
index 000000000000..2fe1a55d86a5
--- /dev/null
+++ b/0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch
@@ -0,0 +1,503 @@
+From 8d7db460bee900348d29fb86784de1a79312bc19 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sun, 18 Sep 2016 18:32:00 +0200
+Subject: [PATCH 20/32] Pull dependencies of static libraries in CMake modules
+
+When doing a static build of Qt, the dependencies of the Qt
+libraries and plugins itself must be specified when linking
+the final application.
+
+With Qt 5.13.0 the support for doing that has been re-added.
+However, some pieces are still missing and that's what this
+patch provides:
+
+1. Take dependencies of static plugins into account as well
+2. Create imported targets for the dependencies to prevent
+ CMake from adding wrong `-Wl,-Bstatic` and `-Wl,-Bdynamic`
+ linker flags
+
+This patch has been harmonized with official changes, e.g. to
+use QMAKE_PRL_LIBS instead of QMAKE_PRL_LIBS_FOR_CMAKE.
+
+See https://github.com/Martchus/PKGBUILDs/issues/86#issuecomment-476840055
+for further details on 2.
+
+With Qt 5.14.0 the support for using static libraries seems
+to be further improved. I had not time to test whether it
+actually works so I keep using my own implemention for now.
+That's why this patch now removes a lot of the 5.14.0 and 5.15.0
+additions in favour of 'how it used to work'.
+
+Change-Id: I9a1a384aeb39f9185342e3581ab98feb8ad103a0
+---
+ .../data/cmake/Qt5BasicConfig.cmake.in | 242 +++++++++---------
+ .../data/cmake/Qt5PluginTarget.cmake.in | 92 +------
+ 2 files changed, 133 insertions(+), 201 deletions(-)
+
+diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+index db18dbece64..5a5bc4d61d6 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -52,6 +52,10 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
+ set(_lib_deps)
+ set(_link_flags)
+
++ # prefer static libs
++ set(CMAKE_FIND_LIBRARY_SUFFIXES .a .lib)
++ set(CMAKE_FIND_LIBRARY_PREFIXES lib \"\")
++
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+ set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}\")
+ !!ELSE
+@@ -60,6 +64,10 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
+
+ if(EXISTS \"${prl_file_location}\")
+ file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=\")
++ if(NOT _prl_strings)
++ message(WARNING \"Prl file for Qt 5 module $${CMAKE_MODULE_NAME} does not contain QMAKE_PRL_LIBS_FOR_CMAKE. Was looking at \\\"${prl_file_location}\\\".\")
++ return()
++ endif()
+
+ # file(STRINGS) replaces all semicolons read from the file with backslash semicolons.
+ # We need to do a reverse transformation in CMake. For that we replace all backslash
+@@ -91,7 +99,7 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
+ # Handle normal libraries passed as -lfoo
+ set(_lib \"${CMAKE_MATCH_1}\")
+ foreach(_standard_library ${_standard_libraries})
+- if(_standard_library MATCHES \"^${_lib}(\\\\.lib)?$\")
++ if(_standard_library MATCHES \"^${_lib}(\\\\.lib|\\\\.a)?$\")
+ set(_lib_is_default_linked TRUE)
+ break()
+ endif()
+@@ -138,6 +146,37 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
+ set(${lib_deps} ${_lib_deps} PARENT_SCOPE)
+ set(${link_flags} \"SHELL:${_link_flags}\" PARENT_SCOPE)
+ endfunction()
++
++if(NOT COMMAND _qt5_add_dependencies)
++ # add dependencies via imported targets so CMake does not mess with their (absolute) file path
++ # which can be problematic with unwanted -Wl,-Bstatic or -Wl,-Bdynamic in the linker line
++ function(_qt5_add_dependencies IMPORTED_TARGET_NAME IMPORTED_TARGET_CONFIG STATIC_DEPENDENCIES)
++ set(DEPENDENCY_INDEX 0)
++ unset(EXTRA_PATHS)
++ unset(DEPENDENCY_TARGETS)
++
++ foreach(LIBRARY_LOCATION ${STATIC_DEPENDENCIES})
++ if (TARGET \"${LIBRARY_LOCATION}\")
++ list(APPEND DEPENDENCY_TARGETS \"${LIBRARY_LOCATION}\")
++ continue()
++ endif()
++ set(DEPENDENCY_NAME ${IMPORTED_TARGET_NAME}_DEPENDENCY_${DEPENDENCY_INDEX})
++ if (NOT TARGET \"${DEPENDENCY_NAME}\")
++ add_library(${DEPENDENCY_NAME} STATIC IMPORTED)
++ set_property(TARGET ${DEPENDENCY_NAME} PROPERTY IMPORTED_LOCATION ${LIBRARY_LOCATION})
++ endif()
++ list(APPEND DEPENDENCY_TARGETS ${DEPENDENCY_NAME})
++ math(EXPR DEPENDENCY_INDEX \"${DEPENDENCY_INDEX} + 1\")
++ endforeach()
++
++ if (\"${IMPORTED_TARGET_CONFIG}\" STREQUAL \"ALL\" OR \"${IMPORTED_TARGET_CONFIG}\" STREQUAL \"RELEASE\")
++ set_property(TARGET ${IMPORTED_TARGET_NAME} PROPERTY INTERFACE_LINK_LIBRARIES ${DEPENDENCY_TARGETS})
++ endif()
++ if (NOT \"${IMPORTED_TARGET_CONFIG}\" STREQUAL \"ALL\")
++ set_property(TARGET ${IMPORTED_TARGET_NAME} PROPERTY INTERFACE_LINK_LIBRARIES_${IMPORTED_TARGET_CONFIG} ${DEPENDENCY_TARGETS})
++ endif()
++ endfunction()
++endif()
+ !!ENDIF
+
+ !!IF !equals(TEMPLATE, aux)
+@@ -153,59 +192,36 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
+ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+ set(_deps
+ ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}
+- )
+- set(_static_deps
+ !!IF !isEmpty(CMAKE_STATIC_TYPE)
+ ${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LIB_DEPENDENCIES}
+ !!ENDIF
+ )
+
++ # FIXME: handle IsDebugAndRelease like in official version
++
++!!IF !isEmpty(CMAKE_STATIC_TYPE)
+ set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
+ \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
+ !!IF !isEmpty(CMAKE_LIB_SONAME)
+ \"IMPORTED_SONAME_${Configuration}\" \"$${CMAKE_LIB_SONAME}\"
+ !!ENDIF
+- # For backward compatibility with CMake < 2.8.12
+- \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_deps};${_static_deps}\"
+ )
+- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+- \"${_deps}\"
+- )
+-
+-!!IF !isEmpty(CMAKE_STATIC_TYPE)
+- if(NOT "${IsDebugAndRelease}")
+- set(_genex_condition \"1\")
+- else()
+- if("${Configuration}" STREQUAL "DEBUG")
+- set(_genex_condition \"$<CONFIG:Debug>\")
+- else()
+- set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
+- endif()
+- endif()
+-
+- if(_static_deps)
+- set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
+- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+- \"${_static_deps_genex}\"
++ _qt5_add_dependencies(Qt5::$${CMAKE_MODULE_NAME} \"${Configuration}\" \"${_deps}\")
++ if(NOT CMAKE_VERSION VERSION_LESS \"3.13\")
++ set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
++ \"INTERFACE_LINK_OPTIONS\" \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LINK_FLAGS}\"
+ )
+ endif()
+-
+- set(_static_link_flags \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LINK_FLAGS}\")
+- if(_static_link_flags)
+- set(_static_link_flags_genex \"$<${_genex_condition}:${_static_link_flags}>\")
+- if(NOT CMAKE_VERSION VERSION_LESS \"3.13\")
+- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_OPTIONS
+- \"${_static_link_flags_genex}\"
+- )
+- else()
+- # Abuse INTERFACE_LINK_LIBRARIES to add link flags when CMake version is too low.
+- # Strip out SHELL:, because it is not supported in this property. And hope for the best.
+- string(REPLACE \"SHELL:\" \"\" _static_link_flags_genex \"${_static_link_flags_genex}\")
+- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+- \"${_static_link_flags_genex}\"
+- )
+- endif()
+- endif()
++!!ELSE
++ set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
++ \"INTERFACE_LINK_LIBRARIES_${Configuration}\" \"${_deps}\"
++ \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
++!!IF !isEmpty(CMAKE_LIB_SONAME)
++ \"IMPORTED_SONAME_${Configuration}\" \"$${CMAKE_LIB_SONAME}\"
++!!ENDIF
++ # For backward compatibility with CMake < 2.8.12
++ \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_deps}\"
++ )
+ !!ENDIF
+
+ !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
+@@ -222,6 +238,15 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
+ endif()
+ !!ENDIF
+ endmacro()
++
++macro(_populate_$${CMAKE_MODULE_NAME}_plugin_target_dependencies_from_prl_file PLUGIN_TARGET_NAME PRL_FILE_LOCATION CONFIGURATION LIB_DIRECTORY LIB_LOCATION)
++ _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
++ \"${PRL_FILE_LOCATION}\"
++ \"${CONFIGURATION}\"
++ _Qt5$${CMAKE_MODULE_NAME}_STATIC_PLUGIN_${CONFIGURATION}_LIB_DEPENDENCIES
++ _Qt5$${CMAKE_MODULE_NAME}_STATIC_PLUGIN_${CONFIGURATION}_LINK_FLAGS)
++ _qt5_add_dependencies(\"${PLUGIN_TARGET_NAME}\" ALL \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_PLUGIN_${CONFIGURATION}_LIB_DEPENDENCIES}\")
++endmacro()
+ !!ENDIF
+
+ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -411,13 +436,14 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
+ !!ENDIF
+-!!ELSE
++
++!!ELSE // !isEmpty(CMAKE_STATIC_TYPE)
+ !!IF equals(TEMPLATE, aux)
+ add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
+ !!ELSE
+ add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
+ !!ENDIF
+-!!ENDIF
++!!ENDIF // !isEmpty(CMAKE_STATIC_TYPE)
+
+ !!IF !equals(TEMPLATE, aux)
+ !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
+@@ -449,6 +475,56 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_PLUGIN_TYPES \"$${CMAKE_MODULE_PLUGIN_TYPES}\")
+
++ # Find plugin targets
++ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/*Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
++ unset(pluginTargets)
++ if(pluginTargetsMaybe)
++ foreach(pluginTarget ${pluginTargetsMaybe})
++ file(STRINGS ${pluginTarget} matched REGEX Qt5$${CMAKE_MODULE_NAME}_PLUGINS)
++ if(matched)
++ list(APPEND pluginTargets ${pluginTarget})
++ endif()
++ endforeach()
++ endif()
++
++ macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties TARGET_NAME PLUGIN_TARGET_NAME PLUGIN_NAME CONFIG PLUGIN_LOCATION)
++ set_property(TARGET ${PLUGIN_TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${CONFIG})
++
++!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
++ set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
++!!ELSE
++ set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
++!!ENDIF
++ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
++ set_target_properties(${PLUGIN_TARGET_NAME} PROPERTIES
++ \"IMPORTED_LOCATION_${CONFIG}\" ${imported_location}
++ )
++!!IF !isEmpty(CMAKE_STATIC_TYPE)
++ set_property(TARGET ${TARGET_NAME} APPEND PROPERTY STATIC_PLUGINS ${PLUGIN_NAME})
++ get_filename_component(_PLUGIN_DIR ${PLUGIN_LOCATION} PATH)
++ get_filename_component(_PLUGIN_DIR_NAME ${_PLUGIN_DIR} NAME)
++ get_filename_component(_PLUGIN_NAME ${PLUGIN_LOCATION} NAME)
++ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_PLUGIN_DIR_NAME}/\\\\1.static.prl\" PLUGIN_PRL_FILE_LOCATION ${_PLUGIN_NAME})
++ if(NOT EXISTS ${PLUGIN_PRL_FILE_LOCATION})
++ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_PLUGIN_DIR_NAME}/\\\\1.prl\" PLUGIN_PRL_FILE_LOCATION ${_PLUGIN_NAME})
++ endif()
++ if(NOT EXISTS ${PLUGIN_PRL_FILE_LOCATION})
++ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_PLUGIN_DIR_NAME}/lib\\\\1.prl\" PLUGIN_PRL_FILE_LOCATION ${_PLUGIN_NAME})
++ endif()
++ if(NOT EXISTS ${PLUGIN_PRL_FILE_LOCATION})
++ message(FATAL_ERROR "The prl file containing dependencies of static plugin ${PLUGIN_TARGET_NAME} of ${TARGET_NAME} could not be found.")
++ endif()
++ _populate_$${CMAKE_MODULE_NAME}_plugin_target_dependencies_from_prl_file(${PLUGIN_TARGET_NAME} ${PLUGIN_PRL_FILE_LOCATION} ${CONFIG} \"lib/qt/plugins\" ${PLUGIN_LOCATION})
++!!ENDIF
++
++ endmacro()
++
++ if(pluginTargets)
++ foreach(pluginTarget ${pluginTargets})
++ include(${pluginTarget})
++ endforeach()
++ 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})
+ if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR})
+@@ -467,6 +543,9 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ list(APPEND _Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS ${dep}Private)
+ endif()
+ endforeach()
++!!IF !isEmpty(CMAKE_STATIC_TYPE)
++ _qt5_add_dependencies(Qt5::$${CMAKE_MODULE_NAME}Private ALL \"Qt5::$${CMAKE_MODULE_NAME};${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS}\")
++!!ELSE
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY
+ INTERFACE_LINK_LIBRARIES Qt5::$${CMAKE_MODULE_NAME} ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS}
+ )
+@@ -478,6 +557,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ INTERFACE_LINK_LIBRARIES \"Qt5::$${CMAKE_MODULE_NAME}Private\"
+ )
+ endif()
++!!ENDIF // CMAKE_STATIC_TYPE
+ endif()
+
+ !!IF !equals(TEMPLATE, aux)
+@@ -547,9 +627,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!ELSE
+ \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+ !!ENDIF
+- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
+-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
++ _populate_$${CMAKE_MODULE_NAME}_target_properties(Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
+ endif()
++!!ENDIF // CMAKE_STATIC_TYPE
++
++
+ !!ENDIF // CMAKE_RELEASE_TYPE
+ !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
+
+@@ -560,76 +642,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ )
+ !!ENDIF // TEMPLATE != aux
+
+-!!IF isEmpty(CMAKE_INTERNAL_MODULE)
+- # 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)
+- set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+-
+-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
+- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ELSE
+- set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ENDIF
+- _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+- set_target_properties(Qt5::${Plugin} PROPERTIES
+- \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
+- )
+-
+-!!IF !isEmpty(CMAKE_STATIC_TYPE)
+- set(_static_deps
+- ${_Qt5${Plugin}_STATIC_${Configuration}_LIB_DEPENDENCIES}
+- )
+-
+- if(NOT "${IsDebugAndRelease}")
+- set(_genex_condition \"1\")
+- else()
+- if("${Configuration}" STREQUAL "DEBUG")
+- set(_genex_condition \"$<CONFIG:Debug>\")
+- else()
+- set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
+- endif()
+- endif()
+- if(_static_deps)
+- set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
+- set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+- \"${_static_deps_genex}\"
+- )
+- endif()
+-
+- set(_static_link_flags \"${_Qt5${Plugin}_STATIC_${Configuration}_LINK_FLAGS}\")
+- if(_static_link_flags)
+- set(_static_link_flags_genex \"$<${_genex_condition}:${_static_link_flags}>\")
+- if(NOT CMAKE_VERSION VERSION_LESS \"3.13\")
+- set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_OPTIONS
+- \"${_static_link_flags_genex}\"
+- )
+- else()
+- # Abuse INTERFACE_LINK_LIBRARIES to add link flags when CMake version is too low.
+- # Strip out SHELL:, because it is not supported in this property. And hope for the best.
+- string(REPLACE \"SHELL:\" \"\" _static_link_flags_genex \"${_static_link_flags_genex}\")
+- set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+- \"${_static_link_flags_genex}\"
+- )
+- endif()
+- endif()
+-!!ENDIF
+- endmacro()
+-
+- if (pluginTargets)
+- foreach(pluginTarget ${pluginTargets})
+- 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
+diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+index b465a7fa898..eaf9011c3d9 100644
+--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+@@ -1,5 +1,6 @@
+-
+-add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
++# 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 !isEmpty(CMAKE_STATIC_TYPE)
+ set(_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_PLUGIN_MODULE_DEPS}\")
+@@ -16,98 +17,17 @@ foreach(_module_dep ${_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES})
+ endforeach()
+
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
+- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
+- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LINK_FLAGS
+-)
+-!!ELSE
+-_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+- \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
+- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
+- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LINK_FLAGS
+-)
++ _populate_$${CMAKE_MODULE_NAME}_plugin_properties(Qt5::$$CMAKE_MODULE_NAME Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
+ !!ENDIF
+ !!ENDIF
+
+ !!IF !isEmpty(CMAKE_DEBUG_TYPE)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
+- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
+- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LINK_FLAGS
+-)
+-!!ELSE
+-_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+- \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
+- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
+- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LINK_FLAGS
+-)
+-!!ENDIF
+-!!ENDIF
+-
+-set_property(TARGET Qt5::$$CMAKE_PLUGIN_NAME PROPERTY INTERFACE_SOURCES
+- \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_$${CMAKE_PLUGIN_NAME}_Import.cpp\"
+-)
+-!!ENDIF
+-
+-!!IF !isEmpty(CMAKE_RELEASE_TYPE)
+-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
+-!!ENDIF
+-!!IF !isEmpty(CMAKE_DEBUG_TYPE)
+-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
++ _populate_$${CMAKE_MODULE_NAME}_plugin_properties(Qt5::$$CMAKE_MODULE_NAME Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
+ !!ENDIF
+
+ list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY QT_ALL_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED} Qt5::$${CMAKE_PLUGIN_NAME})
+-!!IF !isEmpty(CMAKE_STATIC_TYPE)
+-# $<GENEX_EVAL:...> wasn\'t added until CMake 3.12, so put a version guard around it
+-if(CMAKE_VERSION VERSION_LESS \"3.12\")
+- set(_manual_plugins_genex \"$<TARGET_PROPERTY:QT_PLUGINS>\")
+- set(_plugin_type_genex \"$<TARGET_PROPERTY:QT_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED}>\")
+- set(_no_plugins_genex \"$<TARGET_PROPERTY:QT_NO_PLUGINS>\")
+-else()
+- set(_manual_plugins_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_PLUGINS>>\")
+- set(_plugin_type_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED}>>\")
+- set(_no_plugins_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_NO_PLUGINS>>\")
+-endif()
+-set(_user_specified_genex
+- \"$<IN_LIST:Qt5::$$CMAKE_PLUGIN_NAME,${_manual_plugins_genex};${_plugin_type_genex}>\"
+-)
+-set(_user_specified_genex_versionless
+- \"$<IN_LIST:Qt::$$CMAKE_PLUGIN_NAME,${_manual_plugins_genex};${_plugin_type_genex}>\"
+-)
+-string(CONCAT _plugin_genex
+- \"$<$<OR:\"
+- # Add this plugin if it\'s in the list of manually specified plugins or in the list of
+- # explicitly included plugin types.
+- \"${_user_specified_genex},\"
+- \"${_user_specified_genex_versionless},\"
+- # Add this plugin if all of the following are true:
+- # 1) the list of explicitly included plugin types is empty
+- # 2) the QT_PLUGIN_EXTENDS property for the plugin is empty or equal to one of the modules
+- # listed in the plugin\'s PLUGIN_EXTEND qmake variable
+- # 3) the user hasn\'t explicitly excluded the plugin.
+- # TODO: Note that the current implementation of (2) is not entirely correct QTBUG-93501
+- \"$<AND:\"
+- \"$<STREQUAL:${_plugin_type_genex},>,\"
+- \"$<OR:\"
+- $${CMAKE_PLUGIN_EXTENDS_GENEX_CHECK}
+- \"$<STREQUAL:$<TARGET_PROPERTY:Qt5::$${CMAKE_PLUGIN_NAME},QT_PLUGIN_EXTENDS>,>\"
+- \">,\"
+- \"$<NOT:$<IN_LIST:Qt5::$${CMAKE_PLUGIN_NAME},${_no_plugins_genex}>>,\"
+- \"$<NOT:$<IN_LIST:Qt::$${CMAKE_PLUGIN_NAME},${_no_plugins_genex}>>\"
+- \">\"
+- \">:Qt5::$$CMAKE_PLUGIN_NAME>\"
+-)
+-set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+- ${_plugin_genex}
+-)
+-set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
+- \"$${CMAKE_PLUGIN_QT5_MODULE_DEPS}\"
+-)
+-!!ENDIF
+ set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_TYPE \"$$CMAKE_PLUGIN_TYPE\")
+ set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_EXTENDS \"$$CMAKE_PLUGIN_EXTENDS\")
+ set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_CLASS_NAME \"$$CMAKE_PLUGIN_NAME\")
++endif()
+--
+2.44.0
+
diff --git a/0020-Use-.dll.a-as-import-lib-extension.patch b/0020-Use-.dll.a-as-import-lib-extension.patch
deleted file mode 100644
index e6b4ff5d472c..000000000000
--- a/0020-Use-.dll.a-as-import-lib-extension.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 5e28a49dd99a5b682fcc9cd78985fc138a1cbc2f Mon Sep 17 00:00:00 2001
-From: Martchus <martchus@gmx.net>
-Date: Sun, 18 Sep 2016 18:26:18 +0200
-Subject: [PATCH 20/34] Use *.dll.a as import lib extension
-
-The variables used here are provided by
-mingw-w64 specific mkspec
----
- mkspecs/features/create_cmake.prf | 5 +++--
- qmake/generators/win32/winmakefile.cpp | 15 +++++++++++----
- 2 files changed, 14 insertions(+), 6 deletions(-)
-
-diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
-index e67917cc96..2a94964b49 100644
---- a/mkspecs/features/create_cmake.prf
-+++ b/mkspecs/features/create_cmake.prf
-@@ -238,8 +238,9 @@ mac {
- CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl
- CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl
- } else {
-- 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 = 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
-diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
-index 87157f31ae..4592fed7b2 100644
---- a/qmake/generators/win32/winmakefile.cpp
-+++ b/qmake/generators/win32/winmakefile.cpp
-@@ -80,9 +80,13 @@ Win32MakefileGenerator::parseLibFlag(const ProString &flag, ProString *arg)
- bool
- Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
- {
-- ProStringList impexts = project->values("QMAKE_LIB_EXTENSIONS");
-- if (impexts.isEmpty())
-- impexts = project->values("QMAKE_EXTENSION_STATICLIB");
-+ ProStringList impexts;
-+ if (project->isActiveConfig("staticlib")) {
-+ impexts.append(project->values("QMAKE_EXTENSION_STATICLIB"));
-+ } else {
-+ impexts.append(project->values("QMAKE_EXTENSION_IMPORTLIB"));
-+ impexts.append(project->values("QMAKE_EXTENSION_STATICLIB"));
-+ }
- QList<QMakeLocalFileName> dirs;
- for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
- dirs.append(QMakeLocalFileName(dlib.toQString()));
-@@ -255,9 +259,12 @@ void Win32MakefileGenerator::fixTargetExt()
- if (!project->values("QMAKE_APP_FLAG").isEmpty()) {
- project->values("TARGET_EXT").append(".exe");
- } else if (project->isActiveConfig("shared")) {
-+ ProString impext = project->first("QMAKE_EXTENSION_IMPORTLIB");
-+ if (impext.isEmpty())
-+ impext = project->first("QMAKE_PREFIX_STATICLIB");
- project->values("LIB_TARGET").prepend(project->first("QMAKE_PREFIX_STATICLIB")
- + project->first("TARGET") + project->first("TARGET_VERSION_EXT")
-- + '.' + project->first("QMAKE_EXTENSION_STATICLIB"));
-+ + '.' + impext);
- project->values("TARGET_EXT").append(project->first("TARGET_VERSION_EXT") + "."
- + project->first("QMAKE_EXTENSION_SHLIB"));
- project->values("TARGET").first() = project->first("QMAKE_PREFIX_SHLIB") + project->first("TARGET");
---
-2.20.1
-
diff --git a/0023-Allow-usage-of-static-version-with-CMake.patch b/0021-Allow-usage-of-static-version-with-CMake.patch
index a530bbb69148..96c32ae865da 100644
--- a/0023-Allow-usage-of-static-version-with-CMake.patch
+++ b/0021-Allow-usage-of-static-version-with-CMake.patch
@@ -1,7 +1,7 @@
-From c49f1674465685e03c0d95b869d6cea45dcf5447 Mon Sep 17 00:00:00 2001
+From a32c64f42900b052b017795255511cf5d1ea019d Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sat, 5 Aug 2017 21:14:26 +0200
-Subject: [PATCH 23/34] Allow usage of static version with CMake
+Subject: [PATCH 21/32] Allow usage of static version with CMake
Allow selecting between dynamic and static Qt versions
installed in the same prefix
@@ -10,23 +10,25 @@ installed in the same prefix
- Static targets are prefixed, eg. StaticQt5::Core
- Set USE_STATIC_QT_BY_DEFAULT to use static version
via regular find_package(Qt5Core)
+
+Change-Id: I410d22d1bee9dd66b90e07461c85fdb74ef621c1
---
- mkspecs/features/create_cmake.prf | 103 +++---
- .../data/cmake/Qt5BasicConfig.cmake.in | 302 ++++++++++++------
- .../data/cmake/Qt5PluginTarget.cmake.in | 18 +-
+ mkspecs/features/create_cmake.prf | 96 ++++--
+ .../data/cmake/Qt5BasicConfig.cmake.in | 311 +++++++++++-------
+ .../data/cmake/Qt5PluginTarget.cmake.in | 30 +-
.../cmake/Qt5StaticOnlyRedirection.cmake.in | 11 +
- src/corelib/Qt5CoreConfigExtras.cmake.in | 24 +-
+ src/corelib/Qt5CoreConfigExtras.cmake.in | 26 +-
src/gui/Qt5GuiConfigExtras.cmake.in | 8 +-
src/testlib/Qt5TestConfigExtras.cmake.in | 2 +-
- 7 files changed, 315 insertions(+), 153 deletions(-)
+ 7 files changed, 318 insertions(+), 166 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 2a94964b49..839a51f377 100644
+index ac089a2f9f0..ceae7c1f8c6 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
-@@ -42,7 +42,7 @@ split_incpath {
- $$QT_MODULE_INCLUDE_BASE/Qt$${CMAKE_MODULE_NAME}/$$eval(QT.$${MODULE}.VERSION)/Qt$${CMAKE_MODULE_NAME})
+@@ -68,7 +68,7 @@ split_incpath {
+ $$QT_MODULE_INCLUDE_BASE/$${CMAKE_INCLUDE_NAME}/$$eval(QT.$${MODULE}.VERSION)/$${CMAKE_INCLUDE_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
@@ -34,56 +36,70 @@ index 2a94964b49..839a51f377 100644
!build_pass:QMAKE_SUBSTITUTES += \
cmake_extra_source_includes
-@@ -92,6 +92,8 @@ win32:!static:!staticlib {
+@@ -118,6 +118,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 =
-@@ -137,17 +139,19 @@ contains(CONFIG, plugin) {
- CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME
-
+ internal_module {
+ CMAKE_INTERNAL_MODULE = true
+@@ -221,20 +223,25 @@ contains(CONFIG, plugin) {
win32 {
+ !mingw|qtConfig(debug_and_release): debug_suffix="d"
+
+- CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.prl
+- CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}$${debug_suffix}.prl
+-
- isEmpty(CMAKE_STATIC_TYPE) {
+ mingw {
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.dll
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}$${debug_suffix}.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
+- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.a
+- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}$${debug_suffix}.a
++ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.a
++ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}$${debug_suffix}.a
++ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.prl
++ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}$${debug_suffix}.prl
++ CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.static.prl
++ CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}$${debug_suffix}.static.prl
} 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
+ CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.lib
+ CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}$${debug_suffix}.lib
++ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.lib
++ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}$${debug_suffix}.lib
++ CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.prl
++ CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}$${debug_suffix}.prl
}
} 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
-@@ -163,13 +167,13 @@ contains(CONFIG, plugin) {
+ isEmpty(CMAKE_STATIC_TYPE): CMAKE_PLUGIN_EXT = .dylib
+ else: CMAKE_PLUGIN_EXT = .a
+@@ -254,9 +261,9 @@ 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
+ cmake_qt5_plugin_import_file.input = $$PWD/data/cmake/Qt5ImportPlugin.cpp.in
+- cmake_qt5_plugin_import_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}_Import.cpp
++ cmake_qt5_plugin_import_file.output = $$CMAKE_OUT_DIR/$${DEFAULT_QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}_Import.cpp
- !build_pass:QMAKE_SUBSTITUTES += \
- cmake_target_file
+ !build_pass {
+ QMAKE_SUBSTITUTES += cmake_target_file
+@@ -265,7 +272,7 @@ contains(CONFIG, plugin) {
cmake_qt5_plugin_file.files = $$cmake_target_file.output
+ static|staticlib: cmake_qt5_plugin_file.files += $$cmake_qt5_plugin_import_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()
-@@ -182,27 +186,36 @@ mod_deps =
+@@ -278,30 +285,38 @@ mod_deps =
lib_deps =
aux_mod_deps =
aux_lib_deps =
@@ -113,65 +129,57 @@ index 2a94964b49..839a51f377 100644
+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_MODULE_PLUGIN_TYPES = $$join(QT.$${MODULE}.plugin_types, ";")
+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}
+ # Interface libraries have to have all properties starting with "INTERFACE_".
+ CMAKE_FEATURE_PROPERTY_PREFIX = ""
+ equals(TEMPLATE, aux): CMAKE_FEATURE_PROPERTY_PREFIX = "INTERFACE_"
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
-@@ -230,35 +243,33 @@ mac {
- CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
- CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
+@@ -328,13 +343,6 @@ mac {
+ CMAKE_LIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}$${debug_suffix}.dll
+ CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll
-- !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
+- !isEmpty(CMAKE_STATIC_TYPE) {
+- CMAKE_STATIC_WINDOWS_BUILD = "true"
+-
+- CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}$${debug_suffix}.prl
+- CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
+- }
+-
+ mingw {
+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}$${debug_suffix}.a
+ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
+@@ -342,14 +350,30 @@ mac {
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.$${QMAKE_EXTENSION_IMPORTLIB}
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB}
++ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}$${debug_suffix}.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_DEBUG_STATIC = lib$${CMAKE_QT_STEM}$${debug_suffix}.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_DEBUG_STATIC = $${CMAKE_QT_STEM}$${debug_suffix}.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_WINMAIN_FILE_LOCATION_DEBUG = qt5main$${QT_LIBINFIX}$${debug_suffix}.lib
+ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qt5main$${QT_LIBINFIX}.lib
-- 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_DEBUG = $${CMAKE_QT_STEM}$${debug_suffix}.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
++ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}$${debug_suffix}.prl
++ CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
++
++ CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}$${debug_suffix}.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_DEBUG_STATIC = $${CMAKE_QT_STEM}$${debug_suffix}.static.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}.static.prl
}
} else {
@@ -179,7 +187,7 @@ index 2a94964b49..839a51f377 100644
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
-@@ -278,12 +289,12 @@ mac {
+@@ -369,12 +393,12 @@ mac {
INSTALLS += cmake_qt5_module_files
cmake_config_file.input = $$PWD/data/cmake/Qt5BasicConfig.cmake.in
@@ -194,7 +202,7 @@ index 2a94964b49..839a51f377 100644
!build_pass:QMAKE_SUBSTITUTES += \
cmake_config_file \
-@@ -293,11 +304,29 @@ cmake_qt5_module_files.files = \
+@@ -384,11 +408,29 @@ cmake_qt5_module_files.files = \
$$cmake_config_file.output \
$$cmake_config_version_file.output
@@ -225,7 +233,7 @@ index 2a94964b49..839a51f377 100644
!build_pass:QMAKE_SUBSTITUTES += cmake_extras_file
-@@ -309,7 +338,7 @@ cmake_macros_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}Macros.cmake
+@@ -400,7 +442,7 @@ cmake_macros_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}Macros.cmake
exists($$cmake_macros_file.input) {
CMAKE_MODULE_MACROS = "true"
@@ -234,7 +242,7 @@ index 2a94964b49..839a51f377 100644
cmake_macros_file.CONFIG = verbatim
!build_pass:QMAKE_SUBSTITUTES += cmake_macros_file
-@@ -317,7 +346,7 @@ exists($$cmake_macros_file.input) {
+@@ -408,7 +450,7 @@ exists($$cmake_macros_file.input) {
cmake_qt5_module_files.files += $$cmake_macros_file.output
}
@@ -244,10 +252,10 @@ index 2a94964b49..839a51f377 100644
# 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 15d8b8372e..939e55dfd8 100644
+index 5a5bc4d61d6..97150fb2448 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -3,6 +3,33 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
+@@ -2,6 +2,33 @@ 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()
@@ -281,7 +289,7 @@ index 15d8b8372e..939e55dfd8 100644
!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
-@@ -29,15 +56,19 @@ set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+@@ -28,15 +55,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.
@@ -307,82 +315,61 @@ index 15d8b8372e..939e55dfd8 100644
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.
-@@ -48,23 +79,60 @@ but not all the files it references.
- endif()
- endmacro()
-
-+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+@@ -177,12 +208,24 @@ if(NOT COMMAND _qt5_add_dependencies)
+ endif()
+ endfunction()
+ endif()
++
+# 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}")
++ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists_static(\"${FILE}\")
+ endmacro()
+endif()
-+!!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})
+-macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
-+macro(_populate_$${CMAKE_MODULE_NAME}_target_properties_static TARGET_NAME TARGET_CONFIG LIB_LOCATION IMPLIB_LOCATION)
++macro(_populate_$${CMAKE_MODULE_NAME}_target_properties_static TARGET_NAME Configuration LIB_LOCATION IMPLIB_LOCATION
++ IsDebugAndRelease)
+!!ELSE
-+macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_NAME TARGET_CONFIG LIB_LOCATION IMPLIB_LOCATION)
++macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_NAME Configuration LIB_LOCATION IMPLIB_LOCATION
+ IsDebugAndRelease)
+- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+!!ENDIF
-+ set_property(TARGET ${TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${TARGET_CONFIG})
++ set_property(TARGET ${TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
!!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
+@@ -200,20 +243,20 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
+ # FIXME: handle IsDebugAndRelease like in official version
!!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}
++ set_target_properties(\"${TARGET_NAME}\" PROPERTIES
+ \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
!!IF !isEmpty(CMAKE_LIB_SONAME)
-@@ -74,7 +142,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}\"
+ \"IMPORTED_SONAME_${Configuration}\" \"$${CMAKE_LIB_SONAME}\"
+ !!ENDIF
)
+- _qt5_add_dependencies(Qt5::$${CMAKE_MODULE_NAME} \"${Configuration}\" \"${_deps}\")
++ _qt5_add_dependencies(\"${TARGET_NAME}\" \"${Configuration}\" \"${_deps}\")
+ if(NOT CMAKE_VERSION VERSION_LESS \"3.13\")
+- set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
++ set_target_properties(\"${TARGET_NAME}\" PROPERTIES
+ \"INTERFACE_LINK_OPTIONS\" \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LINK_FLAGS}\"
+ )
+ endif()
!!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}
++ set_target_properties(\"${TARGET_NAME}\" PROPERTIES
+ \"INTERFACE_LINK_LIBRARIES_${Configuration}\" \"${_deps}\"
+ \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
!!IF !isEmpty(CMAKE_LIB_SONAME)
-@@ -91,9 +159,13 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI
+@@ -230,9 +273,13 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
!!ELSE
- set(imported_implib \"IMPORTED_IMPLIB_${TARGET_CONFIG}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
!!ENDIF
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists_static(${imported_implib})
@@ -392,28 +379,27 @@ index 15d8b8372e..939e55dfd8 100644
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}
+ \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib}
)
endif()
-@@ -101,8 +173,9 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI
+@@ -249,8 +296,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_plugin_target_dependencies_from_prl_file P
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(NOT TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME})
!!IF !no_module_headers
!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
-@@ -110,46 +183,50 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
+@@ -258,46 +304,50 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.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}\"
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
)
-!!ELSE
- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
@@ -431,15 +417,12 @@ index 15d8b8372e..939e55dfd8 100644
\"${_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
+ !!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}\")
+ !!ENDIF
+ !!ELSE
+ set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\" \"$${CMAKE_INCLUDE_DIR}$${CMAKE_INCLUDE_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
@@ -474,7 +457,7 @@ index 15d8b8372e..939e55dfd8 100644
endforeach()
!!IF isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
-@@ -158,16 +235,20 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -306,16 +356,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})
@@ -498,7 +481,7 @@ index 15d8b8372e..939e55dfd8 100644
!!ENDIF // TEMPLATE != aux
set(_Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_MODULE_DEPS}\")
-@@ -175,10 +256,10 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -323,10 +377,10 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
list(APPEND _Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_INTERFACE_MODULE_DEPS}\")
!!ENDIF
@@ -511,7 +494,7 @@ index 15d8b8372e..939e55dfd8 100644
set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED REQUIRED)
endif()
set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_QUIET)
-@@ -186,17 +267,17 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -334,17 +388,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)
@@ -533,7 +516,7 @@ index 15d8b8372e..939e55dfd8 100644
$$VERSION ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT}
${_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET}
${_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED}
-@@ -204,36 +285,41 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -352,25 +406,25 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
)
endif()
@@ -570,6 +553,17 @@ index 15d8b8372e..939e55dfd8 100644
+ list(REMOVE_DUPLICATES ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_EXECUTABLE_COMPILE_FLAGS)
!!ENDIF // TEMPLATE != aux
+ # It can happen that the same FooConfig.cmake file is included when calling find_package()
+@@ -385,11 +439,16 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ #
+ # Make sure to return early in the original Config inclusion, because the target has already
+ # been defined as part of the second inclusion.
+- if(TARGET Qt5::$${CMAKE_MODULE_NAME})
++ set(TARGET_NAME ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME})
++ if(TARGET ${TARGET_NAME})
+ return()
+ endif()
+
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+ set(_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_QT5_MODULE_DEPS_STATIC}\")
+!!ELSE
@@ -578,79 +572,116 @@ index 15d8b8372e..939e55dfd8 100644
!!IF !isEmpty(CMAKE_INTERFACE_QT5_MODULE_DEPS)
list(APPEND _Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_INTERFACE_QT5_MODULE_DEPS}\")
- !!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\")
-@@ -257,37 +343,48 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- endmacro()
-
+@@ -400,13 +459,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !isEmpty(CMAKE_DEBUG_TYPE)
!!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)
+ _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
++ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC}\" DEBUG
+ _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LINK_FLAGS
+ )
!!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
+ _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+- \"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
++ \"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC}\" DEBUG
+ _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LINK_FLAGS
+ )
+@@ -416,13 +475,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
!!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)
+ _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
++ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC}\" RELEASE
+ _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LINK_FLAGS
+ )
!!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)
+ _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
+- \"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
++ \"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC}\" RELEASE
+ _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
+ _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LINK_FLAGS
+ )
+@@ -431,49 +490,60 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ endif()
+
+ !!IF equals(TEMPLATE, aux)
+- add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
++ add_library(${TARGET_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")
++ add_library(${TARGET_NAME} STATIC IMPORTED)
++ set_property(TARGET ${TARGET_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
!!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)
++ add_library(${TARGET_NAME} INTERFACE IMPORTED)
!!ELSE
- add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
-+ add_library(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
++ add_library(${TARGET_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)
++ set_property(TARGET ${TARGET_NAME} PROPERTY FRAMEWORK 1)
++!!ENDIF
++!!ENDIF // TEMPLATE != aux
++
++!!IF !equals(TEMPLATE, aux)
++!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
++ set_property(TARGET ${TARGET_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
++ set_property(TARGET ${TARGET_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
++ set_property(TARGET ${TARGET_NAME} PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS $${CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC} $${MODULE_DEFINES})
+!!ELSE
-+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY
++ set_property(TARGET ${TARGET_NAME} PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINES})
+!!ENDIF
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_ENABLED_FEATURES $$join(QT.$${MODULE}.enabled_features, ";"))
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_DISABLED_FEATURES $$join(QT.$${MODULE}.disabled_features, ";"))
-+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_ENABLED_FEATURES $$join(QT.$${MODULE}.enabled_features, ";"))
-+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_DISABLED_FEATURES $$join(QT.$${MODULE}.disabled_features, ";"))
++ set_property(TARGET ${TARGET_NAME} PROPERTY INTERFACE_QT_ENABLED_FEATURES $$join(QT.$${MODULE}.enabled_features, ";"))
++ set_property(TARGET ${TARGET_NAME} PROPERTY INTERFACE_QT_DISABLED_FEATURES $$join(QT.$${MODULE}.disabled_features, ";"))
+
+ # Qt 6 forward compatible properties.
+- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}
++ set_property(TARGET ${TARGET_NAME}
+ PROPERTY $${CMAKE_FEATURE_PROPERTY_PREFIX}QT_ENABLED_PUBLIC_FEATURES
+ $$join(QT.$${MODULE}.enabled_features, ";"))
+- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}
++ set_property(TARGET ${TARGET_NAME}
+ PROPERTY $${CMAKE_FEATURE_PROPERTY_PREFIX}QT_DISABLED_PUBLIC_FEATURES
+ $$join(QT.$${MODULE}.disabled_features, ";"))
+- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}
++ set_property(TARGET ${TARGET_NAME}
+ PROPERTY $${CMAKE_FEATURE_PROPERTY_PREFIX}QT_ENABLED_PRIVATE_FEATURES
+ $$join(QT.$${MODULE}_private.enabled_features, ";"))
+- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}
++ set_property(TARGET ${TARGET_NAME}
+ PROPERTY $${CMAKE_FEATURE_PROPERTY_PREFIX}QT_DISABLED_PRIVATE_FEATURES
+ $$join(QT.$${MODULE}_private.disabled_features, ";"))
+
+- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_PLUGIN_TYPES \"$${CMAKE_MODULE_PLUGIN_TYPES}\")
++ set_property(TARGET ${TARGET_NAME} PROPERTY INTERFACE_QT_PLUGIN_TYPES \"$${CMAKE_MODULE_PLUGIN_TYPES}\")
# Find plugin targets
file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/*Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
-@@ -301,7 +398,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -487,7 +557,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
endforeach()
endif()
@@ -662,7 +693,7 @@ index 15d8b8372e..939e55dfd8 100644
set_property(TARGET ${PLUGIN_TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${CONFIG})
!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
-@@ -309,7 +410,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -495,7 +569,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!ELSE
set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
!!ENDIF
@@ -674,12 +705,16 @@ index 15d8b8372e..939e55dfd8 100644
set_target_properties(${PLUGIN_TARGET_NAME} PROPERTIES
\"IMPORTED_LOCATION_${CONFIG}\" ${imported_location}
)
-@@ -340,16 +445,16 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -525,17 +603,20 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ endforeach()
endif()
++ # set TARGET_NAME back to current module (when loading plugin targets other modules might have been loaded in the meantime)
++ set(TARGET_NAME ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME})
++
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})
++ foreach (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR ${${TARGET_NAME}_OWN_PRIVATE_INCLUDE_DIRS})
if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR})
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST FALSE)
endif()
@@ -689,33 +724,50 @@ index 15d8b8372e..939e55dfd8 100644
- 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}
++ add_library(${TARGET_NAME}Private INTERFACE IMPORTED)
++ set_property(TARGET ${TARGET_NAME}Private PROPERTY
++ INTERFACE_INCLUDE_DIRECTORIES ${${TARGET_NAME}_OWN_PRIVATE_INCLUDE_DIRS}
)
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS)
foreach(dep ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES})
-@@ -357,66 +462,68 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- list(APPEND _Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS ${dep}Private)
+@@ -544,17 +625,18 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
endif()
endforeach()
+ !!IF !isEmpty(CMAKE_STATIC_TYPE)
+- _qt5_add_dependencies(Qt5::$${CMAKE_MODULE_NAME}Private ALL \"Qt5::$${CMAKE_MODULE_NAME};${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS}\")
++ _qt5_add_dependencies(${TARGET_NAME}Private ALL
++ \"${TARGET_NAME};${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS}\")
+ !!ELSE
- 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}
++ set_property(TARGET ${TARGET_NAME}Private PROPERTY
++ INTERFACE_LINK_LIBRARIES ${TARGET_NAME} ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS}
)
- endif()
+
+ # Add a versionless target, for compatibility with Qt6.
+- if(NOT \"${QT_NO_CREATE_VERSIONLESS_TARGETS}\" AND NOT TARGET Qt::$${CMAKE_MODULE_NAME}Private)
+- add_library(Qt::$${CMAKE_MODULE_NAME}Private INTERFACE IMPORTED)
+- set_target_properties(Qt::$${CMAKE_MODULE_NAME}Private PROPERTIES
+- INTERFACE_LINK_LIBRARIES \"Qt5::$${CMAKE_MODULE_NAME}Private\"
++ if(NOT \"${QT_NO_CREATE_VERSIONLESS_TARGETS}\" AND NOT TARGET ${QT_VARIANT_PREFIX}Qt::$${CMAKE_MODULE_NAME}Private)
++ add_library(${QT_VARIANT_PREFIX}Qt::$${CMAKE_MODULE_NAME}Private INTERFACE IMPORTED)
++ set_target_properties(${QT_VARIANT_PREFIX}Qt::$${CMAKE_MODULE_NAME}Private PROPERTIES
++ INTERFACE_LINK_LIBRARIES \"${TARGET_NAME}Private\"
+ )
+ endif()
+ !!ENDIF // CMAKE_STATIC_TYPE
+@@ -562,59 +644,61 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!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}\" \"\" )
+- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" $${CMAKE_DEBUG_AND_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}\" \"\" )
++ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${TARGET_NAME} RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
!!ELSE
-- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_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}\" )
++ _populate_$${CMAKE_MODULE_NAME}_target_properties(${TARGET_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
+!!ENDIF // CMAKE_STATIC_TYPE
+
@@ -729,9 +781,9 @@ index 15d8b8372e..939e55dfd8 100644
!!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}\" \"\" )
+- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
-!!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}\" \"\" )
++ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${TARGET_NAME} DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
+ endif()
+!!ELSE // CMAKE_STATIC_TYPE
if (EXISTS
@@ -747,9 +799,9 @@ index 15d8b8372e..939e55dfd8 100644
!!ELSE
\"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
!!ENDIF
-- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
-!!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}\" )
++ _populate_$${CMAKE_MODULE_NAME}_target_properties(${TARGET_NAME} DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
endif()
+!!ENDIF // CMAKE_STATIC_TYPE
!!ENDIF // CMAKE_DEBUG_TYPE
@@ -759,11 +811,11 @@ index 15d8b8372e..939e55dfd8 100644
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
-- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
+- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
-+ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
++ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
!!ELSE
- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+ _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+!!ENDIF // CMAKE_STATIC_TYPE
@@ -779,28 +831,28 @@ index 15d8b8372e..939e55dfd8 100644
- 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}\" \"\" )
+- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" $${CMAKE_DEBUG_AND_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}\" \"\" )
++ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${TARGET_NAME} RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
+!!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}\"
-@@ -429,7 +536,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -627,7 +711,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}\" )
+- _populate_$${CMAKE_MODULE_NAME}_target_properties(Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
++ _populate_$${CMAKE_MODULE_NAME}_target_properties(${TARGET_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
endif()
!!ENDIF // CMAKE_STATIC_TYPE
-@@ -439,19 +546,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -637,26 +721,29 @@ 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
++ set_target_properties(${TARGET_NAME} PROPERTIES
INTERFACE_LINK_LIBRARIES \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
)
!!ENDIF // TEMPLATE != aux
@@ -815,33 +867,62 @@ index 15d8b8372e..939e55dfd8 100644
+ 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\")
+- _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\")
++ _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\")
++ _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()
+ # Add a versionless target, for compatibility with Qt6.
+-if(NOT \"${QT_NO_CREATE_VERSIONLESS_TARGETS}\" AND TARGET Qt5::$${CMAKE_MODULE_NAME} AND NOT TARGET Qt::$${CMAKE_MODULE_NAME})
+- add_library(Qt::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
+- set_target_properties(Qt::$${CMAKE_MODULE_NAME} PROPERTIES
+- INTERFACE_LINK_LIBRARIES \"Qt5::$${CMAKE_MODULE_NAME}\"
++if(NOT \"${QT_NO_CREATE_VERSIONLESS_TARGETS}\" AND TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} AND NOT TARGET ${QT_VARIANT_PREFIX}Qt::$${CMAKE_MODULE_NAME})
++ add_library(${QT_VARIANT_PREFIX}Qt::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
++ set_target_properties(${QT_VARIANT_PREFIX}Qt::$${CMAKE_MODULE_NAME} PROPERTIES
++ INTERFACE_LINK_LIBRARIES \"${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}\"
+ )
endif()
diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-index ec5f3cc437..1e4d98086c 100644
+index eaf9011c3d9..de09c85b90f 100644
--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -1,14 +1,22 @@
+@@ -1,13 +1,13 @@
# 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_STATIC_TYPE)
+ set(_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_PLUGIN_MODULE_DEPS}\")
+
+ foreach(_module_dep ${_Qt5$${CMAKE_PLUGIN_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}
+@@ -15,19 +15,27 @@ foreach(_module_dep ${_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES})
+ )
+ endif()
+ endforeach()
++!!ENDIF
+
!!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
+ !!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)
@@ -852,12 +933,19 @@ index ec5f3cc437..1e4d98086c 100644
!!ENDIF
-list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
+-set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY QT_ALL_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED} Qt5::$${CMAKE_PLUGIN_NAME})
+-set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_TYPE \"$$CMAKE_PLUGIN_TYPE\")
+-set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_EXTENDS \"$$CMAKE_PLUGIN_EXTENDS\")
+-set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_CLASS_NAME \"$$CMAKE_PLUGIN_NAME\")
+list(APPEND ${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PLUGINS ${QT_VARIANT_PREFIX}Qt5::$$CMAKE_PLUGIN_NAME)
-
++set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY QT_ALL_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED} ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_PLUGIN_NAME})
++set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_TYPE \"$$CMAKE_PLUGIN_TYPE\")
++set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_EXTENDS \"$$CMAKE_PLUGIN_EXTENDS\")
++set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_CLASS_NAME \"$$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
+index 00000000000..0091940fd26
--- /dev/null
+++ b/mkspecs/features/data/cmake/Qt5StaticOnlyRedirection.cmake.in
@@ -0,0 +1,11 @@
@@ -873,30 +961,36 @@ index 0000000000..0091940fd2
+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 e0652fdcf9..f0add757bb 100644
+index 0d02edb41c3..9da1361c95a 100644
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -1,4 +1,6 @@
+@@ -2,6 +2,8 @@ if(NOT DEFINED QT_DEFAULT_MAJOR_VERSION)
+ set(QT_DEFAULT_MAJOR_VERSION 5)
+ endif()
+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)
+@@ -55,12 +57,12 @@ 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)
+ !!IF !isEmpty(CMAKE_MIN_DARWIN_DEPLOYMENT_TARGET)
+-set_property(TARGET Qt5::Core PROPERTY QT_DARWIN_MIN_DEPLOYMENT_TARGET \"$$CMAKE_MIN_DARWIN_DEPLOYMENT_TARGET\")
++set_property(TARGET ${IMPORTED_TARGET_NAME} PROPERTY QT_DARWIN_MIN_DEPLOYMENT_TARGET \"$$CMAKE_MIN_DARWIN_DEPLOYMENT_TARGET\")
+ !!ENDIF
+-set_property(TARGET Qt5::Core APPEND PROPERTY
+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})
+@@ -71,7 +73,7 @@ foreach(_dir ${_qt5_corelib_extra_includes})
endforeach()
list(APPEND Qt5Core_INCLUDE_DIRS ${_qt5_corelib_extra_includes})
@@ -905,7 +999,7 @@ index e0652fdcf9..f0add757bb 100644
set(_qt5_corelib_extra_includes)
# Targets using Qt need to use the POSITION_INDEPENDENT_CODE property. The
-@@ -78,7 +80,7 @@ set(Qt5_POSITION_INDEPENDENT_CODE True)
+@@ -86,7 +88,7 @@ set(Qt5_POSITION_INDEPENDENT_CODE True)
# Applications now need to be compiled with the -fPIC option if the Qt option
# \"reduce relocations\" is active. For backward compatibility only, Qt accepts
# the use of -fPIE for GCC 4.x versions.
@@ -914,7 +1008,7 @@ index e0652fdcf9..f0add757bb 100644
# TODO Qt6: Remove
set(Qt5Core_EXECUTABLE_COMPILE_FLAGS \"\")
-@@ -86,7 +88,7 @@ set(Qt5Core_EXECUTABLE_COMPILE_FLAGS \"\")
+@@ -94,7 +96,7 @@ set(Qt5Core_EXECUTABLE_COMPILE_FLAGS \"\")
!!IF !isEmpty(QT_NAMESPACE)
list(APPEND Qt5Core_DEFINITIONS -DQT_NAMESPACE=$$QT_NAMESPACE)
list(APPEND Qt5Core_COMPILE_DEFINITIONS QT_NAMESPACE=$$QT_NAMESPACE)
@@ -923,7 +1017,7 @@ index e0652fdcf9..f0add757bb 100644
!!ENDIF
!!IF !isEmpty(CMAKE_DISABLED_FEATURES)
-@@ -95,9 +97,9 @@ set(Qt5_DISABLED_FEATURES
+@@ -103,9 +105,9 @@ set(Qt5_DISABLED_FEATURES
)
!!ENDIF
@@ -935,7 +1029,7 @@ index e0652fdcf9..f0add757bb 100644
!!IF qtConfig(reduce_exports)
set(QT_VISIBILITY_AVAILABLE \"True\")
-@@ -145,14 +147,14 @@ if (NOT TARGET Qt5::WinMain)
+@@ -153,14 +155,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>)
@@ -954,7 +1048,7 @@ index e0652fdcf9..f0add757bb 100644
$<$<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
+index 84dbbfebd47..31fa875b6c7 100644
--- a/src/gui/Qt5GuiConfigExtras.cmake.in
+++ b/src/gui/Qt5GuiConfigExtras.cmake.in
@@ -1,4 +1,6 @@
@@ -973,7 +1067,7 @@ index 2e32911a64..6b02a12944 100644
unset(_qt5gui_OPENGL_INCLUDE_DIR CACHE)
-@@ -170,9 +172,9 @@ _qt5gui_find_extra_libs(OPENGL \"$$CMAKE_OPENGL_LIBS\" \"$$CMAKE_OPENGL_LIBDIR\"
+@@ -183,9 +185,9 @@ _qt5gui_find_extra_libs(OPENGL \"$$CMAKE_OPENGL_LIBS\" \"$$CMAKE_OPENGL_LIBDIR\"
set(Qt5Gui_OPENGL_IMPLEMENTATION $$CMAKE_QT_OPENGL_IMPLEMENTATION)
@@ -986,7 +1080,7 @@ index 2e32911a64..6b02a12944 100644
${Qt5Gui_EGL_LIBRARIES} ${Qt5Gui_OPENGL_LIBRARIES}
)
diff --git a/src/testlib/Qt5TestConfigExtras.cmake.in b/src/testlib/Qt5TestConfigExtras.cmake.in
-index 2a575958ae..ca0e3be3b5 100644
+index 2a575958ae4..ca0e3be3b56 100644
--- a/src/testlib/Qt5TestConfigExtras.cmake.in
+++ b/src/testlib/Qt5TestConfigExtras.cmake.in
@@ -1,5 +1,5 @@
@@ -997,5 +1091,5 @@ index 2a575958ae..ca0e3be3b5 100644
INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\"
)
--
-2.20.1
+2.44.0
diff --git a/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch b/0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch
index 3e45a2fccd7a..83810470c590 100644
--- a/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch
+++ b/0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch
@@ -1,29 +1,31 @@
-From 5decd2ed0bdfafd01c119357c73fc91e470b9f61 Mon Sep 17 00:00:00 2001
+From 1e0190cb9b33cd6aaef745da13d8e4de85a50775 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 2 Jun 2017 16:42:07 +0200
-Subject: [PATCH 24/34] Adjust linker flags for static build with
+Subject: [PATCH 22/32] Adjust linker flags for static build with
cmake/mingw-w64
-Change-Id: I33b88976d8f5ce87ce431a6f422fe87785bf5b8d
+It is not clear anymore where I picked that change up and for
+what reason. Never touch a running system so let's keep it.
+
+Change-Id: Iad665f18da5b4540f0899829a0165e1d3aa4ea60
---
- src/corelib/Qt5CoreConfigExtras.cmake.in | 7 +++++++
- 1 file changed, 7 insertions(+)
+ src/corelib/Qt5CoreConfigExtras.cmake.in | 6 ++++++
+ 1 file changed, 6 insertions(+)
diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
-index f0add757bb..5328da2e80 100644
+index 9da1361c95a..5e802dea4c5 100644
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -173,3 +173,10 @@ get_filename_component(_Qt5CoreConfigDir ${CMAKE_CURRENT_LIST_FILE} PATH)
- set(_Qt5CTestMacros \"${_Qt5CoreConfigDir}/Qt5CTestMacros.cmake\")
-
- _qt5_Core_check_file_exists(${_Qt5CTestMacros})
+@@ -206,3 +206,9 @@ if(NOT \"${QT_NO_CREATE_VERSIONLESS_TARGETS}\" AND NOT TARGET Qt::WinMain)
+ )
+ endif()
+ !!ENDIF
+
+!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+set(_isExe $<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>)
+# INTERFACE_LINK_LIBRARIES is used to pass a linker flag '-static' and library ws2_32
+set_target_properties(${IMPORTED_TARGET_NAME} PROPERTIES \"INTERFACE_LINK_LIBRARIES\" \"$<${_isExe}:-static;ws2_32>\")
+unset(_isExe)
-+!!ENDIF
--
-2.20.1
+2.44.0
diff --git a/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch b/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch
deleted file mode 100644
index d7b6a73cb473..000000000000
--- a/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-From 7f561d87a70af23d5d2a0c89e08ba5744b2f9585 Mon Sep 17 00:00:00 2001
-From: Martchus <martchus@gmx.net>
-Date: Sun, 18 Sep 2016 18:32:00 +0200
-Subject: [PATCH 22/34] Pull dependencies of static libraries in CMake modules
-
-When doing a static build of Qt, the dependencies of the Qt
-libraries and plugins itself must be specified when linking
-the final application.
----
- .../data/cmake/Qt5BasicConfig.cmake.in | 148 ++++++++++++++----
- .../data/cmake/Qt5PluginTarget.cmake.in | 11 +-
- qmake/generators/makefile.cpp | 16 +-
- 3 files changed, 133 insertions(+), 42 deletions(-)
-
-diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 3ed6dd5889..15d8b8372e 100644
---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -49,35 +49,52 @@ but not all the files it references.
- endmacro()
-
- !!IF !equals(TEMPLATE, aux)
--macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
-- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
-+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_DLL_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ELSE
- set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
-+
- _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-+
-+!!IF !isEmpty(CMAKE_STATIC_TYPE)
-+ if (_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES)
-+ set(_list_sep \";\")
-+ endif()
-+ set_target_properties(Qt5::$${CMAKE_MODULE_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)
-+ \"IMPORTED_SONAME_${TARGET_CONFIG}\" \"$${CMAKE_LIB_SONAME}\"
-+!!ENDIF
-+ # For backward compatibility with CMake < 2.8.12
-+ \"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
-- \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-- \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-+ \"INTERFACE_LINK_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-+ \"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location}
- !!IF !isEmpty(CMAKE_LIB_SONAME)
-- \"IMPORTED_SONAME_${Configuration}\" \"$${CMAKE_LIB_SONAME}\"
-+ \"IMPORTED_SONAME_${TARGET_CONFIG}\" \"$${CMAKE_LIB_SONAME}\"
- !!ENDIF
- # For backward compatibility with CMake < 2.8.12
-- \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-+ \"IMPORTED_LINK_INTERFACE_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
- )
-+!!ENDIF
-
- !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ELSE
-- set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-+ set(imported_implib \"IMPORTED_IMPLIB_${TARGET_CONFIG}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ENDIF
- _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
- if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
- set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-- \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib}
-+ \"IMPORTED_IMPLIB_${TARGET_CONFIG}\" ${imported_implib}
- )
- endif()
- !!ENDIF
-@@ -217,13 +234,47 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- !!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")
-+ 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\")
-+ string(REGEX REPLACE \"QMAKE_PRL_LIBS_FOR_CMAKE *= *([^\\n]*)\" \"\\\\1\" static_depends ${prl_strings})
-+ string(REGEX REPLACE \"\\\\$\\\\$\\\\[QT_INSTALL_LIBS\\\\]\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib\" static_depends \"${static_depends}\")
-+ string(REPLACE \"-framework;\" \"-framework \" static_depends \"${static_depends}\")
-+ if (_Qt5$${CMAKE_MODULE_NAME}_STATIC_${CONFIGURATION}_LIB_DEPENDENCIES)
-+ set(_list_sep \";\")
-+ endif()
-+ set(_Qt5$${CMAKE_MODULE_NAME}_STATIC_${CONFIGURATION}_LIB_DEPENDENCIES \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${CONFIGURATION}_LIB_DEPENDENCIES}${_list_sep}${static_depends}\")
-+ endif()
-+ endmacro()
-+
-+ macro(_populate_plugin_target_dependencies_from_prl_file PLUGIN_TARGET_NAME PRL_FILE_LOCATION CONFIGURATION LIB_DIRECTORY LIB_LOCATION)
-+ file(STRINGS "${PRL_FILE_LOCATION}" prl_strings REGEX "QMAKE_PRL_LIBS_FOR_CMAKE")
-+ string(REGEX REPLACE \"QMAKE_PRL_LIBS_FOR_CMAKE *= *([^\n]*)\" \"\\\\1\" static_depends ${prl_strings})
-+ string(REGEX REPLACE \"\\\\$\\\\$\\\\[QT_INSTALL_LIBS\\\\]\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib\" static_depends \"${static_depends}\")
-+ set_property(TARGET ${PLUGIN_TARGET_NAME} PROPERTY
-+ INTERFACE_LINK_LIBRARIES ${static_depends}
-+ )
-+ 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)
- !!ELSE
-+ _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" 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)
-+!!ELSE
-+ _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE)
-+!!ENDIF
-+
-+!!ELSE // !isEmpty(CMAKE_STATIC_TYPE)
- !!IF equals(TEMPLATE, aux)
- add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
- !!ELSE
- add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
- !!ENDIF
--!!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)
-@@ -238,6 +289,56 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_ENABLED_FEATURES $$join(QT.$${MODULE}.enabled_features, ";"))
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_DISABLED_FEATURES $$join(QT.$${MODULE}.disabled_features, ";"))
-
-+ # Find plugin targets
-+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/*Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
-+ unset(pluginTargets)
-+ if(pluginTargetsMaybe)
-+ foreach(pluginTarget ${pluginTargetsMaybe})
-+ file(STRINGS ${pluginTarget} matched REGEX Qt5$${CMAKE_MODULE_NAME}_PLUGINS)
-+ if(matched)
-+ list(APPEND pluginTargets ${pluginTarget})
-+ endif()
-+ endforeach()
-+ endif()
-+
-+ macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties TARGET_NAME PLUGIN_TARGET_NAME PLUGIN_NAME CONFIG PLUGIN_LOCATION)
-+ set_property(TARGET ${PLUGIN_TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${CONFIG})
-+
-+!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
-+ set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+!!ELSE
-+ set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+!!ENDIF
-+ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-+ set_target_properties(${PLUGIN_TARGET_NAME} PROPERTIES
-+ \"IMPORTED_LOCATION_${CONFIG}\" ${imported_location}
-+ )
-+!!IF !isEmpty(CMAKE_STATIC_TYPE)
-+ set_property(TARGET ${TARGET_NAME} APPEND PROPERTY STATIC_PLUGINS ${PLUGIN_NAME})
-+ get_filename_component(_PLUGIN_DIR ${PLUGIN_LOCATION} PATH)
-+ get_filename_component(_PLUGIN_DIR_NAME ${_PLUGIN_DIR} NAME)
-+ get_filename_component(_PLUGIN_NAME ${PLUGIN_LOCATION} NAME)
-+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_PLUGIN_DIR_NAME}/\\\\1.static.prl\" PLUGIN_PRL_FILE_LOCATION ${_PLUGIN_NAME})
-+ if(NOT EXISTS ${PLUGIN_PRL_FILE_LOCATION})
-+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_PLUGIN_DIR_NAME}/\\\\1.prl\" PLUGIN_PRL_FILE_LOCATION ${_PLUGIN_NAME})
-+ endif()
-+ if(NOT EXISTS ${PLUGIN_PRL_FILE_LOCATION})
-+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_PLUGIN_DIR_NAME}/lib\\\\1.prl\" PLUGIN_PRL_FILE_LOCATION ${_PLUGIN_NAME})
-+ endif()
-+ if(NOT EXISTS ${PLUGIN_PRL_FILE_LOCATION})
-+ message(FATAL_ERROR "The prl file containing dependencies of static plugin ${PLUGIN_TARGET_NAME} of ${TARGET_NAME} could not be found.")
-+ endif()
-+ _populate_plugin_target_dependencies_from_prl_file(${PLUGIN_TARGET_NAME} ${PLUGIN_PRL_FILE_LOCATION} ${CONFIG} \"lib/qt/plugins\" ${PLUGIN_LOCATION})
-+!!ENDIF
-+
-+ endmacro()
-+
-+ if(pluginTargets)
-+ foreach(pluginTarget ${pluginTargets})
-+ include(${pluginTarget})
-+ endforeach()
-+ 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})
- if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR})
-@@ -328,9 +429,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- !!ELSE
- \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF
-- _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(Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- endif()
-+!!ENDIF // CMAKE_STATIC_TYPE
-+
-+
- !!ENDIF // CMAKE_RELEASE_TYPE
- !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-
-@@ -341,29 +444,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- )
- !!ENDIF // TEMPLATE != aux
-
-- file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\")
--
-- macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-- set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
--
--!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
-- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ELSE
-- set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ENDIF
-- _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-- set_target_properties(Qt5::${Plugin} PROPERTIES
-- \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-- )
-- endmacro()
--
-- if (pluginTargets)
-- foreach(pluginTarget ${pluginTargets})
-- include(${pluginTarget})
-- endforeach()
-- endif()
--
--
- !!IF !isEmpty(CMAKE_MODULE_EXTRAS)
- include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\")
- !!ENDIF
-diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-index 5baf0fdb10..ec5f3cc437 100644
---- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -1,11 +1,14 @@
--
--add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
-+# 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 !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+ _populate_$${CMAKE_MODULE_NAME}_plugin_properties(Qt5::$$CMAKE_MODULE_NAME Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+ _populate_$${CMAKE_MODULE_NAME}_plugin_properties(Qt5::$$CMAKE_MODULE_NAME Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
-
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
-+
-+endif()
-diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
-index fc7f729ae6..095b4d2720 100644
---- a/qmake/generators/makefile.cpp
-+++ b/qmake/generators/makefile.cpp
-@@ -1019,10 +1019,18 @@ MakefileGenerator::writePrlFile(QTextStream &t)
- libs << "LIBS" << "QMAKE_LIBS";
- else
- libs << "LIBS" << "LIBS_PRIVATE" << "QMAKE_LIBS" << "QMAKE_LIBS_PRIVATE";
-- t << "QMAKE_PRL_LIBS =";
-- for (ProStringList::Iterator it = libs.begin(); it != libs.end(); ++it)
-- t << qv(project->values((*it).toKey()));
-- t << endl;
-+ QStringList libNames;
-+ QStringList libNamesCMake;
-+ for (const auto &lib : libs) {
-+ for (const auto &libName : project->values(lib.toKey())) {
-+ libNames << QMakeEvaluator::quoteValue(libName);
-+ QString libNameCMake(libName.toQString());
-+ libNameCMake.replace(QChar('\\'), QLatin1String("\\\\"));
-+ libNamesCMake << libNameCMake;
-+ }
-+ }
-+ t << "QMAKE_PRL_LIBS = " << libNames.join(QChar(' ')) << endl;
-+ t << "QMAKE_PRL_LIBS_FOR_CMAKE = " << libNamesCMake.join(QChar(';')) << endl;
- }
- }
-
---
-2.20.1
-
diff --git a/0025-Use-correct-pkg-config-static-flag.patch b/0023-Use-correct-pkg-config-static-flag.patch
index 373565402722..39a8e626d249 100644
--- a/0025-Use-correct-pkg-config-static-flag.patch
+++ b/0023-Use-correct-pkg-config-static-flag.patch
@@ -1,17 +1,17 @@
-From 9a0c4a937083e14ad32a8a25feb92333b5015dda Mon Sep 17 00:00:00 2001
+From 4d24aaff9e4e144e320a964c2c21060b41c3039f Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 18:50:21 +0200
-Subject: [PATCH 25/34] Use correct pkg-config --static flag
+Subject: [PATCH 23/32] Use correct pkg-config --static flag
---
configure.pri | 3 +++
1 file changed, 3 insertions(+)
diff --git a/configure.pri b/configure.pri
-index 3136889a2f..601629c047 100644
+index 85acb3757aa..0a4db10dfca 100644
--- a/configure.pri
+++ b/configure.pri
-@@ -328,6 +328,9 @@ defineTest(qtConfTest_detectPkgConfig) {
+@@ -360,6 +360,9 @@ defineTest(qtConfTest_detectPkgConfig) {
qtLog("Found pkg-config from path: $$pkgConfig")
}
}
@@ -22,5 +22,5 @@ index 3136889a2f..601629c047 100644
$$qtConfEvaluate("features.cross_compile") {
# cross compiling, check that pkg-config is set up sanely
--
-2.20.1
+2.44.0
diff --git a/0026-Fix-macro-invoking-moc-rcc-and-uic.patch b/0024-Fix-macro-invoking-moc-rcc-and-uic.patch
index d0b8a9b1388c..ccb734bcded2 100644
--- a/0026-Fix-macro-invoking-moc-rcc-and-uic.patch
+++ b/0024-Fix-macro-invoking-moc-rcc-and-uic.patch
@@ -1,7 +1,7 @@
-From ad4a59bd142b2b3ab402ed8d0337ac972f77e76c Mon Sep 17 00:00:00 2001
+From bfe19d4efc3d2102f6132231a3d41b4940ba2ecf Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 4 Dec 2016 20:35:47 +0100
-Subject: [PATCH 26/34] Fix macro invoking moc, rcc and uic
+Subject: [PATCH 24/32] Fix macro invoking moc, rcc and uic
* Otherwise the arguments aren't passed correctly leading to errors like
```
@@ -18,10 +18,10 @@ Change-Id: I6fde86d0a3ade37b4376604a1eb6d5723eda8b4c
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake
-index 620795d2cf..1e80a47980 100644
+index d91873f1bc9..8f1fb177225 100644
--- a/src/corelib/Qt5CoreMacros.cmake
+++ b/src/corelib/Qt5CoreMacros.cmake
-@@ -132,8 +132,9 @@ function(QT5_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target
+@@ -153,8 +153,9 @@ function(qt5_create_moc_command infile outfile moc_flags moc_options moc_target
endif()
set(_moc_extra_parameters_file @${_moc_parameters_file})
@@ -32,7 +32,7 @@ index 620795d2cf..1e80a47980 100644
DEPENDS ${infile} ${moc_depends}
${_moc_working_dir}
VERBATIM)
-@@ -248,8 +249,9 @@ function(QT5_ADD_BINARY_RESOURCES target )
+@@ -295,8 +296,9 @@ function(qt5_add_binary_resources target)
set(rc_depends ${rc_depends} ${_rc_depends})
endforeach()
@@ -43,8 +43,8 @@ index 620795d2cf..1e80a47980 100644
ARGS ${rcc_options} --binary --name ${target} --output ${rcc_destination} ${infiles}
DEPENDS ${rc_depends} ${out_depends} ${infiles} VERBATIM)
add_custom_target(${target} ALL DEPENDS ${rcc_destination})
-@@ -281,8 +283,9 @@ function(QT5_ADD_RESOURCES outfiles )
- _QT5_PARSE_QRC_FILE(${infile} _out_depends _rc_depends)
+@@ -339,8 +341,9 @@ function(qt5_add_resources outfiles)
+ _qt5_parse_qrc_file(${infile} _out_depends _rc_depends)
set_source_files_properties(${infile} PROPERTIES SKIP_AUTORCC ON)
+ get_target_property(MOC_LOC ${Qt5Core_RCC_EXECUTABLE} IMPORTED_LOCATION)
@@ -55,10 +55,10 @@ index 620795d2cf..1e80a47980 100644
MAIN_DEPENDENCY ${infile}
DEPENDS ${_rc_depends} "${_out_depends}" VERBATIM)
diff --git a/src/widgets/Qt5WidgetsMacros.cmake b/src/widgets/Qt5WidgetsMacros.cmake
-index 737371a5ad..d103278cdf 100644
+index 35d2a2dc546..99f061f1b82 100644
--- a/src/widgets/Qt5WidgetsMacros.cmake
+++ b/src/widgets/Qt5WidgetsMacros.cmake
-@@ -55,8 +55,9 @@ function(QT5_WRAP_UI outfiles )
+@@ -55,8 +55,9 @@ function(qt5_wrap_ui outfiles )
get_filename_component(outfile ${it} NAME_WE)
get_filename_component(infile ${it} ABSOLUTE)
set(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h)
@@ -70,5 +70,5 @@ index 737371a5ad..d103278cdf 100644
MAIN_DEPENDENCY ${infile} VERBATIM)
set_source_files_properties(${infile} PROPERTIES SKIP_AUTOUIC ON)
--
-2.20.1
+2.44.0
diff --git a/0027-Ignore-errors-about-missing-feature-static.patch b/0025-Ignore-errors-about-missing-feature-static.patch
index 69d58afcd536..f28e1c84689c 100644
--- a/0027-Ignore-errors-about-missing-feature-static.patch
+++ b/0025-Ignore-errors-about-missing-feature-static.patch
@@ -1,7 +1,7 @@
-From a17249171793a58d2a0308879e96465e96c362f1 Mon Sep 17 00:00:00 2001
+From b4037f482107b0bde253b487487501b8bc82db55 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 25 Jan 2017 20:59:54 +0100
-Subject: [PATCH 27/34] Ignore errors about missing feature static
+Subject: [PATCH 25/32] Ignore errors about missing feature static
Not sure why this error occurs, let's hope for the best
---
@@ -10,10 +10,10 @@ Not sure why this error occurs, let's hope for the best
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
-index 0c6c10dded..54c4b568c1 100644
+index 511b158b917..39760d5ce44 100644
--- a/mkspecs/features/qt_build_config.prf
+++ b/mkspecs/features/qt_build_config.prf
-@@ -141,5 +141,5 @@ defineTest(qtConfig) {
+@@ -153,5 +153,5 @@ defineTest(qtConfig) {
contains(QT.$${module}.disabled_features, $$1): \
return(false)
}
@@ -21,10 +21,10 @@ index 0c6c10dded..54c4b568c1 100644
+ !equals($$1, "static"): error("Could not find feature $${1}.")
}
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
-index 1903e509c8..1fcb597fa3 100644
+index 7777e615bda..5f30366660b 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
-@@ -348,5 +348,5 @@ defineTest(qtConfig) {
+@@ -370,5 +370,5 @@ defineTest(qtConfig) {
contains(QT.$${module}.disabled_features, $$1): \
return(false)
}
@@ -32,5 +32,5 @@ index 1903e509c8..1fcb597fa3 100644
+ !equals($$1, "static"): error("Could not find feature $${1}.")
}
--
-2.20.1
+2.44.0
diff --git a/0028-Enable-and-fix-use-of-iconv.patch b/0026-Enable-and-fix-use-of-iconv.patch
index da8f6d752468..2bf44dfba747 100644
--- a/0028-Enable-and-fix-use-of-iconv.patch
+++ b/0026-Enable-and-fix-use-of-iconv.patch
@@ -1,7 +1,7 @@
-From 94bf26c2b8ae87dc5add63ef4df8b765e4067651 Mon Sep 17 00:00:00 2001
+From 5f1d71631402760aa75df7b0ea8c9be7608f51a2 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 25 Jan 2017 21:08:20 +0100
-Subject: [PATCH 28/34] Enable and fix use of iconv
+Subject: [PATCH 26/32] Enable and fix use of iconv
Change-Id: I5f0ab27afca0800dec11c7af74d196190820ae5c
---
@@ -10,7 +10,7 @@ Change-Id: I5f0ab27afca0800dec11c7af74d196190820ae5c
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/corelib/codecs/qiconvcodec.cpp b/src/corelib/codecs/qiconvcodec.cpp
-index 9c39727946..cc14036b25 100644
+index 9c39727946c..cc14036b254 100644
--- a/src/corelib/codecs/qiconvcodec.cpp
+++ b/src/corelib/codecs/qiconvcodec.cpp
@@ -47,7 +47,6 @@
@@ -49,10 +49,10 @@ index 9c39727946..cc14036b25 100644
#else
char **inBytesPtr = &inBytes;
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
-index a22a7459bd..b7ed2f7281 100644
+index a9025a2dd29..ffb6f50fbe1 100644
--- a/src/corelib/configure.json
+++ b/src/corelib/configure.json
-@@ -71,7 +71,7 @@
+@@ -72,7 +72,7 @@
"test": {
"main": [
"iconv_t x = iconv_open(\"\", \"\");",
@@ -61,7 +61,7 @@ index a22a7459bd..b7ed2f7281 100644
"char *outp;",
"size_t inbytes, outbytes;",
"iconv(x, &inp, &inbytes, &outp, &outbytes);",
-@@ -615,9 +615,9 @@
+@@ -673,9 +673,9 @@
},
"gnu-libiconv": {
"label": "GNU iconv",
@@ -74,5 +74,5 @@ index a22a7459bd..b7ed2f7281 100644
},
"icu": {
--
-2.20.1
+2.44.0
diff --git a/0029-Ignore-failing-pkg-config-test.patch b/0027-Ignore-failing-pkg-config-test.patch
index d4c91f658c9f..ca55df914ba3 100644
--- a/0029-Ignore-failing-pkg-config-test.patch
+++ b/0027-Ignore-failing-pkg-config-test.patch
@@ -1,7 +1,7 @@
-From 93dcee644f3059e381310bd0e4f905caeebfa05b Mon Sep 17 00:00:00 2001
+From 341d9fb7080be076b2dbeb5d1b714eff08060327 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 25 Jan 2017 21:08:48 +0100
-Subject: [PATCH 29/34] Ignore failing pkg-config test
+Subject: [PATCH 27/32] Ignore failing pkg-config test
Didn't investigate why it fails, let's hope for the best
---
@@ -9,10 +9,10 @@ Didn't investigate why it fails, let's hope for the best
1 file changed, 1 deletion(-)
diff --git a/configure.json b/configure.json
-index 15b0f21e58..46cc841148 100644
+index b75f8a8033c..72a963a6793 100644
--- a/configure.json
+++ b/configure.json
-@@ -660,7 +660,6 @@
+@@ -793,7 +793,6 @@
"pkg-config": {
"label": "Using pkg-config",
"autoDetect": "!config.darwin && !config.win32",
@@ -21,5 +21,5 @@ index 15b0f21e58..46cc841148 100644
"publicFeature",
{ "type": "publicQtConfig", "negative": true },
--
-2.20.1
+2.44.0
diff --git a/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch b/0028-Prevent-qmake-from-messing-static-lib-dependencies.patch
index cb4dc10dbc7c..9776e1a11cbc 100644
--- a/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch
+++ b/0028-Prevent-qmake-from-messing-static-lib-dependencies.patch
@@ -1,43 +1,45 @@
-From e917a88d58047cdb3fb46c1b07fb78648bf74358 Mon Sep 17 00:00:00 2001
+From 2095dda5640e16c678173355a2d39910701d8fc3 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Tue, 7 Feb 2017 18:25:28 +0100
-Subject: [PATCH 30/34] Prevent qmake from messing static lib dependencies
+Subject: [PATCH 28/32] Prevent qmake from messing static lib dependencies
In particular, it messes resolving cyclic dependency between
static freetype2 and harfbuzz
+
+Change-Id: Ie5a4e2ad96bd613ae4c26486edb30c74929459b0
---
qmake/generators/unix/unixmake.cpp | 3 +++
qmake/generators/win32/winmakefile.cpp | 3 +++
2 files changed, 6 insertions(+)
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
-index 4cbe06d9dc..47535f60d5 100644
+index f7bd6dc6634..b76c444012c 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
-@@ -393,6 +393,9 @@ UnixMakefileGenerator::fixLibFlag(const ProString &lib)
+@@ -391,6 +391,9 @@ UnixMakefileGenerator::fixLibFlag(const ProString &lib)
bool
UnixMakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
{
+ if(project->isActiveConfig("staticlib")) {
+ return false; // prevent qmake from messing static lib dependencies
+ }
- QList<QMakeLocalFileName> libdirs, frameworkdirs;
+ QVector<QMakeLocalFileName> libdirs, frameworkdirs;
int libidx = 0, fwidx = 0;
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
-index 4592fed7b2..b93d0df473 100644
+index 03732df4a84..602f7609f58 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
-@@ -87,6 +87,9 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
+@@ -106,6 +106,9 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
impexts.append(project->values("QMAKE_EXTENSION_IMPORTLIB"));
impexts.append(project->values("QMAKE_EXTENSION_STATICLIB"));
}
+ if(project->isActiveConfig("staticlib")) {
+ return false; // prevent qmake from messing static lib dependencies
+ }
- QList<QMakeLocalFileName> dirs;
+ QVector<LibrarySearchPath> dirs;
+ int libidx = 0;
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
- dirs.append(QMakeLocalFileName(dlib.toQString()));
--
-2.20.1
+2.44.0
diff --git a/0029-Hardcode-linker-flags-for-platform-plugins.patch b/0029-Hardcode-linker-flags-for-platform-plugins.patch
new file mode 100644
index 000000000000..e1a952761d31
--- /dev/null
+++ b/0029-Hardcode-linker-flags-for-platform-plugins.patch
@@ -0,0 +1,178 @@
+From c08a720e1cd51c0015ec02143cd65b17e5e69b64 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Wed, 25 Jan 2017 23:42:30 +0100
+Subject: [PATCH 29/32] Hardcode linker flags for platform plugins
+
+Otherwise incorrect order of libs leads to errors
+when building libqminimal.dll, libqoffscreen.dll,
+libqwindows.dll and libqdirect2d.dll. Unfortunately
+this workaround leads to hardcoding include flags
+as well.
+
+Change-Id: I1863d184cff744d2c02e15875e1d108d32ea7861
+---
+ src/plugins/platforms/direct2d/direct2d.pro | 39 +++++++++++++++---
+ src/plugins/platforms/minimal/minimal.pro | 17 +++++++-
+ src/plugins/platforms/offscreen/offscreen.pro | 16 +++++++-
+ src/plugins/platforms/windows/windows.pro | 40 ++++++++++++++-----
+ 4 files changed, 93 insertions(+), 19 deletions(-)
+
+diff --git a/src/plugins/platforms/direct2d/direct2d.pro b/src/plugins/platforms/direct2d/direct2d.pro
+index 6e73bd14f9d..8046e73d61d 100644
+--- a/src/plugins/platforms/direct2d/direct2d.pro
++++ b/src/plugins/platforms/direct2d/direct2d.pro
+@@ -1,12 +1,41 @@
+ TARGET = qdirect2d
+
+ QT += \
+- core-private gui-private \
+- eventdispatcher_support-private \
+- fontdatabase_support-private theme_support-private
++ core-private gui-private
+
+-qtConfig(accessibility): QT += accessibility_support-private
+-qtConfig(vulkan): QT += vulkan_support-private
++# Fix linker error when building libqdirect2d.dll by specifying linker flags for
++# required modules manually (otherwise order is messed)
++LIBS += \
++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \
++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \
++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5ThemeSupport.$${QMAKE_EXTENSION_STATICLIB} \
++ -lfreetype -lole32 -lgdi32 -luuid
++# However, this workaround leads to the necessity of specifying include dirs manually
++INCLUDEPATH += \
++ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
++ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
++ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
++ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION} \
++ $$QT_BUILD_TREE/include/QtThemeSupport/$${QT_VERSION}/QtThemeSupport \
++ $$QT_BUILD_TREE/include/QtThemeSupport/$${QT_VERSION}
++# Same for private support libs for accessibility and vulkan, if those are enabled
++qtConfig(accessibility) {
++ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5AccessibilitySupport.$${QMAKE_EXTENSION_STATICLIB}
++ INCLUDEPATH += \
++ $$QT_BUILD_TREE/include/QtAccessibilitySupport/$${QT_VERSION}/Qt5AccessibilitySupport \
++ $$QT_BUILD_TREE/include/QtAccessibilitySupport/$${QT_VERSION}
++}
++qtConfig(vulkan) {
++ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5VulkanSupport.$${QMAKE_EXTENSION_STATICLIB}
++ INCLUDEPATH += \
++ $$QT_BUILD_TREE/include/QtVulkanSupport/$${QT_VERSION}/Qt5VulkanSupport \
++ $$QT_BUILD_TREE/include/QtVulkanSupport/$${QT_VERSION}
++}
++# Also add Qt5WindowsUIAutomationSupport - it seems to link against it
++LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5WindowsUIAutomationSupport.$${QMAKE_EXTENSION_STATICLIB}
++INCLUDEPATH += \
++ $$QT_BUILD_TREE/include/Qt5WindowsUIAutomationSupport/$${QT_VERSION}/Qt5WindowsUIAutomationSupport \
++ $$QT_BUILD_TREE/include/Qt5WindowsUIAutomationSupport/$${QT_VERSION}
+
+ LIBS += -ldwmapi -lversion
+ QMAKE_USE_PRIVATE += gdi32 dwrite_1 d2d1_1 d3d11_1 dxgi1_2
+diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro
+index a1a2da547b3..9fd5c4fca2f 100644
+--- a/src/plugins/platforms/minimal/minimal.pro
++++ b/src/plugins/platforms/minimal/minimal.pro
+@@ -1,8 +1,21 @@
+ TARGET = qminimal
+
+ QT += \
+- core-private gui-private \
+- eventdispatcher_support-private fontdatabase_support-private
++ core-private gui-private
++
++# Fix linker error when building libqminimal.dll by specifying linker flags for
++# required modules manually (otherwise order is messed)
++LIBS += \
++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \
++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \
++ -lfreetype -lole32 -lgdi32 -luuid
++# However, this workaround leads to the necessity of specifying include dirs manually
++INCLUDEPATH += \
++ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
++ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
++ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
++ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}
++
+
+ DEFINES += QT_NO_FOREACH
+
+diff --git a/src/plugins/platforms/offscreen/offscreen.pro b/src/plugins/platforms/offscreen/offscreen.pro
+index f226132592d..592fa7406f0 100644
+--- a/src/plugins/platforms/offscreen/offscreen.pro
++++ b/src/plugins/platforms/offscreen/offscreen.pro
+@@ -1,8 +1,20 @@
+ TARGET = qoffscreen
+
+ QT += \
+- core-private gui-private \
+- eventdispatcher_support-private fontdatabase_support-private
++ core-private gui-private
++
++# Fix linker error when building libqoffscreen.dll by specifying linker flags for
++# required modules manually (otherwise order is messed)
++LIBS += \
++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \
++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \
++ -lfreetype -lole32 -lgdi32 -luuid
++# However, this workaround leads to the necessity of specifying include dirs manually
++INCLUDEPATH += \
++ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
++ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
++ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
++ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}
+
+ DEFINES += QT_NO_FOREACH
+
+diff --git a/src/plugins/platforms/windows/windows.pro b/src/plugins/platforms/windows/windows.pro
+index 50a3bb41a92..02f74650a9b 100644
+--- a/src/plugins/platforms/windows/windows.pro
++++ b/src/plugins/platforms/windows/windows.pro
+@@ -1,15 +1,35 @@
+ TARGET = qwindows
+
+-QT += \
+- core-private gui-private \
+- eventdispatcher_support-private \
+- fontdatabase_support-private theme_support-private
+-
+-qtConfig(accessibility): QT += accessibility_support-private
+-qtConfig(vulkan): QT += vulkan_support-private
+-
+-LIBS += -ldwmapi
+-QMAKE_USE_PRIVATE += gdi32
++QT += core-private gui-private
++
++# Fix linker error when building libqwindows.dll by specifying linker flags for
++# required modules manually (otherwise order is messed)
++LIBS += \
++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \
++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \
++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5ThemeSupport.$${QMAKE_EXTENSION_STATICLIB} \
++ -lfreetype -lole32 -lgdi32 -ldwmapi
++# However, this workaround leads to the necessity of specifying include dirs manually
++INCLUDEPATH += \
++ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
++ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
++ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
++ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION} \
++ $$QT_BUILD_TREE/include/QtThemeSupport/$${QT_VERSION}/QtThemeSupport \
++ $$QT_BUILD_TREE/include/QtThemeSupport/$${QT_VERSION}
++# Same for private support libs for accessibility and vulkan, if those are enabled
++qtConfig(accessibility) {
++ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5AccessibilitySupport.$${QMAKE_EXTENSION_STATICLIB}
++ INCLUDEPATH += \
++ $$QT_BUILD_TREE/include/QtAccessibilitySupport/$${QT_VERSION}/Qt5AccessibilitySupport \
++ $$QT_BUILD_TREE/include/QtAccessibilitySupport/$${QT_VERSION}
++}
++qtConfig(vulkan) {
++ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5VulkanSupport.$${QMAKE_EXTENSION_STATICLIB}
++ INCLUDEPATH += \
++ $$QT_BUILD_TREE/include/QtVulkanSupport/$${QT_VERSION}/Qt5VulkanSupport \
++ $$QT_BUILD_TREE/include/QtVulkanSupport/$${QT_VERSION}
++}
+
+ include(windows.pri)
+
+--
+2.44.0
+
diff --git a/0032-Fix-linking-against-static-plugins-with-qmake.patch b/0030-Fix-linking-against-static-plugins-with-qmake.patch
index 937d57db9d33..576bc94d219b 100644
--- a/0032-Fix-linking-against-static-plugins-with-qmake.patch
+++ b/0030-Fix-linking-against-static-plugins-with-qmake.patch
@@ -1,7 +1,7 @@
-From 1cd9a4e98c177d3b794f2c0549b6f74ddf0e6e65 Mon Sep 17 00:00:00 2001
+From bd80f6a8310a4e9d3d91d4fc242cccc3718977b1 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 25 Aug 2017 17:07:17 +0200
-Subject: [PATCH 32/34] Fix linking against static plugins with qmake
+Subject: [PATCH 30/32] Fix linking against static plugins with qmake
Required because qtConfig(static) does not work
with 'Merge shared and static library trees'
@@ -11,7 +11,7 @@ approach
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
-index 5b05aa9e2a..2732c94797 100644
+index b79b324b887..6a03b7a74bf 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -69,7 +69,7 @@ all_qt_module_deps = $$resolve_depends(qt_module_deps, "QT.", ".depends" ".run_d
@@ -23,7 +23,7 @@ index 5b05aa9e2a..2732c94797 100644
manualplugs = $$QTPLUGIN # User may specify plugins. Mostly legacy.
autoplugs = # Auto-added plugins.
# First round: explicitly specified modules.
-@@ -139,7 +139,7 @@ import_plugins:qtConfig(static) {
+@@ -142,7 +142,7 @@ import_plugins:qtConfig(static) {
}
# Only link against plugins in static builds
@@ -33,5 +33,5 @@ index 5b05aa9e2a..2732c94797 100644
# Check if the plugin is known to Qt. We can use this to determine
# the plugin path. Unknown plugins must rely on the default link path.
--
-2.20.1
+2.44.0
diff --git a/0031-Hardcode-linker-flags-for-platform-plugins.patch b/0031-Hardcode-linker-flags-for-platform-plugins.patch
deleted file mode 100644
index 958a86f8319a..000000000000
--- a/0031-Hardcode-linker-flags-for-platform-plugins.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From fe25b3abe19208154631b6315587fce9bacc4991 Mon Sep 17 00:00:00 2001
-From: Martchus <martchus@gmx.net>
-Date: Wed, 25 Jan 2017 23:42:30 +0100
-Subject: [PATCH 31/34] Hardcode linker flags for platform plugins
-
-Otherwise incorrect order of libs leads to errors
-when building libqminimal.dll, libqoffscreen.dll
-and libqwindows.dll
----
- src/plugins/platforms/direct2d/direct2d.pro | 30 ++++++++++++++---
- src/plugins/platforms/minimal/minimal.pro | 15 +++++++--
- src/plugins/platforms/offscreen/offscreen.pro | 14 ++++++--
- src/plugins/platforms/windows/windows.pro | 32 +++++++++++++------
- 4 files changed, 73 insertions(+), 18 deletions(-)
-
-diff --git a/src/plugins/platforms/direct2d/direct2d.pro b/src/plugins/platforms/direct2d/direct2d.pro
-index 9764272632..7310958323 100644
---- a/src/plugins/platforms/direct2d/direct2d.pro
-+++ b/src/plugins/platforms/direct2d/direct2d.pro
-@@ -1,12 +1,32 @@
- TARGET = qdirect2d
-
- QT += \
-- core-private gui-private \
-- eventdispatcher_support-private \
-- fontdatabase_support-private theme_support-private
-+ core-private gui-private
-
--qtConfig(accessibility): QT += accessibility_support-private
--qtConfig(vulkan): QT += vulkan_support-private
-+# Fix linker error when building libqdirect2d.dll by specifying linker flags for
-+# required modules manually (otherwise order is messed)
-+LIBS += \
-+ -lQt5EventDispatcherSupport \
-+ -lQt5FontDatabaseSupport \
-+ -lQt5ThemeSupport \
-+ -lfreetype -lole32 -lgdi32 -luuid
-+# However, this workaround leads to the necessity of specifying include dirs manually
-+INCLUDEPATH += \
-+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
-+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION} \
-+ $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION}
-+# Same for private support libs for accessibility and vulkan, if those are enabled
-+qtConfig(accessibility) {
-+ LIBS += -lQt5AccessibilitySupport
-+ INCLUDEPATH += $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION}
-+}
-+qtConfig(vulkan) {
-+ LIBS += -lQt5VulkanSupport
-+ INCLUDEPATH += $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION}
-+}
-+# Also add Qt5WindowsUIAutomationSupport - it seems to link against it
-+LIBS += -lQt5WindowsUIAutomationSupport
-+INCLUDEPATH += $$QT_SOURCE_TREE/include/Qt5WindowsUIAutomationSupport/$${QT_VERSION}
-
- LIBS += -ldwmapi -lversion -lgdi32
- QMAKE_USE_PRIVATE += dwrite_1 d2d1_1 d3d11_1 dxgi1_2
-diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro
-index a1a2da547b..7ef91b574d 100644
---- a/src/plugins/platforms/minimal/minimal.pro
-+++ b/src/plugins/platforms/minimal/minimal.pro
-@@ -1,8 +1,19 @@
- TARGET = qminimal
-
- QT += \
-- core-private gui-private \
-- eventdispatcher_support-private fontdatabase_support-private
-+ core-private gui-private
-+
-+# Fix linker error when building libqminimal.dll by specifying linker flags for
-+# required modules manually (otherwise order is messed)
-+LIBS += \
-+ -lQt5EventDispatcherSupport \
-+ -lQt5FontDatabaseSupport \
-+ -lfreetype -lole32 -lgdi32 -luuid
-+# However, this workaround leads to the necessity of specifying include dirs manually
-+INCLUDEPATH += \
-+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
-+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}
-+
-
- DEFINES += QT_NO_FOREACH
-
-diff --git a/src/plugins/platforms/offscreen/offscreen.pro b/src/plugins/platforms/offscreen/offscreen.pro
-index 6652cefd86..a322b17cc5 100644
---- a/src/plugins/platforms/offscreen/offscreen.pro
-+++ b/src/plugins/platforms/offscreen/offscreen.pro
-@@ -1,8 +1,18 @@
- TARGET = qoffscreen
-
- QT += \
-- core-private gui-private \
-- eventdispatcher_support-private fontdatabase_support-private
-+ core-private gui-private
-+
-+# Fix linker error when building libqoffscreen.dll by specifying linker flags for
-+# required modules manually (otherwise order is messed)
-+LIBS += \
-+ -lQt5EventDispatcherSupport \
-+ -lQt5FontDatabaseSupport \
-+ -lfreetype -lole32 -lgdi32 -luuid
-+# However, this workaround leads to the necessity of specifying include dirs manually
-+INCLUDEPATH += \
-+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
-+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}
-
- DEFINES += QT_NO_FOREACH
-
-diff --git a/src/plugins/platforms/windows/windows.pro b/src/plugins/platforms/windows/windows.pro
-index 174bc7b609..e66488e364 100644
---- a/src/plugins/platforms/windows/windows.pro
-+++ b/src/plugins/platforms/windows/windows.pro
-@@ -1,14 +1,28 @@
- TARGET = qwindows
-
--QT += \
-- core-private gui-private \
-- eventdispatcher_support-private \
-- fontdatabase_support-private theme_support-private
--
--qtConfig(accessibility): QT += accessibility_support-private
--qtConfig(vulkan): QT += vulkan_support-private
--
--LIBS += -lgdi32 -ldwmapi
-+QT += core-private gui-private
-+
-+# Fix linker error when building libqwindows.dll by specifying linker flags for
-+# required modules manually (otherwise order is messed)
-+LIBS += \
-+ -lQt5EventDispatcherSupport \
-+ -lQt5FontDatabaseSupport \
-+ -lQt5ThemeSupport \
-+ -lfreetype -lole32 -lgdi32 -ldwmapi
-+# However, this workaround leads to the necessity of specifying include dirs manually
-+INCLUDEPATH += \
-+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
-+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION} \
-+ $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION}
-+# Same for private support libs for accessibility and vulkan, if those are enabled
-+qtConfig(accessibility) {
-+ LIBS += -lQt5AccessibilitySupport
-+ INCLUDEPATH += $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION}
-+}
-+qtConfig(vulkan) {
-+ LIBS += -lQt5VulkanSupport
-+ INCLUDEPATH += $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION}
-+}
-
- include(windows.pri)
-
---
-2.20.1
-
diff --git a/0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch b/0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch
new file mode 100644
index 000000000000..5fc03ed8d76e
--- /dev/null
+++ b/0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch
@@ -0,0 +1,37 @@
+From 5a1f5a3b43cfc29cd8ec1ce8791ef4029f5e2f96 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Mon, 24 Jun 2019 13:51:02 +0200
+Subject: [PATCH 31/32] Prevent 'Cannot find feature windows_vulkan_sdk'
+
+See https://bugreports.qt.io/browse/QTBUG-76660
+---
+ mkspecs/common/windows-vulkan.conf | 2 +-
+ mkspecs/features/qmake_use.prf | 4 +++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/mkspecs/common/windows-vulkan.conf b/mkspecs/common/windows-vulkan.conf
+index da061422dca..a5a8ec68d2f 100644
+--- a/mkspecs/common/windows-vulkan.conf
++++ b/mkspecs/common/windows-vulkan.conf
+@@ -1,2 +1,2 @@
+-load(windows_vulkan_sdk)
++load(win32/windows_vulkan_sdk)
+ QMAKE_LIBS_VULKAN =
+diff --git a/mkspecs/features/qmake_use.prf b/mkspecs/features/qmake_use.prf
+index 8475e4111a7..c0eb8faa17d 100644
+--- a/mkspecs/features/qmake_use.prf
++++ b/mkspecs/features/qmake_use.prf
+@@ -15,7 +15,9 @@ for(ever) {
+ error("Library '$$lower($$replace(nu, _, -))' is not defined.")
+
+ DEFINES += $$eval(QMAKE_DEFINES_$${nu})
+- INCLUDEPATH += $$eval(QMAKE_INCDIR_$${nu})
++ incdir = $$eval(QMAKE_INCDIR_$${nu})
++ !contains(QMAKE_DEFAULT_INCDIRS, $$incdir): \
++ INCLUDEPATH += $$incdir
+ }
+ LD_USES = $$resolve_depends(LD_USES, QMAKE_DEPENDS_, _LD)
+ for (nu, LD_USES) {
+--
+2.44.0
+
diff --git a/0032-Fix-crashes-in-rasterization-code-using-setjmp.patch b/0032-Fix-crashes-in-rasterization-code-using-setjmp.patch
new file mode 100644
index 000000000000..c5673e401b3f
--- /dev/null
+++ b/0032-Fix-crashes-in-rasterization-code-using-setjmp.patch
@@ -0,0 +1,248 @@
+From 1690bb85bf77a77a80abf2d369b6ec17b87ab4f8 Mon Sep 17 00:00:00 2001
+From: Martchus <martchus@gmx.net>
+Date: Sat, 26 Jun 2021 22:24:12 +0200
+Subject: [PATCH 32/32] Fix crashes in rasterization code using setjmp
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* Use C++ exceptions instead of setjmp to workaround crashes
+* The setjmp/longjmp code crashes when compiling for x86_64-w64-mingw32
+ with GCC 11 and optimizations enabled¹. It crashes when jumping back
+ to handle the case of insufficient memory. This change uses C++
+ exceptions instead (turning the compile unit into a C++ unit instead
+ of just using C) which should behave identical but don't seem to
+ crash.
+* Fix rendering certain SVGs and possibly other graphics
+
+Change-Id: I01937d13569dd01ab4cb1f608020544c93bc343c
+
+---
+
+¹ See https://bugreports.qt.io/browse/QTBUG-94692 for details.
+---
+ src/gui/painting/painting.pri | 4 +-
+ .../{qgrayraster.c => qgrayraster.cpp} | 41 ++++++++-----------
+ src/gui/painting/qt_attribution.json | 2 +-
+ 3 files changed, 21 insertions(+), 26 deletions(-)
+ rename src/gui/painting/{qgrayraster.c => qgrayraster.cpp} (98%)
+
+diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
+index bb0fc0ffbae..72decdefbf2 100644
+--- a/src/gui/painting/painting.pri
++++ b/src/gui/painting/painting.pri
+@@ -1,5 +1,7 @@
+ # Qt gui library, paint module
+
++CONFIG += exceptions
++
+ HEADERS += \
+ painting/qbackingstore.h \
+ painting/qbezier_p.h \
+@@ -80,7 +82,7 @@ SOURCES += \
+ painting/qcosmeticstroker.cpp \
+ painting/qdrawhelper.cpp \
+ painting/qemulationpaintengine.cpp \
+- painting/qgrayraster.c \
++ painting/qgrayraster.cpp \
+ painting/qicc.cpp \
+ painting/qimagescale.cpp \
+ painting/qmatrix.cpp \
+diff --git a/src/gui/painting/qgrayraster.c b/src/gui/painting/qgrayraster.cpp
+similarity index 98%
+rename from src/gui/painting/qgrayraster.c
+rename to src/gui/painting/qgrayraster.cpp
+index 0143e9b6027..803a676e1af 100644
+--- a/src/gui/painting/qgrayraster.c
++++ b/src/gui/painting/qgrayraster.cpp
+@@ -39,7 +39,7 @@
+
+ /***************************************************************************/
+ /* */
+-/* qgrayraster.c, derived from ftgrays.c */
++/* qgrayraster.cpp, derived from ftgrays.c */
+ /* */
+ /* A new `perfect' anti-aliasing renderer (body). */
+ /* */
+@@ -157,17 +157,12 @@
+ # include <vxWorksCommon.h> /* needed for setjmp.h */
+ #endif
+ #include <string.h> /* for qt_ft_memcpy() */
+-#include <setjmp.h>
+ #include <limits.h>
+
+ #define QT_FT_UINT_MAX UINT_MAX
+
+ #define qt_ft_memset memset
+
+-#define qt_ft_setjmp setjmp
+-#define qt_ft_longjmp longjmp
+-#define qt_ft_jmp_buf jmp_buf
+-
+ #include <stddef.h>
+ typedef ptrdiff_t QT_FT_PtrDist;
+
+@@ -177,6 +172,8 @@ typedef ptrdiff_t QT_FT_PtrDist;
+ #define ErrRaster_Memory_Overflow -4
+ #define ErrRaster_OutOfMemory -6
+
++struct RasterMemoryOverflow {};
++
+ #define QT_FT_BEGIN_HEADER
+ #define QT_FT_END_HEADER
+
+@@ -312,8 +309,6 @@ QT_FT_END_STMNT
+ int band_size;
+ int band_shoot;
+
+- qt_ft_jmp_buf jump_buffer;
+-
+ void* buffer;
+ long buffer_size;
+
+@@ -335,12 +330,14 @@ QT_FT_END_STMNT
+
+ } TRaster, *PRaster;
+
++ extern "C" {
+ int q_gray_rendered_spans(TRaster *raster)
+ {
+ if ( raster && raster->worker )
+ return raster->worker->skip_spans > 0 ? 0 : -raster->worker->skip_spans;
+ return 0;
+ }
++ }
+
+ /*************************************************************************/
+ /* */
+@@ -406,7 +403,6 @@ QT_FT_END_STMNT
+ ras.max_ey = ( ras.max_ey + 63 ) >> 6;
+ }
+
+-
+ /*************************************************************************/
+ /* */
+ /* Record the current cell in the table. */
+@@ -435,7 +431,7 @@ QT_FT_END_STMNT
+ }
+
+ if ( ras.num_cells >= ras.max_cells )
+- qt_ft_longjmp( ras.jump_buffer, 1 );
++ throw RasterMemoryOverflow();
+
+ cell = ras.cells + ras.num_cells++;
+ cell->x = x;
+@@ -1507,7 +1503,7 @@ QT_FT_END_STMNT
+
+ QT_FT_TRACE5(( " move to (%.2f, %.2f)\n",
+ v_start.x / 64.0, v_start.y / 64.0 ));
+- error = gray_move_to( &v_start, user );
++ error = gray_move_to( &v_start, static_cast<PWorker>(user) );
+ if ( error )
+ goto Exit;
+
+@@ -1529,7 +1525,7 @@ QT_FT_END_STMNT
+
+ QT_FT_TRACE5(( " line to (%.2f, %.2f)\n",
+ vec.x / 64.0, vec.y / 64.0 ));
+- gray_render_line(user, UPSCALE(vec.x), UPSCALE(vec.y));
++ gray_render_line(static_cast<PWorker>(user), UPSCALE(vec.x), UPSCALE(vec.y));
+ continue;
+ }
+
+@@ -1558,7 +1554,7 @@ QT_FT_END_STMNT
+ " with control (%.2f, %.2f)\n",
+ vec.x / 64.0, vec.y / 64.0,
+ v_control.x / 64.0, v_control.y / 64.0 ));
+- gray_render_conic(user, &v_control, &vec);
++ gray_render_conic(static_cast<PWorker>(user), &v_control, &vec);
+ continue;
+ }
+
+@@ -1572,7 +1568,7 @@ QT_FT_END_STMNT
+ " with control (%.2f, %.2f)\n",
+ v_middle.x / 64.0, v_middle.y / 64.0,
+ v_control.x / 64.0, v_control.y / 64.0 ));
+- gray_render_conic(user, &v_control, &v_middle);
++ gray_render_conic(static_cast<PWorker>(user), &v_control, &v_middle);
+
+ v_control = vec;
+ goto Do_Conic;
+@@ -1582,7 +1578,7 @@ QT_FT_END_STMNT
+ " with control (%.2f, %.2f)\n",
+ v_start.x / 64.0, v_start.y / 64.0,
+ v_control.x / 64.0, v_control.y / 64.0 ));
+- gray_render_conic(user, &v_control, &v_start);
++ gray_render_conic(static_cast<PWorker>(user), &v_control, &v_start);
+ goto Close;
+ }
+
+@@ -1617,7 +1613,7 @@ QT_FT_END_STMNT
+ vec.x / 64.0, vec.y / 64.0,
+ vec1.x / 64.0, vec1.y / 64.0,
+ vec2.x / 64.0, vec2.y / 64.0 ));
+- gray_render_cubic(user, &vec1, &vec2, &vec);
++ gray_render_cubic(static_cast<PWorker>(user), &vec1, &vec2, &vec);
+ continue;
+ }
+
+@@ -1626,7 +1622,7 @@ QT_FT_END_STMNT
+ v_start.x / 64.0, v_start.y / 64.0,
+ vec1.x / 64.0, vec1.y / 64.0,
+ vec2.x / 64.0, vec2.y / 64.0 ));
+- gray_render_cubic(user, &vec1, &vec2, &v_start);
++ gray_render_cubic(static_cast<PWorker>(user), &vec1, &vec2, &v_start);
+ goto Close;
+ }
+ }
+@@ -1635,7 +1631,7 @@ QT_FT_END_STMNT
+ /* close the contour with a line segment */
+ QT_FT_TRACE5(( " line to (%.2f, %.2f)\n",
+ v_start.x / 64.0, v_start.y / 64.0 ));
+- gray_render_line(user, UPSCALE(v_start.x), UPSCALE(v_start.y));
++ gray_render_line(static_cast<PWorker>(user), UPSCALE(v_start.x), UPSCALE(v_start.y));
+
+ Close:
+ first = last + 1;
+@@ -1663,14 +1659,11 @@ QT_FT_END_STMNT
+ {
+ volatile int error = 0;
+
+- if ( qt_ft_setjmp( ras.jump_buffer ) == 0 )
+- {
++ try {
+ error = QT_FT_Outline_Decompose( &ras.outline, &ras );
+ if ( !ras.invalid )
+ gray_record_cell( RAS_VAR );
+- }
+- else
+- {
++ } catch (const RasterMemoryOverflow &) {
+ error = ErrRaster_Memory_Overflow;
+ }
+
+@@ -1932,7 +1925,7 @@ QT_FT_END_STMNT
+ static int
+ gray_raster_new( QT_FT_Raster* araster )
+ {
+- *araster = malloc(sizeof(TRaster));
++ *araster = static_cast<TRaster *>(malloc(sizeof(TRaster)));
+ if (!*araster) {
+ *araster = 0;
+ return ErrRaster_Memory_Overflow;
+diff --git a/src/gui/painting/qt_attribution.json b/src/gui/painting/qt_attribution.json
+index 1a2b907606a..746a41efa8e 100644
+--- a/src/gui/painting/qt_attribution.json
++++ b/src/gui/painting/qt_attribution.json
+@@ -4,7 +4,7 @@
+ "Name": "Anti-aliasing rasterizer from FreeType 2",
+ "QDocModule": "qtgui",
+ "QtUsage": "Used in Qt GUI.",
+- "Path": "qgrayraster.c",
++ "Path": "qgrayraster.cpp",
+
+ "Description": "FreeType is a freely available software library to render fonts.",
+ "Homepage": "http://www.freetype.org",
+--
+2.44.0
+
diff --git a/0033-Disable-hardware-randomizer-for-32-bit.patch b/0033-Disable-hardware-randomizer-for-32-bit.patch
deleted file mode 100644
index 63dc75a95f6f..000000000000
--- a/0033-Disable-hardware-randomizer-for-32-bit.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From b26414fad10e9ff16f305b3484670260e07df70e Mon Sep 17 00:00:00 2001
-From: Martchus <martchus@gmx.net>
-Date: Sat, 26 May 2018 03:47:14 +0200
-Subject: [PATCH 33/34] Disable hardware randomizer for 32-bit
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Otherwise it fails to compile src/corelib/global/qrandom.cpp:
-```
-during RTL pass: ira
-/build/mingw-w64-qt5-base/src/qtbase-everywhere-src-5.11.0/src/corelib/global/qrandom.cpp: In function ‘qsizetype qt_random_cpu(void*, qsizetype)’:
-/build/mingw-w64-qt5-base/src/qtbase-everywhere-src-5.11.0/src/corelib/global/qrandom.cpp:121:1: internal compiler error: in ix86_compute_frame_layout, at config/i386/i386.c:11693
- }
-```
----
- src/corelib/global/qrandom.cpp | 2 +-
- src/corelib/global/qrandom_p.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/corelib/global/qrandom.cpp b/src/corelib/global/qrandom.cpp
-index 6195c324e7..480af00ebc 100644
---- a/src/corelib/global/qrandom.cpp
-+++ b/src/corelib/global/qrandom.cpp
-@@ -90,7 +90,7 @@ DECLSPEC_IMPORT BOOLEAN WINAPI SystemFunction036(PVOID RandomBuffer, ULONG Rando
-
- QT_BEGIN_NAMESPACE
-
--#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND)
-+#if defined(Q_PROCESSOR_X86_64) && QT_COMPILER_SUPPORTS_HERE(RDRND)
- static qsizetype qt_random_cpu(void *buffer, qsizetype count) Q_DECL_NOTHROW;
-
- # ifdef Q_PROCESSOR_X86_64
-diff --git a/src/corelib/global/qrandom_p.h b/src/corelib/global/qrandom_p.h
-index 917a91098e..c770a3e19b 100644
---- a/src/corelib/global/qrandom_p.h
-+++ b/src/corelib/global/qrandom_p.h
-@@ -81,7 +81,7 @@ enum { qt_randomdevice_control = 0 };
-
- inline bool qt_has_hwrng()
- {
--#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND)
-+#if defined(Q_PROCESSOR_X86_64) && QT_COMPILER_SUPPORTS_HERE(RDRND)
- return qCpuHasFeature(RDRND);
- #else
- return false;
---
-2.20.1
-
diff --git a/0034-Prevent-static-build-to-prefer-dynamic-libraries.patch b/0034-Prevent-static-build-to-prefer-dynamic-libraries.patch
deleted file mode 100644
index 376fb282caad..000000000000
--- a/0034-Prevent-static-build-to-prefer-dynamic-libraries.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 62ddbd09af7ddeb08d21ccbaf2c8724a12c52ef6 Mon Sep 17 00:00:00 2001
-From: Martchus <martchus@gmx.net>
-Date: Sun, 3 Feb 2019 14:34:42 +0100
-Subject: [PATCH 34/34] Prevent static build to prefer dynamic libraries
-
-The static build should not attempt to link against dynamic libraries
-in order to get a fully statically linked binary in the end.
----
- mkspecs/features/qt_configure.prf | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
-index c45439c3ef..7953cdd19e 100644
---- a/mkspecs/features/qt_configure.prf
-+++ b/mkspecs/features/qt_configure.prf
-@@ -541,12 +541,12 @@ defineTest(qtConfResolveLibs) {
- # Under Windows, we look only for static libraries, as even for DLLs
- # one actually links against a static import library.
- mingw {
-- lcan += \
-- # MinGW supports UNIX-style library naming in addition to
-- # the MSVC style.
-- lib$${lib}.dll.a lib$${lib}.a \
-- # Fun fact: prefix-less libraries are also supported.
-- $${lib}.dll.a $${lib}.a
-+ # prefer (import) libraries for dynamic linking unless we're doing a
-+ # static build where we solely rely on presence of static libraries
-+ shared {
-+ lcan += $${QMAKE_PREFIX_STATICLIB}$${lib}.$${QMAKE_EXTENSION_IMPORTLIB} $${lib}.$${QMAKE_EXTENSION_IMPORTLIB}
-+ }
-+ lcan += $${QMAKE_PREFIX_STATICLIB}$${lib}.$${QMAKE_EXTENSION_STATICLIB} $${lib}.$${QMAKE_EXTENSION_STATICLIB}
- }
- lcan += $${lib}.lib
- }
---
-2.20.1
-
diff --git a/PKGBUILD b/PKGBUILD
index 753e021fb1c5..aee7f59d54d6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,141 +9,106 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
-# All patches are managed at https://github.com/Martchus/qtbase
+# This file is created from PKGBUILD.sh.ep contained by the mentioned repository.
+# Do not edit it manually! See README.md in the repository's root directory
+# for more information.
-# Helper functions for the split builds
-isDefault() {
- [[ $pkgname = 'mingw-w64-qt5-base' ]] || [[ $pkgname = 'mingw-w64-qt5-base-static' ]]
-}
-isStatic() {
- [ "${pkgname##*-}" = 'static' ]
-}
-isOpenGL() {
- # Currently use native OpenGL by default
- isDefault || \
- [[ $pkgname = 'mingw-w64-qt5-base-opengl' ]] || [[ $pkgname = 'mingw-w64-qt5-base-opengl-static' ]]
-}
-isANGLE() {
- [[ $pkgname = 'mingw-w64-qt5-base-angle' ]] || [[ $pkgname = 'mingw-w64-qt5-base-angle-static' ]] || \
- [[ $pkgname = 'mingw-w64-qt5-base-dynamic' ]] || [[ $pkgname = 'mingw-w64-qt5-base-dynamic-static' ]]
- # Treat dynamic version like ANGLE version, correct?
-}
-isDynamic() {
- [[ $pkgname = 'mingw-w64-qt5-base-dynamic' ]] || [[ $pkgname = 'mingw-w64-qt5-base-dynamic-static' ]]
-}
-isNoOpenGL() {
- [[ $pkgname = 'mingw-w64-qt5-base-noopengl' ]] || [[ $pkgname = 'mingw-w64-qt5-base-noopengl-static' ]]
-}
+# All patches are managed at https://github.com/Martchus/qtbase
+_qt_module=qtbase
pkgname=mingw-w64-qt5-base
-pkgver=5.12.1
+pkgver=5.15.13+kde+r138
pkgrel=1
-pkgdesc='A cross-platform application and UI framework (mingw-w64)'
-# The static variant doesn't contain any executables which need to be executed on the build machine
-isStatic && arch=('any') || arch=('i686' 'x86_64')
+_basever=${pkgver%%+*}
+_commit=b9906b5233a80cab372c95ac4dd68b25bdca0646
+pkgdesc='A cross-platform application and UI framework, native OpenGL backend (mingw-w64)'
+arch=('i686' 'x86_64')
url='https://www.qt.io/'
license=('GPL3' 'LGPL3' 'FDL' 'custom')
depends=('mingw-w64-crt' 'mingw-w64-zlib' 'mingw-w64-libjpeg-turbo' 'mingw-w64-sqlite'
'mingw-w64-libpng' 'mingw-w64-openssl' 'mingw-w64-dbus' 'mingw-w64-harfbuzz'
'mingw-w64-pcre2')
+optdepends=('mingw-w64-mesa: use LLVMpipe software rasterizer for Qt Quick'
+ 'mingw-w64-postgresql: PostgreSQL support'
+ 'mingw-w64-mariadb-connector-c: MySQL support')
+makedepends=('mingw-w64-gcc' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c'
+ 'mingw-w64-vulkan-headers' 'mingw-w64-pkg-config' 'mingw-w64-environment' 'git')
groups=('mingw-w64-qt5')
-optdepends=('mingw-w64-postgresql: PostgreSQL support' 'mingw-w64-mariadb-connector-c: MySQL support')
-makedepends=('mingw-w64-gcc' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c' 'mingw-w64-pkg-config')
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
-_pkgfqn="qtbase-everywhere-src-${pkgver}"
-source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${_pkgfqn}.tar.xz"
+_pkgfqn=${_qt_module}
+source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit
'0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch'
'0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch'
- '0003-Use-external-ANGLE-library.patch'
- '0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch'
- '0005-Make-sure-.pc-files-are-installed-correctly.patch'
- '0006-Don-t-add-resource-files-to-LIBS-parameter.patch'
- '0007-Prevent-debug-library-names-in-pkg-config-files.patch'
- '0008-Fix-linking-against-shared-static-libpng.patch'
- '0009-Fix-linking-against-static-D-Bus.patch'
- '0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch'
- '0011-Fix-linking-against-static-freetype2.patch'
- '0012-Fix-linking-against-static-harfbuzz.patch'
- '0013-Fix-linking-against-static-pcre.patch'
- '0014-Fix-linking-against-shared-static-MariaDB.patch'
- '0015-Fix-linking-against-shared-static-PostgreSQL.patch'
- '0016-Rename-qtmain-to-qt5main.patch'
- '0017-Build-dynamic-host-libraries.patch'
- '0018-Enable-rpath-for-build-tools.patch'
- '0019-Use-system-zlib-for-build-tools.patch'
- '0020-Use-.dll.a-as-import-lib-extension.patch'
- '0021-Merge-shared-and-static-library-trees.patch'
- '0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch'
- '0023-Allow-usage-of-static-version-with-CMake.patch'
- '0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch'
- '0025-Use-correct-pkg-config-static-flag.patch'
- '0026-Fix-macro-invoking-moc-rcc-and-uic.patch'
- '0027-Ignore-errors-about-missing-feature-static.patch'
- '0028-Enable-and-fix-use-of-iconv.patch'
- '0029-Ignore-failing-pkg-config-test.patch'
- '0030-Prevent-qmake-from-messing-static-lib-dependencies.patch'
- '0031-Hardcode-linker-flags-for-platform-plugins.patch'
- '0032-Fix-linking-against-static-plugins-with-qmake.patch'
- '0033-Disable-hardware-randomizer-for-32-bit.patch'
- '0034-Prevent-static-build-to-prefer-dynamic-libraries.patch')
-sha256sums=('533078ce02678988576e224cb3844979907950cf83e0fda3364bc1d5701c9049'
- '4e1dbb878b77dbba96a9564ecbded6dbd74482b52e1cf4becaa1ce741c8cf489'
- 'f54815ff2fede9dbdc0ade572305ff684940714ca65e76d25f5b15cd0cb0a3da'
- 'c60e6cef5d0c95b6d034ade75fde3cf150e1570f5ca62d6b32d942abcb937f86'
- '0a82cde28edae5abb8d624cea407db515c1d52e8963f07aa8430c1d1f810e54a'
- '39059ed786851c1cdf416c4d0a9a5b042edda83bddd03b5bfcbcae1eaf8f7694'
- '4ef83cf4d211c446a5715cfa422f130492ae18bfb5cb42db9ff6516ed7fb29f1'
- '48ee96ffc01d5ab7c648f4aae6cee286992e4eb406e48718058092206f8ad2eb'
- '58f27f2359b3571aac44a3770a705692eed9e6fd24b6e6bf730e7aad5ee4a030'
- 'cf6154d83655efbf30281c4f83d29feb252fd104849f8e2ad495da688e581314'
- 'edf080092f4d158d2e42cedd50f80b3b5715ae47f740b16fa43132f1dc68cf9d'
- '1c3c46c26809e59e91732d2ff082a445dac4986294f400277272c2337d8c21f3'
- '3ee7b4f4ed6ea86794a5d119c7000033d0f61208150e37f35428e52611f7ae3f'
- '1d18e225c4bda89fe024a47834a8b79d9c8e4d1ba884d7dc6b07a93bf0307a85'
- '2affe7ac03016cfd536f63d61c0f5bd42932fc3823b7f2dbabca9c2db5a53ae6'
- 'd0a2e33d20c4d6063f7546fbc84d2f6a5a96955f998ba7af4320bc005fa2a722'
- '9941e9c883496bb3409a12ef3f73b6f3d76e106061381deb74380eafb1ac472f'
- 'f336402daf227aa529080ab31612a205c936438ecbfab3627252164d8903c1b1'
- '8cf716c22bf0fface6e3c015cd4d621425e3b20771b15ab03eeeeb59db248756'
- '95f9847a1fe05ad78ae4a682208894d995becc0ca4f3463d39781e8a52543017'
- '132fc790cfa528063fe95c3bc104826cb82105cd24e05ed77593115212987dc3'
- '8ace42d2ec1b7a05a6bacf93f899775906c407f349efbbd2533b942fb474f200'
- '8849864de4abf2dd70ffe2fe70aabb608c296eccdc41e6f4061645bd39f63c50'
- '60ca9adfe6ae46d6dc7b4874c3202b46bc57f6649a45fb5301e4e4b63e70aa5e'
- '47f83f04256afe1bd8701c31673e00e445b65840b5fe2bd132a98c8f292aa9c4'
- '305b30fad80fba756bd3ad6c34c95030fc3927d52a3dc9b90d2705b390831734'
- '91f37e9098e78881c1953c85e592e108be27dae08a83278f4a9885cb296a6871'
- '9ca5f2175d8679b7312d8cb718ddc648e161a6aae631b5d4c9e528594a020d1a'
- '3a5619542cb549ba7cc2bf1f9b77d524e5f9aa78d1e8dea6cd75c4f09b6aabc9'
- 'e30cf84af1ff7764cb0e0644a7bfbde920f463af9c24aab53abef9cf3410ceb3'
- 'fdd36ed82c5a8df7a0157b4ce9a3be16ec4c2b98cdf071a2be662603045da652'
- '55b42d68ca7981ef777a7f081f840b1b80ada8c0dc9508092ec9fba151a88dfd'
- '06f98f6ce25da7010e7398111ee7b79f380b79a7ab125eba3ef6d051af92cf8a'
- '5a097dc80dc07aa755e77c50a469c3c08bf5b562ad9b116dbbf891a072e7bdc2'
- '66047e08db2282d69563b3081b847fa7c041c3c387ab00ca72ff481b91124925')
+ '0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch'
+ '0004-Make-sure-.pc-files-are-installed-correctly.patch'
+ '0005-Don-t-add-resource-files-to-LIBS-parameter.patch'
+ '0006-Prevent-debug-library-names-in-pkg-config-files.patch'
+ '0007-Fix-linking-against-shared-static-libpng.patch'
+ '0008-Fix-linking-against-static-D-Bus.patch'
+ '0009-Don-t-try-to-use-debug-version-of-D-Bus-library.patch'
+ '0010-Fix-linking-against-static-freetype2.patch'
+ '0011-Fix-linking-against-static-harfbuzz.patch'
+ '0012-Fix-linking-against-static-pcre.patch'
+ '0013-Fix-linking-against-shared-static-MariaDB.patch'
+ '0014-Fix-linking-against-shared-static-PostgreSQL.patch'
+ '0015-Rename-qtmain-to-qt5main.patch'
+ '0016-Enable-rpath-for-build-tools.patch'
+ '0017-Use-system-zlib-for-build-tools.patch'
+ '0018-Merge-shared-and-static-library-trees.patch'
+ '0019-Use-.dll.a-as-import-lib-extension.patch'
+ '0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch'
+ '0021-Allow-usage-of-static-version-with-CMake.patch'
+ '0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch'
+ '0023-Use-correct-pkg-config-static-flag.patch'
+ '0024-Fix-macro-invoking-moc-rcc-and-uic.patch'
+ '0025-Ignore-errors-about-missing-feature-static.patch'
+ '0026-Enable-and-fix-use-of-iconv.patch'
+ '0027-Ignore-failing-pkg-config-test.patch'
+ '0028-Prevent-qmake-from-messing-static-lib-dependencies.patch'
+ '0029-Hardcode-linker-flags-for-platform-plugins.patch'
+ '0030-Fix-linking-against-static-plugins-with-qmake.patch'
+ '0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch'
+ '0032-Fix-crashes-in-rasterization-code-using-setjmp.patch')
+sha256sums=('06e49a14145574834d4d04f73e6baf662ee5e72e78973e1d7d0fe614472a80a4'
+ '11c2b54df2b5ea031c2103366d0b27d0786c3420b29cca391cc0015fd35264d7'
+ '2b00e98c8c8acb1a453191be77a2f7a9188e030480864e58ac39b517bb63ffb5'
+ '5131dff4db6f63e36ea364ce59b2fdb047fbb6d55e6543316054f6ebcd76711b'
+ '3147a21ccad3026a06d8b622db96949d51f32b6a1d25c8aae5fe5a95c3e95625'
+ '4bd74cc1d78da412faac71b5357fd86fea3f1781d0b554f8f7fd3684c833e8ce'
+ 'e566e5cdd5bc077c35054be1465148acd5ee209e609690c670b78df88cc9295b'
+ '7fe1dc6c1251c16c4236924cb5a03ac55d1dca051bd9d99fbf7b35f91454fda3'
+ 'c054851c46036710ff6f025a48d4b5b2d6e5d5d54c74b73c2cb81b00bdfa029a'
+ 'a2702d6ca3f696ca3c77b00df7bb512f5f3430fce109048c62c97d294758efd8'
+ '395339c3dde4115283db948899980e536a355422190bc90850efdc3438c527d8'
+ 'c386790a879e68b9d00bfe9f14afa67d8a374de57bdea164a5252499ec34cbcb'
+ '576177950e99f62d05bee487dd5ae1b731fe4acf438553c74e7c48631dd8789b'
+ '02bc0ce27d7835829d4e84580fb0a0b864b36b14331a166dba88f1942a6414a3'
+ '736de6cd28c8efb1729f926c1fa42c963c7f1d3a9e4b56b098906b570473320f'
+ '294f3ab13a546a1bfeae472cf7342e2bce6c058a6867d19038ba1c194fb33b8d'
+ '8f202adf905ebce78dd2942d17c0d935f0de7014ffa75840310edc0bd790ff03'
+ '129b4667c5e3cfe68040cbae2fce487e2d016bcbe2380a5ba410b225279f71b9'
+ 'fbd8cd4680e10074f90bf79d9d08ad787b483cf7c21250d1db1c8a5c829a1d83'
+ '05a29084b9bc3324beefb9ae6d00ea68c3b3c51a0b4595c024300949c906d7fd'
+ '7843f5be44b9b367cb81c143c6d670e6a5be40510848c09a1448d921c3437639'
+ '7002db8f819bf34cafda04dc4d288fef58aec9e409230dc68fcb542cb48f09bb'
+ '57607c662e6d68f2ca856617c8d7cfaa05ba8332ea70b67ab628a8f0cf2ca032'
+ '5910c4567348101d0a87197b2e52e59673467247ca4ffc89cba5701d98373435'
+ '0181986547b7c70bf2bc8de31198240f99a92e4cfdb1db81c7b99b849c416c1f'
+ '9e692f956dffa5c936a2911d8418746b19197962111b4f0f45b33972ed3890f2'
+ '1d5e09034c9c903653d10c3983e4dcb710ebe8f08694e5e55199a3e4acb8f629'
+ '5379cea6fd54a16e7f67b617bf3582c08f8934ae8d699e85ad21f20dcf192424'
+ '82d1db9d4536350fe2549c400487018a8477a15da83a568240a013a6d82dfe92'
+ '01413344603a8e99f7b0280e7f297de4ea415e0c5011b1dac116eaf25082220b'
+ '4f88801a586c35515fd982f8e465fb4546ef38765c6a2abe1e8ca69e3700d799'
+ 'b4dad74bbe2731aaa8711408fe509344e7e6049def897389f7e2a86423f3377e'
+ '17f251d456713c920c6581659c54b9c372e1a329081b2ed9d9826e9e0ddd317a')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
-isStatic && depends+=(${pkgname%-static})
-if isANGLE; then
- if isDynamic; then
- makedepends+=('mingw-w64-angleproject')
- optdepends+=('mingw-w64-angleproject: use ANGLE instead of native OpenGL')
- else
- depends+=('mingw-w64-angleproject')
- fi
-fi
-if ! isDefault; then
- if isStatic; then
- provides+=('mingw-w64-qt5-base-static')
- conflicts+=('mingw-w64-qt5-base-static' 'mingw-w64-qt5-base-angle-static' 'mingw-w64-qt5-base-noopengl-static'
- 'mingw-w64-qt5-base-dynamic-static' 'mingw-w64-qt5-base-openql-static')
- else
- provides+=('mingw-w64-qt5-base')
- conflicts+=('mingw-w64-qt5-base' 'mingw-w64-qt5-base-angle' 'mingw-w64-qt5-base-noopengl'
- 'mingw-w64-qt5-base-dynamic' 'mingw-w64-qt5-base-openql')
- fi
-fi
+pkgver() {
+ cd $_pkgfqn
+ echo "$_basever+kde+r"`git rev-list --count v$_basever-lts-lgpl..$_commit`
+}
prepare() {
cd "${srcdir}/${_pkgfqn}"
@@ -154,22 +119,17 @@ prepare() {
patch -p1 -i "$patch"
done
- # make sure the Qt 5 build system uses our external ANGLE library
- rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,GLES3,KHR}
+ # clear buildflags ('!buildflags' only effects build() but not prepare())
+ unset CPPFLAGS CFLAGS CXXFLAGS LDFLAGS PKG_CONFIG_PATH
- # as well as our external PCRE library and zlib
- rm -rf src/3rdparty/{pcre,zlib}
-
- # build qmake using mingw-w64 {C,LD}FLAGS
- # This also sets default {C,CXX,LD}FLAGS for projects built using qmake
- CPPFLAGS="${MINGW_CPPFLAGS:--D_FORTIFY_SOURCE=2}"
- CFLAGS="${MINGW_CFLAGS:-$CPPFLAGS -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4}"
- CXXFLAGS="${MINGW_CXXFLAGS:-$CPPFLAGS -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4}"
- LDFLAGS="${MINGW_LDFLAGS:--Wl,-O1,--sort-common,--as-needed}"
+ # build qmake using mingw-w64 {C,CXX,LD}FLAGS
+ # * This also sets default {C,CXX,LD}FLAGS for projects built using qmake.
+ source mingw-env
sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*=\).*$|\1 ${CFLAGS}|" \
-e "s|^\(QMAKE_CXXFLAGS_RELEASE.*=\).*$|\1 ${CXXFLAGS}|" \
-e "s|^\(QMAKE_LFLAGS_RELEASE.*=\).*$|\1 ${LDFLAGS}|" \
- mkspecs/common/gcc-base.conf
+ mkspecs/common/gcc-base.conf \
+ mkspecs/common/g++-win32.conf
sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*=\).*$|\1|" \
mkspecs/common/g++-unix.conf
}
@@ -177,15 +137,6 @@ prepare() {
build() {
cd "${srcdir}/${_pkgfqn}"
- # do not set any flags here, flags are configured via mkspec
- # (Setting flags here is not appropriate as it does not allow to
- # distinguish between flags for native compiler and cross compiler.
- # See prepare() function.)
- unset CFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset PKG_CONFIG_PATH
-
for _arch in ${_architectures}; do
# define general configure arguments
local qt_configure_args="\
@@ -245,51 +196,30 @@ build() {
|| qt_configure_args+=' -release'
# configure usage of ANGLE/OpenGL
- if isOpenGL; then
- msg2 'Using native OpenGL backend'
- qt_configure_args+=' -opengl desktop'
- elif isNoOpenGL; then
- msg2 'Building without OpenGL support'
- qt_configure_args+=' -no-opengl'
- elif isANGLE; then
- if isDynamic; then
- msg2 'Using dynamic OpenGL backend'
- qt_configure_args+=' -opengl dynamic'
- else
- msg2 'Using ANGLE as OpenGL backend'
- qt_configure_args+=' -angle'
- fi
- # enable declarations of GLES functions
- qt_configure_args+=' -DGL_GLEXT_PROTOTYPES'
- fi
+ msg2 'Using native OpenGL backend'
+ qt_configure_args+=' -opengl desktop'
# add include directory of MariaDB
qt_configure_args+=" -I/usr/${_arch}/include/mariadb"
+ # add include directory for Vulkan
+ export VULKAN_SDK=/usr/${_arch}
+
msg2 'Configure and build qmake'
mkdir -p ../build-${_arch} && pushd ../build-${_arch}
- if isStatic; then
- qt_configure_args+=' -static'
+ qt_configure_args+=' -shared'
- # configure static version to use linked OpenSSL
- qt_configure_args+=' -openssl-linked'
- export OPENSSL_LIBS="/usr/${_arch}/lib/libssl.a /usr/${_arch}/lib/libcrypto.a -lws2_32 -lgdi32 -lcrypt32 -ldnsapi -liphlpapi"
+ # configure shared version to load OpenSSL dynamically
+ qt_configure_args+=' -openssl-runtime'
- else
- qt_configure_args+=' -shared'
+ qt_configure_args+=' -device-option CROSS_COMPILE_CUSTOM_CONFIG=actually_a_shared_build'
- # configure shared version to load OpenSSL dynamically
- qt_configure_args+=' -openssl-runtime'
-
- qt_configure_args+=' -device-option CROSS_COMPILE_CUSTOM_CONFIG=actually_a_shared_build'
-
- # override LD_LIBRARY_PATH so libraries for native build tools like libQt5Bootstrap.so are found
- export LD_LIBRARY_PATH="$PWD/lib"
- export LDFLAGS="-L$PWD/lib"
- fi
+ # override LD_LIBRARY_PATH so libraries for native build tools like libQt5Bootstrap.so are found
+ #export LD_LIBRARY_PATH="$PWD/lib"
+ #export LDFLAGS="-L$PWD/lib"
msg2 'Build qmake and configure' && ../${_pkgfqn}/configure $qt_configure_args
- msg2 'Build Qt libraries' && make
+ msg2 'Build Qt libraries' && make -j$(nproc)
popd
done
@@ -298,7 +228,7 @@ build() {
package() {
for _arch in ${_architectures}; do
cd "$srcdir/${_pkgfqn}"
- make install -C ../build-${_arch} INSTALL_ROOT="${pkgdir}"
+ make install -j$(nproc) -C ../build-${_arch} INSTALL_ROOT="${pkgdir}"
# use prl files from build directory since installed prl files seem to have incorrect QMAKE_PRL_LIBS_FOR_CMAKE
pushd "$srcdir/build-${_arch}/lib"
@@ -308,67 +238,21 @@ package() {
find -iname '*.prl' -exec cp --target-directory "${pkgdir}/usr/${_arch}/lib/qt/plugins" --parents {} +
popd
- if isStatic; then
- # The static release contains only the static libs itself but relies on the
- # shared release for Qt5Bootstrap library and tools (qmake, uic, ...).
-
- # drop Qt5Bootstrap and libraries which are only provided as static lib
- # and hence already present in shared build (such as Qt5OpenGLExtensions)
- rm -f \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}qt5main* \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5AccessibilitySupport* \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5DeviceDiscoverySupport* \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5EdidSupport* \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5EventDispatcherSupport* \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5FbSupport* \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5FontDatabaseSupport* \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5PlatformCompositorSupport* \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5ThemeSupport* \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5OpenGLExtensions* \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5PlatformSupport* \
- "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5WindowsUIAutomationSupport* \
- "${pkgdir}/usr/${_arch}/lib/"libQt5Bootstrap* \
-
- # ensure config files don't conflict with shared version
- pushd "${pkgdir}/usr/${_arch}/lib/cmake"
- for cmake_dir in $(find . ! -path . -type d ! -name 'Static*'); do
- mkdir -p "./Static${cmake_dir:2}";
- mv "${cmake_dir}/"* "./Static${cmake_dir:2}";
- rm -r "${cmake_dir}"
- done
- rm -r "./StaticQt5OpenGLExtensions"
- popd
- rm "${pkgdir}/usr/${_arch}/lib/pkgconfig/StaticQt5OpenGLExtensions.pc"
-
- # create links to static plugins in lib directory
- pushd "${pkgdir}/usr/${_arch}/lib/" && ln -s "./qt/plugins/"*/*.a . && popd
-
- # keep a couple pri files not found in base
- mv "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules/qt_plugin_"*.pri "${pkgdir}/usr/${_arch}"
-
- # fix bad library order for static CMake builds caused by Qt5Gui.static.prl
- sed -i -e "s|-lfreetype;|-lfreetype;-lharfbuzz;-lfreetype;-lbz2;|" \
- -e "s| -lz;| |" \
- "${pkgdir}/usr/${_arch}/lib/Qt5Gui.static.prl"
+ # remove DLLs from libdir (DLLs are installed in both bindir and libdir, one copy is sufficient)
+ find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
- # delete duplicate files that are in the base package
- rm -fR "${pkgdir}/usr/${_arch}/"{include,share}
- rm -fR "${pkgdir}/usr/${_arch}/lib/"{qt/bin,qt/mkspecs}
+ # install missing libQt5BootstrapDBus.a manually
+ cp --target-directory "${pkgdir}/usr/${_arch}/lib" "$srcdir/build-${_arch}/lib/libQt5BootstrapDBus.a"
- # move pri files back
- mkdir -p "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
- mv "${pkgdir}/usr/${_arch}/"*.pri "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
+ # create symlinks for tools
+ mkdir -p "${pkgdir}/usr/bin"
+ for tool in qmake moc rcc uic qdbuscpp2xml qdbusxml2cpp qdoc syncqt.pl; do
+ ln -s "../${_arch}/lib/qt/bin/${tool}" "${pkgdir}/usr/bin/${_arch}-${tool}-qt5"
+ done
- else # shared version
- # remove DLLs from libdir (DLLs are installed in both bindir and libdir, one copy is sufficient)
- find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
-
- # create symlinks for tools
- mkdir -p "${pkgdir}/usr/bin"
- for tool in qmake moc rcc uic qdbuscpp2xml qdbusxml2cpp qdoc syncqt.pl; do
- ln -s "../${_arch}/lib/qt/bin/${tool}" "${pkgdir}/usr/bin/${_arch}-${tool}-qt5"
- done
- fi
+ # create qt.conf containing plugin path, see https://github.com/Martchus/PKGBUILDs/issues/109
+ echo "[Paths]
+Plugins = /usr/${_arch}/lib/qt/plugins" > "${pkgdir}/usr/${_arch}/bin/qt.conf"
# drop QMAKE_PRL_BUILD_DIR because reference the build dir
find "${pkgdir}/usr/${_arch}/lib" -type f -name '*.prl' -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
@@ -383,19 +267,21 @@ package() {
done
fi
+ # remove '.static.prl' files
+ find "${pkgdir}/usr/${_arch}" -name '.static.prl' -delete
+
# replace library path in *.prl files so it points to the installed location and not the build directory
find "${pkgdir}/usr/${_arch}/lib" \( -type f -name '*.prl' -o -name '*.pc' \) -exec sed -i -e "s:${PWD%/*}/build-${_arch}/lib:/usr/${_arch}/lib:g" {} \;
# strip binaries, remove unuseful files
- if ! isStatic; then
- strip --strip-all "${pkgdir}/usr/${_arch}/lib/qt/bin/"*[!.pl]
- strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"{,DBus}.so.${pkgver}
- fi
- if isStatic || [[ $NO_EXECUTABLES ]]; then
+ strip --strip-all "${pkgdir}/usr/${_arch}/lib/qt/bin/"*[!.pl]
+ strip --strip-debug "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"*.a
+ if [[ $NO_EXECUTABLES ]]; then
find "${pkgdir}/usr/${_arch}" -name '*.exe' -delete
else
find "${pkgdir}/usr/${_arch}" -name '*.exe' -exec ${_arch}-strip --strip-all {} \;
fi
+
find "${pkgdir}/usr/${_arch}" \( -name '*.bat' -o -name '*.def' -o -name '*.exp' \) -delete
find "${pkgdir}/usr/${_arch}" -name '*.dll' -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" \( -name '*.a' -not -name 'libQt5QmlDevTools.a' -not -name 'libQt5Bootstrap.a' \) -exec ${_arch}-strip -g {} \;
diff --git a/PKGBUILD.sh.ep b/PKGBUILD.sh.ep
new file mode 100644
index 000000000000..e6870c2683cf
--- /dev/null
+++ b/PKGBUILD.sh.ep
@@ -0,0 +1 @@
+% layout 'mingw-w64-qt5-base';
diff --git a/README.md b/README.md
index 3233d55ba5d0..9e27bdb10341 100644
--- a/README.md
+++ b/README.md
@@ -19,14 +19,15 @@ in the package.
## Variants
There are different variants of the package which can be selected by simply adjusting pkgname:
-| Package name | Customization |
-| ----------------------------------------------- | -----------------------------------------------------------------------|
-| mingw-w64-qt5-base or mingw-w64-qt5-base-opengl | using native OpenGL |
-| mingw-w64-qt5-base-angle | using ANGLE rather than native OpenGL |
-| mingw-w64-qt5-base-dynamic | allows choosing between ANGLE and native OpenGL dynamically at runtime |
-| mingw-w64-qt5-base-noopenql | no OpenGL support |
+| Package name | Customization |
+| ------------------------------------------------------- | -----------------------------------------------------------------------|
+| mingw-w64-qt5-base-dynamic, mingw-w64-qt5-base-dynamic | allows choosing between ANGLE and native OpenGL dynamically at runtime |
+| mingw-w64-qt5-base-opengl | using native OpenGL |
+| mingw-w64-qt5-base-angle | using ANGLE rather than native OpenGL |
+| mingw-w64-qt5-base-noopenql | no OpenGL support |
* The variants are conflicting (and hence can not be installed at the same time).
+* It is also possible to use the software rasterizer provided by mingw-w64-mesa as a drop-in replacement for the regular OpenGL libraries.
* See also: http://doc.qt.io/qt-5/windows-requirements.html#dynamically-loading-graphics-drivers
## Static libraries
@@ -87,4 +88,4 @@ Currently qmake is messing with linker flags for cyclic dependencies and static
To workaround these issues, use the following arguments:
```
CONFIG+=no_smart_library_merge QTPLUGIN.sqldrivers=qsqlite QTPLUGIN.sqldrivers+=qsqlpsql QTPLUGIN.sqldrivers+=qsqlodbc
-``` \ No newline at end of file
+```
diff --git a/qtbase-sha256.txt b/qtbase-sha256.txt
new file mode 100644
index 000000000000..2bf4062ff4af
--- /dev/null
+++ b/qtbase-sha256.txt
@@ -0,0 +1 @@
+06e49a14145574834d4d04f73e6baf662ee5e72e78973e1d7d0fe614472a80a4