diff options
author | Martchus | 2019-12-24 22:47:47 +0100 |
---|---|---|
committer | Martchus | 2019-12-24 22:47:47 +0100 |
commit | 63aa9a7991097bb03d27434b0c38c096ca11128a (patch) | |
tree | 4e0303c41c45fae1a0a82e728ce6b13ec95aacce | |
parent | 1cbd75539dfc7b77a667113a8e860c580e1d51d0 (diff) | |
download | aur-63aa9a7991097bb03d27434b0c38c096ca11128a.tar.gz |
Update to 5.14.0
34 files changed, 502 insertions, 376 deletions
@@ -1,7 +1,7 @@ pkgbase = mingw-w64-qt5-base pkgdesc = A cross-platform application and UI framework (mingw-w64) - pkgver = 5.13.2 - pkgrel = 2 + pkgver = 5.14.0 + pkgrel = 1 url = https://www.qt.io/ arch = i686 arch = x86_64 @@ -15,6 +15,7 @@ pkgbase = mingw-w64-qt5-base makedepends = mingw-w64-mariadb-connector-c makedepends = mingw-w64-vulkan-headers makedepends = mingw-w64-pkg-config + makedepends = mingw-w64-environment depends = mingw-w64-crt depends = mingw-w64-zlib depends = mingw-w64-libjpeg-turbo @@ -31,7 +32,7 @@ pkgbase = mingw-w64-qt5-base options = !buildflags options = staticlibs options = !emptydirs - source = https://download.qt.io/official_releases/qt/5.13/5.13.2/submodules/qtbase-everywhere-src-5.13.2.tar.xz + source = https://download.qt.io/official_releases/qt/5.14/5.14.0/submodules/qtbase-everywhere-src-5.14.0.tar.xz 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-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch @@ -62,41 +63,39 @@ pkgbase = mingw-w64-qt5-base 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-static-build-to-prefer-dynamic-libraries.patch - source = 0032-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch - sha256sums = 26b6b686d66a7ad28eaca349e55e2894e5a735f3831e45f2049e93b1daa92121 - sha256sums = 35196184205cb58bdb1ade09c02bfc660679ed4af6dc1d807a24f1c52999545e - sha256sums = 4c66ecd2e2e215afb7f53382139b5a3a9cc87bfec2dd75af3ab8111ce3556378 - sha256sums = dcc5acb3e160b99101b967bd696dd48a099c65754b3908c16b46c1703f134e08 - sha256sums = 586bea4aa870423778eb497df48479819aa50de8d07977327eb1a0f84565813a - sha256sums = b5363b325198c3cfaba6437d21cc2cde6c5843d33475fc559f9eae4b20e0c867 - sha256sums = 9f835025a78ab4d7dd08b1a2cb5d499790b8e01a3039741f50c93bc6722f3c71 - sha256sums = 5217bae23859289898060a05769cc6088852f09206d7fc681cdcb492353be219 - sha256sums = 39d32e743984904c878616afb8ffd16ad5421bc2e67606831a4245b9ef924c7b - sha256sums = f5fc4b36f288bb59d662c58b49a15de84f60be05d13e89719342893138f9a903 - sha256sums = 48f5efe578913656ab79a35f899e15bd09fde58cc10adf8f7f5dbdc0a5022b7d - sha256sums = f89779100c07431fee063e0f40bcb0006662794afa522e9c5a57ac1eca24f621 - sha256sums = f5ea9cc35754556045dd2dc07745bca89f677ade9b8566539c717d35f4ae0bd1 - sha256sums = 212aeb8f2f287108d2d884c17c2f55177b8f3c39e10357e36c2f1ef2e582a12a - sha256sums = 2e7145b8a8fca349ce5838d4241d29059dd421c8722260cda5d063b75ffe3b5f - sha256sums = c0eff682bbc11e2258c5c40591d0222e88af0d2c136b3cede8e4792a7efba2d3 - sha256sums = 8d3879a05e0fe574671bb8952393a4e7ca44183e8116053dbf01776b2d6ad4cf - sha256sums = 8b06afd5adab795a47520f1dfdb8827507f8d451eb98a02dbf1b57ede08fa6e2 - sha256sums = 21f7e13919ec7d6ae88835ce34185f7d3ff3c541a1a7bad25e4354fac0201723 - sha256sums = 5e08c43b1a4bfc1dfe93330119cfb85d5de873b8642cbf920d4cfbdad05a7ce5 - sha256sums = ee0412e276bac12f57f1019807f678818cc3b166afaa2523e6d3cfbcc6baf5bf - sha256sums = f5f57e3b1e6314203bb3a98d7ad47c46b4894651b7d4e74749df6b7f0f7548f5 - sha256sums = 22bdbef1d761426c0388a5335c2b80be52aa75e83c75f1d134eba70091de59ed - sha256sums = fd37d3c487790922e6dede40964d6a8abab9908d674413748c37672863374a65 - sha256sums = 1c4b6e6bbc985b742e4d2124b7be002948b2cb43be4524b8b713253f2afebe96 - sha256sums = 94de3861dedd76133bd3e42793f3db3a1e8b52a921095ff853038cb5b4064a5f - sha256sums = cd4c07f83cad7b8b1fb2995a398a3ac2ed9b4606efc0154231821db7f793676c - sha256sums = b15f3a0d0dd1c14c5728444ad449f2753f6c668e73e6e2ad0477fab405c338e9 - sha256sums = 45af95f6f2e228f04ee3e39756cf752a04a0e58da5ed445ab79dbac0c8c7472f - sha256sums = 29ded7cd3b82e31660d4559f0d2cefde8e18af8c4cea34fd816096946ad72189 - sha256sums = 13aa6ba82a4a28099c0219060deab3d3023424a8c5dcf8df6b105f3831a9a184 - sha256sums = 095a39a517844a3c3ce9282a44f39478dc6d5661b6be7f5b8517f195f0fe1b14 - sha256sums = f8aa4f1a129d0fd98f71e9a108513ff9ca78b3d86a80554e830cf6f1ba5edb00 + source = 0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch + sha256sums = 4ef921c0f208a1624439801da8b3f4344a3793b660ce1095f2b7f5c4246b9463 + sha256sums = 1f4fd0f8518160f3ec0e5bc39226d857387aa4caec897201999d8eada2b328ef + sha256sums = 450aba36cf8c60a8659406f9367a85e2055a40e1cf0a8711c6de44de1927d857 + sha256sums = 7899cdcd3450f5f0bb9cb4cd71ac6529285d4368586e1a2fabb4e14d7b3dee67 + sha256sums = 579595a48fa45191941f393defe155c57d02426e6eba1296f3f7f501f6f32576 + sha256sums = 1d233841e73c8f69a1d09b666438b26299530b23ac354e6e1e0ccbe58f3ed54c + sha256sums = 56bdecf98463853875e257cc347141967d1edd48e21b0724d16012dd1cc8ef90 + sha256sums = 28155531ed86617a074c7a2ac8d753c052707034009ad5dcbf0f2c6dc00ee977 + sha256sums = 8f5c7da6b4ae5ce95d887372398fb147678748bca1b8970901bb0417b3440423 + sha256sums = f1f71a736d2cbe9aa3ac04343ae171ef3fda32b5db93bd189c9fc5510c9210e4 + sha256sums = c4b45dd1d19331caaa7ac89cb0d276cb6ec53ee1d2ed2f72fb119d1af000e907 + sha256sums = 2d74d87a8da273ed296890a7a717ea8c84242a2af534830ba07a44be88d90d70 + sha256sums = 37f11888ee60b68570b759ec66e1ab49e0bb0df0663b808380df5b34f054b5fe + sha256sums = 68d3eeea07f398133d068151ca5ba65d5bf4e1396a7db739cdd77377e261a785 + sha256sums = 6e5ab1df1c7aac94259aca4bb8c8469939a944104cc847ddf4fdaf7f278dd225 + sha256sums = 4e421ed2b892911725a4a3e6aad9803339dc6d27af9a5caba0dcf082f5a08fa7 + sha256sums = f0629049a60362f83ebd3e9a6a67d71274e9c2f2eae21ba97062b8d5b11d759a + sha256sums = 31d08dbfde790dd702d87f3b995322118919fc9828f22c9b1c044e912ae6f870 + sha256sums = 8ab7f64f5d017b650c39aa6e845252be71e4f37a1bfdfeee0f17aec65e233728 + sha256sums = 6c95b8fa7ed5a2c8fb48a237d172916c6b1f3197f32b3e627216d6c9759bce14 + sha256sums = 74a4fe7f163bba1312cda135c983644260cc8794cdd950385212911eb27d985c + sha256sums = 7e415f8aad7d950add53466406ea3e0cb67180ce6493ea768937bb96ff8de33d + sha256sums = eb02f4a52b712dcf8bffe57cec420b77bea060e8227f28239056b0721c494075 + sha256sums = 62a99e8e345fe776619fb5928334c40d4116e7fae59c773de70ef690dfec1d5f + sha256sums = 87e271140d4a831a9feac53a7d0d7fae0fee9a1c20040a3181a43472c3e6f15a + sha256sums = c5162eac72b87e34fcbc64c53f38c0a3dd2b174cdb049db258d899510c4febfb + sha256sums = 1d4956c53a0759988d68ebfcae12d74f1332db075efdd85d762629d12421678c + sha256sums = fd2eeb783fcc83fa7951b7fd07a87033f0229827282b4142047378297688a4b9 + sha256sums = c9cb158dbc2d5446f36f031478e7174188660150a1b7bcb94d7f761a51aa7342 + sha256sums = 7611dcb33265962ecfab480771db0360f1083c7672ba874b83b335e18d8909a5 + sha256sums = f5b2a9a54eacc2d86531005b222dff7a3313430baa55d5bae407a5fdb6028d07 + sha256sums = 65889bbb2ed14dd9e7a884a6a9015b883bbfc0d558210cc296bb3d41bee4212e 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 bddf956c8255..53e8dfc47208 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,7 +1,7 @@ -From e04f26325dae3daefcdfcb8f744e262faee0c508 Mon Sep 17 00:00:00 2001 +From b9877c6af8be840543ce928bf0a54bd3dc5f186e Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 3 Feb 2017 18:30:51 +0100 -Subject: [PATCH 01/32] Adjust win32-g++ profile for cross compilation with +Subject: [PATCH 01/31] Adjust win32-g++ profile for cross compilation with mingw-w64 Adding a new, separate mkspec instead of patching the existing one @@ -12,6 +12,8 @@ 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: I4c9b3c170ed13943abe0d8b397a8cb9e360538b6 --- mkspecs/common/g++-win32.conf | 52 ++++++++++++++++++++---------- mkspecs/win32-clang-g++/qmake.conf | 4 +-- @@ -19,7 +21,7 @@ Also see the following issues: 3 files changed, 39 insertions(+), 21 deletions(-) diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf -index c3a1f3a373..5208d22bd6 100644 +index 6369436863..17d2a5efec 100644 --- a/mkspecs/common/g++-win32.conf +++ b/mkspecs/common/g++-win32.conf @@ -8,18 +8,24 @@ @@ -41,10 +43,10 @@ index c3a1f3a373..5208d22bd6 100644 MAKEFILE_GENERATOR = MINGW QMAKE_PLATFORM = win32 mingw --CONFIG += debug_and_release debug_and_release_target precompile_header +-CONFIG += precompile_header -DEFINES += UNICODE _UNICODE WIN32 MINGW_HAS_SECURE_API=1 -QMAKE_COMPILER_DEFINES += __GNUC__ _WIN32 -+CONFIG += debug_and_release debug_and_release_target precompile_header $${CROSS_COMPILE_CUSTOM_CONFIG} ++CONFIG += precompile_header $${CROSS_COMPILE_CUSTOM_CONFIG} +DEFINES += UNICODE _UNICODE MINGW_HAS_SECURE_API=1 +QMAKE_COMPILER_DEFINES += __GNUC__ _WIN32 WIN32 # can't add 'DEFINES += WIN64' and 'QMAKE_COMPILER_DEFINES += _WIN64' defines for @@ -125,7 +127,7 @@ index c3a1f3a373..5208d22bd6 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 59d42176f0..f8cb9859f2 100644 --- a/mkspecs/win32-clang-g++/qmake.conf +++ b/mkspecs/win32-clang-g++/qmake.conf @@ -14,11 +14,11 @@ include(../common/g++-win32.conf) @@ -161,5 +163,5 @@ index 5de482f23b..3c3d22c699 100644 QMAKE_LINK = $${CROSS_COMPILE}g++ -- -2.24.0 +2.24.1 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 d5e043920d0b..1a5e0fd1b736 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 66aaead6f7f57adf266115ac9764c21839c8505c Mon Sep 17 00:00:00 2001 +From be14c1951af73ccc2e7a9bbde0db332a0aa3fe6f Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:36:53 +0200 -Subject: [PATCH 02/32] Ensure GLdouble is defined when using dynamic OpenGL +Subject: [PATCH 02/31] Ensure GLdouble is defined when using dynamic OpenGL FIXME: Not sure whether this is still required --- @@ -23,5 +23,5 @@ index 4554291bbd..23d55bddeb 100644 #ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG #include <stdio.h> -- -2.24.0 +2.24.1 diff --git a/0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch b/0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch index 4e63f417299b..0c6e3f1562b8 100644 --- a/0003-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 493c7f41180718b024b773cca1c23a4b0c7a8213 Mon Sep 17 00:00:00 2001 +From 982428d4be89771ffcafc850d30b47ecfdeebcc5 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:48:51 +0200 -Subject: [PATCH 03/32] Fix too many sections assemler error in OpenGL factory +Subject: [PATCH 03/31] Fix too many sections assemler error in OpenGL factory On x86_64 qopenglversionfunctionsfactory.o exceeds the limit of 32768 sections. @@ -25,5 +25,5 @@ index 24758afdeb..aa04b4a672 100644 HEADERS += opengl/qopengl.h \ opengl/qopengl_p.h \ -- -2.24.0 +2.24.1 diff --git a/0004-Make-sure-.pc-files-are-installed-correctly.patch b/0004-Make-sure-.pc-files-are-installed-correctly.patch index 572c8a08dc10..7c6eba38d3f1 100644 --- a/0004-Make-sure-.pc-files-are-installed-correctly.patch +++ b/0004-Make-sure-.pc-files-are-installed-correctly.patch @@ -1,7 +1,7 @@ -From f72528e215897c6064ec0ae1132b6b103efaf69b Mon Sep 17 00:00:00 2001 +From 499284b7e311cd91dc674ae924d49ceb86c36809 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:54:12 +0200 -Subject: [PATCH 04/32] Make sure *.pc files are installed correctly +Subject: [PATCH 04/31] Make sure *.pc files are installed correctly --- qmake/generators/makefile.cpp | 8 ++++++-- @@ -10,10 +10,10 @@ Subject: [PATCH 04/32] 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 22ac7bf534..003ad2baf2 100644 +index ed7d057a88..1694dea086 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp -@@ -3245,7 +3245,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const +@@ -3212,7 +3212,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const } QString @@ -22,7 +22,7 @@ index 22ac7bf534..003ad2baf2 100644 { QString ret = project->first("QMAKE_PKGCONFIG_FILE").toQString(); if (ret.isEmpty()) { -@@ -3270,7 +3270,11 @@ MakefileGenerator::pkgConfigFileName(bool fixify) +@@ -3237,7 +3237,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 22ac7bf534..003ad2baf2 100644 return ret; } diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h -index 350ebd377a..d0c234b864 100644 +index 47e4c7531c..057853a4ce 100644 --- a/qmake/generators/makefile.h +++ b/qmake/generators/makefile.h -@@ -92,7 +92,7 @@ protected: +@@ -95,7 +95,7 @@ protected: virtual void writeDefaultVariables(QTextStream &t); QString pkgConfigPrefix() const; @@ -49,10 +49,10 @@ index 350ebd377a..d0c234b864 100644 void writePkgConfigFile(); // for pkg-config diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp -index 266bae7e64..8222854cfc 100644 +index 86d10c213c..c1b28a52e9 100644 --- a/qmake/generators/win32/winmakefile.cpp +++ b/qmake/generators/win32/winmakefile.cpp -@@ -753,7 +753,7 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t) +@@ -761,7 +761,7 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t) } if(!ret.isEmpty()) ret += "\n\t"; @@ -62,5 +62,5 @@ index 266bae7e64..8222854cfc 100644 uninst.append("\n\t"); uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc)); -- -2.24.0 +2.24.1 diff --git a/0005-Don-t-add-resource-files-to-LIBS-parameter.patch b/0005-Don-t-add-resource-files-to-LIBS-parameter.patch index 76170a237096..f56a080f09a9 100644 --- a/0005-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 e9a7328ecd61bf62730661b4af1e4bf9548cbc08 Mon Sep 17 00:00:00 2001 +From 0b7f7b8e98ade7ba816c2439e35cd60d9a5c67ac Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:58:28 +0200 -Subject: [PATCH 05/32] Don't add resource files to LIBS parameter +Subject: [PATCH 05/31] 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 2175841264..c565d44e67 100644 +index 096b041056..eb498b28e8 100644 --- a/qmake/generators/win32/mingw_make.cpp +++ b/qmake/generators/win32/mingw_make.cpp -@@ -192,7 +192,7 @@ void MingwMakefileGenerator::init() +@@ -152,7 +152,7 @@ void MingwMakefileGenerator::init() processVars(); @@ -24,5 +24,5 @@ index 2175841264..c565d44e67 100644 if (project->isActiveConfig("dll")) { QString destDir = ""; -- -2.24.0 +2.24.1 diff --git a/0006-Prevent-debug-library-names-in-pkg-config-files.patch b/0006-Prevent-debug-library-names-in-pkg-config-files.patch index 20206734640e..8dcaa36fb2c8 100644 --- a/0006-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 1bef9ba7bb4cab5b5b1c245eca79f1cbfdfb55a1 Mon Sep 17 00:00:00 2001 +From 8a7e29949e5fbbcd2ce02def5f0146786ffe3f59 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:01:14 +0200 -Subject: [PATCH 06/32] Prevent debug library names in pkg-config files +Subject: [PATCH 06/31] 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 003ad2baf2..5c6e7e1281 100644 +index 1694dea086..01d24418ce 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp -@@ -3259,6 +3259,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir) +@@ -3226,6 +3226,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir) if (dot != -1) ret = ret.left(dot); } @@ -29,5 +29,5 @@ index 003ad2baf2..5c6e7e1281 100644 QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString(); if(!subdir.isEmpty()) { -- -2.24.0 +2.24.1 diff --git a/0007-Fix-linking-against-shared-static-libpng.patch b/0007-Fix-linking-against-shared-static-libpng.patch index c3e6ef8af005..2c5ac6c3d955 100644 --- a/0007-Fix-linking-against-shared-static-libpng.patch +++ b/0007-Fix-linking-against-shared-static-libpng.patch @@ -1,7 +1,7 @@ -From f2c9c83b1eea3e85bb03b2b2f8fde9d0376e041f Mon Sep 17 00:00:00 2001 +From a623fd18b4613f907ddf7cdd3cd1fa3bf0b4eac0 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Thu, 26 Jan 2017 17:51:31 +0100 -Subject: [PATCH 07/32] Fix linking against shared/static libpng +Subject: [PATCH 07/31] 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 6280b4dfa2..36325920cd 100644 +index 19312d245d..c89831c404 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json -@@ -387,8 +387,10 @@ +@@ -399,8 +399,10 @@ { "type": "pkgConfig", "args": "libpng" }, { "libs": "-llibpng16", "condition": "config.msvc" }, { "libs": "-llibpng", "condition": "config.msvc" }, @@ -26,5 +26,5 @@ index 6280b4dfa2..36325920cd 100644 ], "use": [ -- -2.24.0 +2.24.1 diff --git a/0008-Fix-linking-against-static-D-Bus.patch b/0008-Fix-linking-against-static-D-Bus.patch index 4cdbb7ef4291..1d78ba3b9c18 100644 --- a/0008-Fix-linking-against-static-D-Bus.patch +++ b/0008-Fix-linking-against-static-D-Bus.patch @@ -1,7 +1,7 @@ -From edebe4b52babc03509ff5d2037bcf59f48da21c5 Mon Sep 17 00:00:00 2001 +From 8d4aa856026bbb9f87024cbea65eb482a2fef4a9 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 3 Feb 2017 19:36:25 +0100 -Subject: [PATCH 08/32] Fix linking against static D-Bus +Subject: [PATCH 08/31] Fix linking against static D-Bus --- configure.json | 9 +++++++-- @@ -9,10 +9,10 @@ Subject: [PATCH 08/32] Fix linking against static D-Bus 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/configure.json b/configure.json -index af55bb6fd2..370c27af5b 100644 +index 159fdf12fa..4aa1221395 100644 --- a/configure.json +++ b/configure.json -@@ -187,18 +187,23 @@ +@@ -188,18 +188,23 @@ "dbus": { "label": "D-Bus >= 1.2", "test": { @@ -54,5 +54,5 @@ index 7cce0d71aa..4d3d774d45 100644 # include <dbus/dbus.h> #else -- -2.24.0 +2.24.1 diff --git a/0009-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 28af89b7240c..0abdd4937583 100644 --- a/0009-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 8961310da06333af92430ce142dc588d11be9773 Mon Sep 17 00:00:00 2001 +From 0f69c4775ad5f7f145e924330bffb7b351839eed Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 2 Jun 2017 18:28:10 +0200 -Subject: [PATCH 09/32] Don't try to use debug version of D-Bus library +Subject: [PATCH 09/31] 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 370c27af5b..36545a593b 100644 +index 4aa1221395..bf7c14906f 100644 --- a/configure.json +++ b/configure.json -@@ -200,7 +200,7 @@ +@@ -201,7 +201,7 @@ { "libs": "", "builds": { @@ -25,5 +25,5 @@ index 370c27af5b..36545a593b 100644 }, "condition": "config.win32 && features.shared" -- -2.24.0 +2.24.1 diff --git a/0010-Fix-linking-against-static-freetype2.patch b/0010-Fix-linking-against-static-freetype2.patch index c564452c640c..37abea53a58d 100644 --- a/0010-Fix-linking-against-static-freetype2.patch +++ b/0010-Fix-linking-against-static-freetype2.patch @@ -1,17 +1,17 @@ -From b093b965b4f245488c6c6cb4ac97125e65a4ec63 Mon Sep 17 00:00:00 2001 +From 6e50cb934d6293f26e6b2b403da5a62cfa7b6342 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 3 Feb 2017 20:51:19 +0100 -Subject: [PATCH 10/32] Fix linking against static freetype2 +Subject: [PATCH 10/31] Fix linking against static freetype2 --- src/gui/configure.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/configure.json b/src/gui/configure.json -index 36325920cd..972f9914ea 100644 +index c89831c404..c51a1b0ce1 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json -@@ -238,8 +238,11 @@ +@@ -239,8 +239,11 @@ }, "headers": "ft2build.h", "sources": [ @@ -26,5 +26,5 @@ index 36325920cd..972f9914ea 100644 { "libs": "-lfreetype" } ], -- -2.24.0 +2.24.1 diff --git a/0011-Fix-linking-against-static-harfbuzz.patch b/0011-Fix-linking-against-static-harfbuzz.patch index 5f31b0691e2a..8c056b74914a 100644 --- a/0011-Fix-linking-against-static-harfbuzz.patch +++ b/0011-Fix-linking-against-static-harfbuzz.patch @@ -1,17 +1,17 @@ -From 9249ae7ad76508798e6af05cb1bf8cc1915afd82 Mon Sep 17 00:00:00 2001 +From 47cfe60f65a7a3dc8e300b72cd4df1aa5c7952c6 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:22:56 +0200 -Subject: [PATCH 11/32] Fix linking against static harfbuzz +Subject: [PATCH 11/31] 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 972f9914ea..894c10259d 100644 +index c51a1b0ce1..06becdaa41 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json -@@ -306,7 +306,11 @@ +@@ -307,7 +307,11 @@ }, "headers": "harfbuzz/hb.h", "sources": [ @@ -25,5 +25,5 @@ index 972f9914ea..894c10259d 100644 }, "imf": { -- -2.24.0 +2.24.1 diff --git a/0012-Fix-linking-against-static-pcre.patch b/0012-Fix-linking-against-static-pcre.patch index 8f3a71f31324..61b9ee5177b1 100644 --- a/0012-Fix-linking-against-static-pcre.patch +++ b/0012-Fix-linking-against-static-pcre.patch @@ -1,17 +1,17 @@ -From 31912a713ce6b8dfc4c19ce46137e2b62d368a72 Mon Sep 17 00:00:00 2001 +From 3b7985bd23118f396645b86a1ccc414540a1c148 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 +Subject: [PATCH 12/31] Fix linking against static pcre Change-Id: I3225c6e82dc4d17aef37d4289c16eb7a5ea3c5a1 --- - src/corelib/tools/qregularexpression.cpp | 4 ++++ + src/corelib/text/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 +diff --git a/src/corelib/text/qregularexpression.cpp b/src/corelib/text/qregularexpression.cpp +index 8d2187eb28..aaafb43039 100644 +--- a/src/corelib/text/qregularexpression.cpp ++++ b/src/corelib/text/qregularexpression.cpp @@ -53,6 +53,10 @@ #include <QtCore/qdatastream.h> @@ -24,5 +24,5 @@ index bdaa2d3243..90f8250c03 100644 #include <pcre2.h> -- -2.24.0 +2.24.1 diff --git a/0013-Fix-linking-against-shared-static-MariaDB.patch b/0013-Fix-linking-against-shared-static-MariaDB.patch index d79bc4383ace..1202f9b6bc65 100644 --- a/0013-Fix-linking-against-shared-static-MariaDB.patch +++ b/0013-Fix-linking-against-shared-static-MariaDB.patch @@ -1,7 +1,7 @@ -From f20041cf701ce3b8918ddb4bc00d89fbc223eabf Mon Sep 17 00:00:00 2001 +From 2ab64206b307901607110d750e17cadff1a337d4 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:56:55 +0200 -Subject: [PATCH 13/32] Fix linking against shared/static MariaDB +Subject: [PATCH 13/31] Fix linking against shared/static MariaDB Change-Id: I9722c154d845f288a2d4d1ab14a014066b28819b --- @@ -22,5 +22,5 @@ index cd20eef1df..babd0465ce 100644 { "type": "mysqlConfig", "query": "--libs", "cleanlibs": true }, { "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": false }, -- -2.24.0 +2.24.1 diff --git a/0014-Fix-linking-against-shared-static-PostgreSQL.patch b/0014-Fix-linking-against-shared-static-PostgreSQL.patch index 86c604c5b7b0..227599bebaf5 100644 --- a/0014-Fix-linking-against-shared-static-PostgreSQL.patch +++ b/0014-Fix-linking-against-shared-static-PostgreSQL.patch @@ -1,7 +1,7 @@ -From 1df4822044b7883c15f2daffe0f31785fffdeda1 Mon Sep 17 00:00:00 2001 +From 9032e7d6eef20df7722f49d4e6f6ad060d8a6755 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:58:25 +0200 -Subject: [PATCH 14/32] Fix linking against shared/static PostgreSQL +Subject: [PATCH 14/31] Fix linking against shared/static PostgreSQL --- src/plugins/sqldrivers/configure.json | 4 ++-- @@ -24,5 +24,5 @@ index babd0465ce..b4b3bdec6b 100644 ] }, -- -2.24.0 +2.24.1 diff --git a/0015-Rename-qtmain-to-qt5main.patch b/0015-Rename-qtmain-to-qt5main.patch index 98ed6d98b21b..8b5a5f92a1c3 100644 --- a/0015-Rename-qtmain-to-qt5main.patch +++ b/0015-Rename-qtmain-to-qt5main.patch @@ -1,7 +1,7 @@ -From 6d78391d7d88a4726926383c1fcadd85a85131c8 Mon Sep 17 00:00:00 2001 +From dd827f5dae7363c5bab406e8cd2291b6d623b2b9 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:25:40 +0200 -Subject: [PATCH 15/32] Rename qtmain to qt5main +Subject: [PATCH 15/31] Rename qtmain to qt5main Prevents conflict with mingw-w64-qt4 package --- @@ -12,7 +12,7 @@ Prevents conflict with mingw-w64-qt4 package 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf -index 5208d22bd6..1a058b787f 100644 +index 17d2a5efec..2975d371e3 100644 --- a/mkspecs/common/g++-win32.conf +++ b/mkspecs/common/g++-win32.conf @@ -84,7 +84,7 @@ QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 @@ -25,10 +25,10 @@ index 5208d22bd6..1a058b787f 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 314cd5cc67..a3cb474b67 100644 +index 346fbf2467..b8045753f0 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf -@@ -271,8 +271,8 @@ mac { +@@ -317,8 +317,8 @@ mac { CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll mingw { @@ -55,7 +55,7 @@ index 272170d428..17f3ef9c2d 100644 QMAKE_LIBS += $$lib } else { diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro -index 9cb6ab0c59..4327ba365e 100644 +index 1f54c846ec..162e7a4b1b 100644 --- a/src/winmain/winmain.pro +++ b/src/winmain/winmain.pro @@ -2,7 +2,7 @@ @@ -68,5 +68,5 @@ index 9cb6ab0c59..4327ba365e 100644 CONFIG += static -- -2.24.0 +2.24.1 diff --git a/0016-Enable-rpath-for-build-tools.patch b/0016-Enable-rpath-for-build-tools.patch index f78249bba3c5..5aa0b5fea7ca 100644 --- a/0016-Enable-rpath-for-build-tools.patch +++ b/0016-Enable-rpath-for-build-tools.patch @@ -1,7 +1,7 @@ -From ee81a9edd185e6b452a93de51fc5963a6dfce71f Mon Sep 17 00:00:00 2001 +From b1cc2e7f3e091f244473b7d03494abcb1dacbbd6 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 17:59:27 +0200 -Subject: [PATCH 16/32] Enable rpath for build tools +Subject: [PATCH 16/31] Enable rpath for build tools - Required because various tools depend on libQt5Bootstrap.so which resides in folder /usr/${_arch}/lib @@ -33,5 +33,5 @@ index 8354f30eea..30e8cf18c5 100644 INSTALLS += target -- -2.24.0 +2.24.1 diff --git a/0017-Use-system-zlib-for-build-tools.patch b/0017-Use-system-zlib-for-build-tools.patch index 28a2fc1fd2ca..161a46cb7c3a 100644 --- a/0017-Use-system-zlib-for-build-tools.patch +++ b/0017-Use-system-zlib-for-build-tools.patch @@ -1,17 +1,17 @@ -From 7819e3f236674e2bfb22f07bd91eaef0e0c7926e Mon Sep 17 00:00:00 2001 +From 622132bfd075976303af986dae4d878eccc292ca Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:04:42 +0200 -Subject: [PATCH 17/32] Use system zlib for build tools +Subject: [PATCH 17/31] 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 9863ff5e69..02329611bc 100644 --- a/src/tools/bootstrap/bootstrap.pro +++ b/src/tools/bootstrap/bootstrap.pro -@@ -135,7 +135,9 @@ macx { +@@ -154,7 +154,9 @@ macx { ../../corelib/io/qstandardpaths_win.cpp } @@ -23,5 +23,5 @@ index 83e44ff9a4..4734623936 100644 } else { CONFIG += no_core_dep -- -2.24.0 +2.24.1 diff --git a/0018-Merge-shared-and-static-library-trees.patch b/0018-Merge-shared-and-static-library-trees.patch index 1f2db1e84177..80e2ad478b00 100644 --- a/0018-Merge-shared-and-static-library-trees.patch +++ b/0018-Merge-shared-and-static-library-trees.patch @@ -1,9 +1,11 @@ -From fbda1fcb3f3bd84852a594f2bf8805db93e27294 Mon Sep 17 00:00:00 2001 +From b3ea7d1e0a967a4c07bfefdf65803ae3087dda1b Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:45:08 +0200 -Subject: [PATCH 18/32] Merge shared and static library trees +Subject: [PATCH 18/31] Merge shared and static library trees Allow installation of shared and static build in the same prefix + +Change-Id: I1de08df42d83d411aae519691cd3cde1fd6f3d1d --- configure.pri | 16 +++++++++++++++- mkspecs/features/default_post.prf | 11 +++++++++++ @@ -15,10 +17,10 @@ Allow installation of shared and static build in the same prefix 7 files changed, 74 insertions(+), 11 deletions(-) diff --git a/configure.pri b/configure.pri -index 3778ece180..c108b2843c 100644 +index 47882afeb6..05dc704cde 100644 --- a/configure.pri +++ b/configure.pri -@@ -652,7 +652,12 @@ defineTest(qtConfOutput_machineTuple) { +@@ -648,7 +648,12 @@ defineTest(qtConfOutput_machineTuple) { defineTest(qtConfOutput_commitOptions) { # qdevice.pri needs to be written early, because the compile tests require it. @@ -32,7 +34,7 @@ index 3778ece180..c108b2843c 100644 } # type (empty or 'host'), option name, default value -@@ -1342,3 +1347,12 @@ defineTest(createConfigStatus) { +@@ -1365,3 +1370,12 @@ defineTest(createConfigStatus) { QMAKE_POST_CONFIGURE += \ "createConfigStatus()" @@ -137,10 +139,10 @@ index 51ea3a8321..275e080ae4 100644 QMAKE_EXT_YACC = .y diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp -index 5c6e7e1281..0eeeb5fb5e 100644 +index 01d24418ce..914bb58f27 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp -@@ -3262,6 +3262,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir) +@@ -3229,6 +3229,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir) if (project->isActiveConfig("debug")) { ret += "d"; } @@ -150,20 +152,20 @@ index 5c6e7e1281..0eeeb5fb5e 100644 ret += Option::pkgcfg_ext; QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString(); if(!subdir.isEmpty()) { -@@ -3438,11 +3441,11 @@ MakefileGenerator::writePkgConfigFile() - t << endl; +@@ -3405,11 +3408,11 @@ MakefileGenerator::writePkgConfigFile() + t << Qt::endl; // requires - const QString requiresString = project->values("QMAKE_PKGCONFIG_REQUIRES").join(' '); - if (!requiresString.isEmpty()) { -- t << "Requires: " << requiresString << endl; +- t << "Requires: " << requiresString << Qt::endl; + t << "Requires:"; + const auto pkgconfigRequires = project->values("QMAKE_PKGCONFIG_REQUIRES"); + for (const auto &required : pkgconfigRequires) { + t << (project->isActiveConfig("staticlib") ? QStringLiteral(" Static") : QStringLiteral(" ")) << required.toQString(); } - - t << endl; + t << Qt::endl; } diff --git a/qtbase.pro b/qtbase.pro @@ -202,5 +204,5 @@ index c0ce0972ef..5a2deaf31d 100644 mkspecs.files -= $$PWD/mkspecs/modules $$PWD/mkspecs/modules-inst INSTALLS += mkspecs -- -2.24.0 +2.24.1 diff --git a/0019-Use-.dll.a-as-import-lib-extension.patch b/0019-Use-.dll.a-as-import-lib-extension.patch index 3ecfa27f6af7..060a8280ce4a 100644 --- a/0019-Use-.dll.a-as-import-lib-extension.patch +++ b/0019-Use-.dll.a-as-import-lib-extension.patch @@ -1,10 +1,12 @@ -From ddbf905975bdeb1e34a6e59262ad154562ccaf9a Mon Sep 17 00:00:00 2001 +From ca8a7fc78a4e88a58f96674104662c2306949dbf 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 +Subject: [PATCH 19/31] Use *.dll.a as import lib extension The variables used here are provided by g++-win32.conf + +Change-Id: I1175feedd96ef4940af87dc3662fedc8f4d1d764 --- mkspecs/features/create_cmake.prf | 5 +++-- mkspecs/features/qt.prf | 15 ++++++++++++--- @@ -12,10 +14,10 @@ g++-win32.conf 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf -index a3cb474b67..8539bd928f 100644 +index b8045753f0..cb4e136ded 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf -@@ -282,8 +282,9 @@ mac { +@@ -328,8 +328,9 @@ mac { CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl } else { @@ -57,10 +59,10 @@ index bbada46c29..d6299d8eed 100644 } } diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp -index 8222854cfc..17592c2492 100644 +index c1b28a52e9..3b4372ad05 100644 --- a/qmake/generators/win32/winmakefile.cpp +++ b/qmake/generators/win32/winmakefile.cpp -@@ -80,9 +80,13 @@ Win32MakefileGenerator::parseLibFlag(const ProString &flag, ProString *arg) +@@ -99,9 +99,13 @@ private: bool Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags) { @@ -74,10 +76,10 @@ index 8222854cfc..17592c2492 100644 + impexts.append(project->values("QMAKE_EXTENSION_IMPORTLIB")); + impexts.append(project->values("QMAKE_EXTENSION_STATICLIB")); + } - QList<QMakeLocalFileName> dirs; + QVector<LibrarySearchPath> dirs; int libidx = 0; for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS")) -@@ -257,9 +261,12 @@ void Win32MakefileGenerator::fixTargetExt() +@@ -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")) { @@ -92,5 +94,5 @@ index 8222854cfc..17592c2492 100644 + project->first("QMAKE_EXTENSION_SHLIB")); project->values("TARGET").first() = project->first("QMAKE_PREFIX_SHLIB") + project->first("TARGET"); -- -2.24.0 +2.24.1 diff --git a/0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch b/0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch index a74087dc2409..24be2a4de060 100644 --- a/0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch +++ b/0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch @@ -1,7 +1,7 @@ -From bf63f766c525dfb28c26f981397ad4fdfb171900 Mon Sep 17 00:00:00 2001 +From 7a38a4a01fd72504c0196bc100bbaaa7138f149b 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 +Subject: [PATCH 20/31] 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 @@ -21,14 +21,20 @@ 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. -Change-Id: Id818ed54ff2bfb86bfefee6e39ebc791e8343d3a +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 additions +in favour of 'how it used to work'. + +Change-Id: I6566d42d7e27d4cd23d261a0eacca9efad9ce6df --- - .../data/cmake/Qt5BasicConfig.cmake.in | 192 ++++++++++++------ - .../data/cmake/Qt5PluginTarget.cmake.in | 11 +- - 2 files changed, 136 insertions(+), 67 deletions(-) + .../data/cmake/Qt5BasicConfig.cmake.in | 223 ++++++++++-------- + .../data/cmake/Qt5PluginTarget.cmake.in | 84 +------ + 2 files changed, 135 insertions(+), 172 deletions(-) diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index f4a34d6e48..88ea04ce2c 100644 +index 364c23e750..a2ceede0cf 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -53,6 +53,10 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura @@ -187,7 +193,7 @@ index f4a34d6e48..88ea04ce2c 100644 !!ENDIF if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) -@@ -364,13 +399,15 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -380,13 +415,15 @@ 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") @@ -205,9 +211,9 @@ index f4a34d6e48..88ea04ce2c 100644 !!IF !equals(TEMPLATE, aux) !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1) -@@ -385,6 +422,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, ";")) +@@ -403,6 +440,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\") @@ -262,7 +268,7 @@ index f4a34d6e48..88ea04ce2c 100644 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}) -@@ -403,9 +490,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -421,9 +508,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) list(APPEND _Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS ${dep}Private) endif() endforeach() @@ -276,7 +282,7 @@ index f4a34d6e48..88ea04ce2c 100644 endif() !!IF !equals(TEMPLATE, aux) -@@ -475,9 +566,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -493,9 +584,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ELSE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) !!ENDIF @@ -290,7 +296,7 @@ index f4a34d6e48..88ea04ce2c 100644 !!ENDIF // CMAKE_RELEASE_TYPE !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD -@@ -488,33 +581,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -506,64 +599,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) ) !!ENDIF // TEMPLATE != aux @@ -298,7 +304,8 @@ index f4a34d6e48..88ea04ce2c 100644 - - file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\") - -- macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) +- 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) @@ -310,6 +317,36 @@ index f4a34d6e48..88ea04ce2c 100644 - 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(NOT CMAKE_VERSION VERSION_LESS \"3.13\" AND _static_link_flags) +- set(_static_link_flags_genex \"$<${_genex_condition}:${_static_link_flags}>\") +- set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_OPTIONS +- \"${_static_link_flags_genex}\" +- ) +- endif() +-!!ENDIF - endmacro() - - if (pluginTargets) @@ -325,28 +362,109 @@ index f4a34d6e48..88ea04ce2c 100644 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 +index 7b70cfed09..25f2162fe6 100644 --- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in +++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -@@ -1,11 +1,14 @@ +@@ -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,87 +17,14 @@ foreach(_module_dep ${_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES}) + endforeach() + !!IF !isEmpty(CMAKE_RELEASE_TYPE) --_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") +-!!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 +-) +-!!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 + _populate_$${CMAKE_MODULE_NAME}_plugin_properties(Qt5::$$CMAKE_MODULE_NAME Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") !!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}\") +-_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() + endif() +-set(_user_specified_genex +- \"$<IN_LIST:Qt5::$$CMAKE_PLUGIN_NAME,${_manual_plugins_genex};${_plugin_type_genex}>\" +-) +-string(CONCAT _plugin_genex +- \"$<$<OR:\" +- # Add this plugin if it\'s in the list of manual plugins or plugins for the type +- \"${_user_specified_genex},\" +- # Add this plugin if the list of plugins for the type is empty, the PLUGIN_EXTENDS +- # is either empty or equal to the module name, and the user hasn\'t blacklisted it +- \"$<AND:\" +- \"$<STREQUAL:${_plugin_type_genex},>,\" +- \"$<OR:\" +- \"$<STREQUAL:$<TARGET_PROPERTY:Qt5::$${CMAKE_PLUGIN_NAME},QT_PLUGIN_EXTENDS>,Qt5::$${CMAKE_MODULE_NAME}>,\" +- \"$<STREQUAL:$<TARGET_PROPERTY:Qt5::$${CMAKE_PLUGIN_NAME},QT_PLUGIN_EXTENDS>,>\" +- \">,\" +- \"$<NOT:$<IN_LIST:Qt5::$${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\") -- -2.24.0 +2.24.1 diff --git a/0021-Allow-usage-of-static-version-with-CMake.patch b/0021-Allow-usage-of-static-version-with-CMake.patch index 4249ddf7b16a..1ed096eed9d1 100644 --- a/0021-Allow-usage-of-static-version-with-CMake.patch +++ b/0021-Allow-usage-of-static-version-with-CMake.patch @@ -1,7 +1,7 @@ -From 2ded2c5cfa1619460df020409ab4328f38de31cd Mon Sep 17 00:00:00 2001 +From 79fd08a26dba663e22ea38d1ab0e59b20601c410 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sat, 5 Aug 2017 21:14:26 +0200 -Subject: [PATCH 21/32] Allow usage of static version with CMake +Subject: [PATCH 21/31] Allow usage of static version with CMake Allow selecting between dynamic and static Qt versions installed in the same prefix @@ -10,22 +10,24 @@ 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: Ib9411a9edbad2a82414b1af61075172a797f4318 --- - mkspecs/features/create_cmake.prf | 103 +++--- - .../data/cmake/Qt5BasicConfig.cmake.in | 297 ++++++++++++------ - .../data/cmake/Qt5PluginTarget.cmake.in | 18 +- + mkspecs/features/create_cmake.prf | 108 ++++--- + .../data/cmake/Qt5BasicConfig.cmake.in | 304 ++++++++++++------ + .../data/cmake/Qt5PluginTarget.cmake.in | 22 +- .../cmake/Qt5StaticOnlyRedirection.cmake.in | 11 + src/corelib/Qt5CoreConfigExtras.cmake.in | 24 +- src/gui/Qt5GuiConfigExtras.cmake.in | 8 +- src/testlib/Qt5TestConfigExtras.cmake.in | 2 +- - 7 files changed, 310 insertions(+), 153 deletions(-) + 7 files changed, 319 insertions(+), 160 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 8539bd928f..f8b37533a3 100644 +index cb4e136ded..02e28211ac 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf -@@ -65,7 +65,7 @@ split_incpath { +@@ -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 @@ -34,7 +36,7 @@ index 8539bd928f..f8b37533a3 100644 !build_pass:QMAKE_SUBSTITUTES += \ cmake_extra_source_includes -@@ -115,6 +115,8 @@ win32:!static:!staticlib { +@@ -118,6 +118,8 @@ win32:!static:!staticlib { } static|staticlib:CMAKE_STATIC_TYPE = true @@ -43,47 +45,60 @@ index 8539bd928f..f8b37533a3 100644 internal_module { CMAKE_INTERNAL_MODULE = true -@@ -182,17 +184,19 @@ contains(CONFIG, plugin) { - CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME +@@ -212,23 +214,25 @@ contains(CONFIG, plugin) { + CMAKE_PLUGIN_TYPE_ESCAPED = $$replace(PLUGIN_TYPE, [-/], _) win32 { - 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}d.dll ++ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.a ++ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}d.a + CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.prl + CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}d.prl - } 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}d.a +- CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}.prl +- CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${CMAKE_QT_STEM}d.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}d.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}d.lib ++ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.lib ++ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}d.lib + CMAKE_PRL_FILE_LOCATION_RELEASE = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}.prl + CMAKE_PRL_FILE_LOCATION_DEBUG = $$PLUGIN_TYPE/$${CMAKE_QT_STEM}d.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 -@@ -208,13 +212,13 @@ contains(CONFIG, plugin) { + isEmpty(CMAKE_STATIC_TYPE): CMAKE_PLUGIN_EXT = .dylib + else: CMAKE_PLUGIN_EXT = .a +@@ -248,9 +252,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 +@@ -259,7 +263,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() -@@ -227,25 +231,34 @@ mod_deps = +@@ -272,26 +276,34 @@ mod_deps = lib_deps = aux_mod_deps = aux_lib_deps = @@ -113,16 +128,16 @@ index 8539bd928f..f8b37533a3 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, ";") -+ 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 -@@ -274,35 +287,33 @@ mac { +@@ -320,35 +332,33 @@ mac { CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a @@ -177,7 +192,7 @@ index 8539bd928f..f8b37533a3 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 -@@ -322,12 +333,12 @@ mac { +@@ -368,12 +378,12 @@ mac { INSTALLS += cmake_qt5_module_files cmake_config_file.input = $$PWD/data/cmake/Qt5BasicConfig.cmake.in @@ -192,7 +207,7 @@ index 8539bd928f..f8b37533a3 100644 !build_pass:QMAKE_SUBSTITUTES += \ cmake_config_file \ -@@ -337,11 +348,29 @@ cmake_qt5_module_files.files = \ +@@ -383,11 +393,29 @@ cmake_qt5_module_files.files = \ $$cmake_config_file.output \ $$cmake_config_version_file.output @@ -223,7 +238,7 @@ index 8539bd928f..f8b37533a3 100644 !build_pass:QMAKE_SUBSTITUTES += cmake_extras_file -@@ -353,7 +382,7 @@ cmake_macros_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}Macros.cmake +@@ -399,7 +427,7 @@ cmake_macros_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}Macros.cmake exists($$cmake_macros_file.input) { CMAKE_MODULE_MACROS = "true" @@ -232,7 +247,7 @@ index 8539bd928f..f8b37533a3 100644 cmake_macros_file.CONFIG = verbatim !build_pass:QMAKE_SUBSTITUTES += cmake_macros_file -@@ -361,7 +390,7 @@ exists($$cmake_macros_file.input) { +@@ -407,7 +435,7 @@ exists($$cmake_macros_file.input) { cmake_qt5_module_files.files += $$cmake_macros_file.output } @@ -242,7 +257,7 @@ index 8539bd928f..f8b37533a3 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 88ea04ce2c..316a87aa85 100644 +index a2ceede0cf..5883af96d3 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) @@ -526,7 +541,7 @@ index 88ea04ce2c..316a87aa85 100644 $$VERSION ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT} ${_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET} ${_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED} -@@ -335,28 +408,32 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -335,25 +408,25 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) ) endif() @@ -563,6 +578,17 @@ index 88ea04ce2c..316a87aa85 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() +@@ -368,11 +441,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 @@ -571,7 +597,7 @@ index 88ea04ce2c..316a87aa85 100644 !!IF !isEmpty(CMAKE_INTERFACE_QT5_MODULE_DEPS) list(APPEND _Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_INTERFACE_QT5_MODULE_DEPS}\") -@@ -367,13 +444,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -383,13 +461,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!IF !isEmpty(CMAKE_DEBUG_TYPE) !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) _qt5_$${CMAKE_MODULE_NAME}_process_prl_file( @@ -587,7 +613,7 @@ index 88ea04ce2c..316a87aa85 100644 _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LINK_FLAGS ) -@@ -383,13 +460,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -399,13 +477,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!IF !isEmpty(CMAKE_RELEASE_TYPE) !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) _qt5_$${CMAKE_MODULE_NAME}_process_prl_file( @@ -603,14 +629,13 @@ index 88ea04ce2c..316a87aa85 100644 _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LINK_FLAGS ) -@@ -397,30 +474,44 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -413,32 +491,45 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ENDIF endif() - add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED) - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX") +!!ENDIF -+ set(TARGET_NAME ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}) +!!IF !isEmpty(CMAKE_STATIC_TYPE) + add_library(${TARGET_NAME} STATIC IMPORTED) + set_property(TARGET ${TARGET_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX") @@ -656,9 +681,12 @@ index 88ea04ce2c..316a87aa85 100644 + 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, ";")) +- 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\") -@@ -434,7 +525,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -452,7 +543,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) endforeach() endif() @@ -670,7 +698,7 @@ index 88ea04ce2c..316a87aa85 100644 set_property(TARGET ${PLUGIN_TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${CONFIG}) !!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) -@@ -442,7 +537,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -460,7 +555,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ELSE set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") !!ENDIF @@ -682,12 +710,16 @@ index 88ea04ce2c..316a87aa85 100644 set_target_properties(${PLUGIN_TARGET_NAME} PROPERTIES \"IMPORTED_LOCATION_${CONFIG}\" ${imported_location} ) -@@ -473,16 +572,16 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -490,17 +589,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() @@ -699,11 +731,11 @@ index 88ea04ce2c..316a87aa85 100644 - INTERFACE_INCLUDE_DIRECTORIES ${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 ${${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS} ++ INTERFACE_INCLUDE_DIRECTORIES ${${TARGET_NAME}_OWN_PRIVATE_INCLUDE_DIRS} ) set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS) foreach(dep ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}) -@@ -491,69 +590,72 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -509,69 +611,72 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) endif() endforeach() !!IF !isEmpty(CMAKE_STATIC_TYPE) @@ -799,7 +831,7 @@ index 88ea04ce2c..316a87aa85 100644 if (EXISTS !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" -@@ -566,7 +668,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -584,7 +689,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ELSE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) !!ENDIF @@ -808,7 +840,7 @@ index 88ea04ce2c..316a87aa85 100644 endif() !!ENDIF // CMAKE_STATIC_TYPE -@@ -576,19 +678,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -594,19 +699,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ENDIF // CMAKE_DEBUG_TYPE !!ELSE // TEMPLATE != aux @@ -837,16 +869,30 @@ index 88ea04ce2c..316a87aa85 100644 endif() diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -index ec5f3cc437..1e4d98086c 100644 +index 25f2162fe6..eb286293b7 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} +@@ -17,14 +17,22 @@ foreach(_module_dep ${_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES}) + endforeach() + !!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) @@ -855,6 +901,8 @@ index ec5f3cc437..1e4d98086c 100644 + _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) @@ -886,7 +934,7 @@ 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 9b672327ef..58d1d5b366 100644 --- a/src/corelib/Qt5CoreConfigExtras.cmake.in +++ b/src/corelib/Qt5CoreConfigExtras.cmake.in @@ -1,4 +1,6 @@ @@ -896,7 +944,7 @@ index e0652fdcf9..f0add757bb 100644 if (NOT TARGET Qt5::qmake) add_executable(Qt5::qmake IMPORTED) -@@ -50,9 +52,9 @@ set(Qt5Core_QMAKE_EXECUTABLE Qt5::qmake) +@@ -52,9 +54,9 @@ set(Qt5Core_QMAKE_EXECUTABLE Qt5::qmake) set(Qt5Core_MOC_EXECUTABLE Qt5::moc) set(Qt5Core_RCC_EXECUTABLE Qt5::rcc) @@ -909,7 +957,7 @@ index e0652fdcf9..f0add757bb 100644 COMPATIBLE_INTERFACE_STRING QT_MAJOR_VERSION QT_COORD_TYPE ) -@@ -63,7 +65,7 @@ foreach(_dir ${_qt5_corelib_extra_includes}) +@@ -65,7 +67,7 @@ foreach(_dir ${_qt5_corelib_extra_includes}) endforeach() list(APPEND Qt5Core_INCLUDE_DIRS ${_qt5_corelib_extra_includes}) @@ -918,7 +966,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) +@@ -80,7 +82,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. @@ -927,7 +975,7 @@ index e0652fdcf9..f0add757bb 100644 # TODO Qt6: Remove set(Qt5Core_EXECUTABLE_COMPILE_FLAGS \"\") -@@ -86,7 +88,7 @@ set(Qt5Core_EXECUTABLE_COMPILE_FLAGS \"\") +@@ -88,7 +90,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) @@ -936,7 +984,7 @@ index e0652fdcf9..f0add757bb 100644 !!ENDIF !!IF !isEmpty(CMAKE_DISABLED_FEATURES) -@@ -95,9 +97,9 @@ set(Qt5_DISABLED_FEATURES +@@ -97,9 +99,9 @@ set(Qt5_DISABLED_FEATURES ) !!ENDIF @@ -948,7 +996,7 @@ index e0652fdcf9..f0add757bb 100644 !!IF qtConfig(reduce_exports) set(QT_VISIBILITY_AVAILABLE \"True\") -@@ -145,14 +147,14 @@ if (NOT TARGET Qt5::WinMain) +@@ -147,14 +149,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>) @@ -1010,5 +1058,5 @@ index 2a575958ae..ca0e3be3b5 100644 INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\" ) -- -2.24.0 +2.24.1 diff --git a/0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch b/0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch index e5bdc2cc3a57..3b6042f5b998 100644 --- a/0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch +++ b/0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch @@ -1,7 +1,7 @@ -From afef15710db64b5892939103c7b95076b926703f Mon Sep 17 00:00:00 2001 +From 918b0fcbabce59d577fc50f20df512d58f49d975 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 2 Jun 2017 16:42:07 +0200 -Subject: [PATCH 22/32] Adjust linker flags for static build with +Subject: [PATCH 22/31] Adjust linker flags for static build with cmake/mingw-w64 Change-Id: I33b88976d8f5ce87ce431a6f422fe87785bf5b8d @@ -10,11 +10,11 @@ Change-Id: I33b88976d8f5ce87ce431a6f422fe87785bf5b8d 1 file changed, 7 insertions(+) diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in -index f0add757bb..5328da2e80 100644 +index 58d1d5b366..967dc64a19 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\") +@@ -179,3 +179,10 @@ if (ANDROID_PLATFORM) + endif() _qt5_Core_check_file_exists(${_Qt5CTestMacros}) + @@ -25,5 +25,5 @@ index f0add757bb..5328da2e80 100644 +unset(_isExe) +!!ENDIF -- -2.24.0 +2.24.1 diff --git a/0023-Use-correct-pkg-config-static-flag.patch b/0023-Use-correct-pkg-config-static-flag.patch index 64106dcb6749..3f3253e9c804 100644 --- a/0023-Use-correct-pkg-config-static-flag.patch +++ b/0023-Use-correct-pkg-config-static-flag.patch @@ -1,14 +1,14 @@ -From a618febf21e6118164eac2d0548e278bc2992941 Mon Sep 17 00:00:00 2001 +From c71d77d69a2b62bee1cd1b9dc704e2b56eef0c6e Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:50:21 +0200 -Subject: [PATCH 23/32] Use correct pkg-config --static flag +Subject: [PATCH 23/31] Use correct pkg-config --static flag --- configure.pri | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configure.pri b/configure.pri -index c108b2843c..9525dd6336 100644 +index 05dc704cde..60d55eb569 100644 --- a/configure.pri +++ b/configure.pri @@ -345,6 +345,9 @@ defineTest(qtConfTest_detectPkgConfig) { @@ -22,5 +22,5 @@ index c108b2843c..9525dd6336 100644 $$qtConfEvaluate("features.cross_compile") { # cross compiling, check that pkg-config is set up sanely -- -2.24.0 +2.24.1 diff --git a/0024-Fix-macro-invoking-moc-rcc-and-uic.patch b/0024-Fix-macro-invoking-moc-rcc-and-uic.patch index 99cf9aea76cf..dd7f66ccacff 100644 --- a/0024-Fix-macro-invoking-moc-rcc-and-uic.patch +++ b/0024-Fix-macro-invoking-moc-rcc-and-uic.patch @@ -1,7 +1,7 @@ -From 66b806863d218a367f67b8d0a75610b614ff13b3 Mon Sep 17 00:00:00 2001 +From f2e043c1c3d6e268ac890062068ff4bb3306d2ff Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 4 Dec 2016 20:35:47 +0100 -Subject: [PATCH 24/32] Fix macro invoking moc, rcc and uic +Subject: [PATCH 24/31] Fix macro invoking moc, rcc and uic * Otherwise the arguments aren't passed correctly leading to errors like ``` @@ -18,7 +18,7 @@ Change-Id: I6fde86d0a3ade37b4376604a1eb6d5723eda8b4c 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake -index 0f006fe1e3..1db4bed272 100644 +index 17cc19fc4e..29022697a4 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 @@ -70,5 +70,5 @@ index 737371a5ad..d103278cdf 100644 MAIN_DEPENDENCY ${infile} VERBATIM) set_source_files_properties(${infile} PROPERTIES SKIP_AUTOUIC ON) -- -2.24.0 +2.24.1 diff --git a/0025-Ignore-errors-about-missing-feature-static.patch b/0025-Ignore-errors-about-missing-feature-static.patch index 8cfe19d0b2f6..9e24895c5320 100644 --- a/0025-Ignore-errors-about-missing-feature-static.patch +++ b/0025-Ignore-errors-about-missing-feature-static.patch @@ -1,7 +1,7 @@ -From b5fccc2c7f1da12f76fa55d15f32f2c0d80f820c Mon Sep 17 00:00:00 2001 +From 3b2e2f35716d183cba076dfea9de6ce73bd2ed1d Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Wed, 25 Jan 2017 20:59:54 +0100 -Subject: [PATCH 25/32] Ignore errors about missing feature static +Subject: [PATCH 25/31] 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 8a7c9c28d3..003a694f44 100644 +index 8273ba3fe1..4cdb55d4b3 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf -@@ -143,5 +143,5 @@ defineTest(qtConfig) { +@@ -150,5 +150,5 @@ defineTest(qtConfig) { contains(QT.$${module}.disabled_features, $$1): \ return(false) } @@ -21,10 +21,10 @@ index 8a7c9c28d3..003a694f44 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 661b7dd961..86c873e3fd 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf -@@ -348,5 +348,5 @@ defineTest(qtConfig) { +@@ -359,5 +359,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.24.0 +2.24.1 diff --git a/0026-Enable-and-fix-use-of-iconv.patch b/0026-Enable-and-fix-use-of-iconv.patch index ab235be98f67..ce2faf169bcc 100644 --- a/0026-Enable-and-fix-use-of-iconv.patch +++ b/0026-Enable-and-fix-use-of-iconv.patch @@ -1,7 +1,7 @@ -From 302e9b9cc7d031079f174d4cede3f9407a254b29 Mon Sep 17 00:00:00 2001 +From 14edd208b85c55eb5e313600752e769627199cde Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Wed, 25 Jan 2017 21:08:20 +0100 -Subject: [PATCH 26/32] Enable and fix use of iconv +Subject: [PATCH 26/31] Enable and fix use of iconv Change-Id: I5f0ab27afca0800dec11c7af74d196190820ae5c --- @@ -49,7 +49,7 @@ index 9c39727946..cc14036b25 100644 #else char **inBytesPtr = &inBytes; diff --git a/src/corelib/configure.json b/src/corelib/configure.json -index 1b01b2b817..4247c10b03 100644 +index ae360239c6..5fd57a1a66 100644 --- a/src/corelib/configure.json +++ b/src/corelib/configure.json @@ -72,7 +72,7 @@ @@ -61,7 +61,7 @@ index 1b01b2b817..4247c10b03 100644 "char *outp;", "size_t inbytes, outbytes;", "iconv(x, &inp, &inbytes, &outp, &outbytes);", -@@ -632,9 +632,9 @@ +@@ -672,9 +672,9 @@ }, "gnu-libiconv": { "label": "GNU iconv", @@ -74,5 +74,5 @@ index 1b01b2b817..4247c10b03 100644 }, "icu": { -- -2.24.0 +2.24.1 diff --git a/0027-Ignore-failing-pkg-config-test.patch b/0027-Ignore-failing-pkg-config-test.patch index 0988bde57ec8..60d97e003ec1 100644 --- a/0027-Ignore-failing-pkg-config-test.patch +++ b/0027-Ignore-failing-pkg-config-test.patch @@ -1,7 +1,7 @@ -From 548b80f87af82a5ce41400748c0492769821657d Mon Sep 17 00:00:00 2001 +From d608eb4d39293401ba8cdf887385c4231c1eaae4 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Wed, 25 Jan 2017 21:08:48 +0100 -Subject: [PATCH 27/32] Ignore failing pkg-config test +Subject: [PATCH 27/31] 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 36545a593b..087c2f6419 100644 +index bf7c14906f..19221ba008 100644 --- a/configure.json +++ b/configure.json -@@ -728,7 +728,6 @@ +@@ -755,7 +755,6 @@ "pkg-config": { "label": "Using pkg-config", "autoDetect": "!config.darwin && !config.win32", @@ -21,5 +21,5 @@ index 36545a593b..087c2f6419 100644 "publicFeature", { "type": "publicQtConfig", "negative": true }, -- -2.24.0 +2.24.1 diff --git a/0028-Prevent-qmake-from-messing-static-lib-dependencies.patch b/0028-Prevent-qmake-from-messing-static-lib-dependencies.patch index 91cf089e3721..27265ae6d5ef 100644 --- a/0028-Prevent-qmake-from-messing-static-lib-dependencies.patch +++ b/0028-Prevent-qmake-from-messing-static-lib-dependencies.patch @@ -1,43 +1,45 @@ -From 27693312f0cd1911215e23fd6d20ed1022b247e3 Mon Sep 17 00:00:00 2001 +From 479bc0ec33883ccc56930eb0bf54530acd4bd2dc Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Tue, 7 Feb 2017 18:25:28 +0100 -Subject: [PATCH 28/32] Prevent qmake from messing static lib dependencies +Subject: [PATCH 28/31] 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 d7c9413290..3026318a70 100644 +index f7bd6dc663..b76c444012 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 17592c2492..26f3f5cd82 100644 +index 3b4372ad05..cd10225e99 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")) -- -2.24.0 +2.24.1 diff --git a/0029-Hardcode-linker-flags-for-platform-plugins.patch b/0029-Hardcode-linker-flags-for-platform-plugins.patch index 8754a4dbd98b..3562d5032326 100644 --- a/0029-Hardcode-linker-flags-for-platform-plugins.patch +++ b/0029-Hardcode-linker-flags-for-platform-plugins.patch @@ -1,20 +1,22 @@ -From 4956ef34ebadffb50a27e5d81762d7e349be5339 Mon Sep 17 00:00:00 2001 +From 6779a50c73ed1683dca19efc018b6f657c146a91 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 +Subject: [PATCH 29/31] 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 + +Change-Id: Ibff901ecce864ae8d5ca2adbe37bcec28e5912f3 --- 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(-) + src/plugins/platforms/windows/windows.pro | 33 +++++++++++++------ + 4 files changed, 73 insertions(+), 19 deletions(-) diff --git a/src/plugins/platforms/direct2d/direct2d.pro b/src/plugins/platforms/direct2d/direct2d.pro -index 9764272632..25994da1da 100644 +index 6e73bd14f9..e009a5387a 100644 --- a/src/plugins/platforms/direct2d/direct2d.pro +++ b/src/plugins/platforms/direct2d/direct2d.pro @@ -1,12 +1,32 @@ @@ -53,8 +55,8 @@ index 9764272632..25994da1da 100644 +LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5WindowsUIAutomationSupport.$${QMAKE_EXTENSION_STATICLIB} +INCLUDEPATH += $$QT_SOURCE_TREE/include/Qt5WindowsUIAutomationSupport/$${QT_VERSION} - LIBS += -ldwmapi -lversion -lgdi32 - QMAKE_USE_PRIVATE += dwrite_1 d2d1_1 d3d11_1 dxgi1_2 + 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 a1a2da547b..e32225d9b9 100644 --- a/src/plugins/platforms/minimal/minimal.pro @@ -107,10 +109,10 @@ index f226132592..d8ab86b322 100644 DEFINES += QT_NO_FOREACH diff --git a/src/plugins/platforms/windows/windows.pro b/src/plugins/platforms/windows/windows.pro -index 174bc7b609..285d90c6d3 100644 +index 50a3bb41a9..285d90c6d3 100644 --- a/src/plugins/platforms/windows/windows.pro +++ b/src/plugins/platforms/windows/windows.pro -@@ -1,14 +1,28 @@ +@@ -1,15 +1,28 @@ TARGET = qwindows -QT += \ @@ -121,7 +123,8 @@ index 174bc7b609..285d90c6d3 100644 -qtConfig(accessibility): QT += accessibility_support-private -qtConfig(vulkan): QT += vulkan_support-private - --LIBS += -lgdi32 -ldwmapi +-LIBS += -ldwmapi +-QMAKE_USE_PRIVATE += gdi32 +QT += core-private gui-private + +# Fix linker error when building libqwindows.dll by specifying linker flags for @@ -149,5 +152,5 @@ index 174bc7b609..285d90c6d3 100644 include(windows.pri) -- -2.24.0 +2.24.1 diff --git a/0030-Fix-linking-against-static-plugins-with-qmake.patch b/0030-Fix-linking-against-static-plugins-with-qmake.patch index 540405268dc0..78a46018f27e 100644 --- a/0030-Fix-linking-against-static-plugins-with-qmake.patch +++ b/0030-Fix-linking-against-static-plugins-with-qmake.patch @@ -1,7 +1,7 @@ -From ef72bc6a1e58813a89587ca11bb27e039cba2fc5 Mon Sep 17 00:00:00 2001 +From 2860688da70e78bbff63e0089d41364e528b73f4 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 25 Aug 2017 17:07:17 +0200 -Subject: [PATCH 30/32] Fix linking against static plugins with qmake +Subject: [PATCH 30/31] Fix linking against static plugins with qmake Required because qtConfig(static) does not work with 'Merge shared and static library trees' @@ -33,5 +33,5 @@ index d6299d8eed..5311748953 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.24.0 +2.24.1 diff --git a/0032-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch b/0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch index 8c18ed6c0b9a..882692f05fdd 100644 --- a/0032-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch +++ b/0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch @@ -1,7 +1,7 @@ -From 371d6eafd848635479a988a20e16d05d0a72db77 Mon Sep 17 00:00:00 2001 +From a56c12fc0a7428ca32dc7e7f4f54ed725ef288fa Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Mon, 24 Jun 2019 13:51:02 +0200 -Subject: [PATCH 32/32] Prevent 'Cannot find feature windows_vulkan_sdk' +Subject: [PATCH 31/31] Prevent 'Cannot find feature windows_vulkan_sdk' See https://bugreports.qt.io/browse/QTBUG-76660 --- @@ -18,7 +18,7 @@ index da061422dc..a5a8ec68d2 100644 +load(win32/windows_vulkan_sdk) QMAKE_LIBS_VULKAN = diff --git a/mkspecs/features/qmake_use.prf b/mkspecs/features/qmake_use.prf -index 64faa4f215..f899792e4e 100644 +index 8475e4111a..c0eb8faa17 100644 --- a/mkspecs/features/qmake_use.prf +++ b/mkspecs/features/qmake_use.prf @@ -15,7 +15,9 @@ for(ever) { @@ -33,5 +33,5 @@ index 64faa4f215..f899792e4e 100644 LD_USES = $$resolve_depends(LD_USES, QMAKE_DEPENDS_, _LD) for (nu, LD_USES) { -- -2.24.0 +2.24.1 diff --git a/0031-Prevent-static-build-to-prefer-dynamic-libraries.patch b/0031-Prevent-static-build-to-prefer-dynamic-libraries.patch deleted file mode 100644 index 6b262a3f648a..000000000000 --- a/0031-Prevent-static-build-to-prefer-dynamic-libraries.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 51a0ac0ff3a726f88af9e8cd472779b33117d304 Mon Sep 17 00:00:00 2001 -From: Martchus <martchus@gmx.net> -Date: Sun, 3 Feb 2019 14:34:42 +0100 -Subject: [PATCH 31/32] 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 81110e9f6d..61f7cf27d1 100644 ---- a/mkspecs/features/qt_configure.prf -+++ b/mkspecs/features/qt_configure.prf -@@ -577,12 +577,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.24.0 - @@ -32,8 +32,8 @@ isNoOpenGL() { } pkgname=mingw-w64-qt5-base -pkgver=5.13.2 -pkgrel=2 +pkgver=5.14.0 +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') @@ -47,7 +47,7 @@ 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-vulkan-headers' 'mingw-w64-pkg-config' 'mingw-w64-environment') # For running fxc.exe WINE coulde be used: #if isANGLE || isDynamic; then # makedepends+=('mingw-w64-wine') @@ -85,41 +85,39 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/subm '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-static-build-to-prefer-dynamic-libraries.patch' - '0032-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch') -sha256sums=('26b6b686d66a7ad28eaca349e55e2894e5a735f3831e45f2049e93b1daa92121' - '35196184205cb58bdb1ade09c02bfc660679ed4af6dc1d807a24f1c52999545e' - '4c66ecd2e2e215afb7f53382139b5a3a9cc87bfec2dd75af3ab8111ce3556378' - 'dcc5acb3e160b99101b967bd696dd48a099c65754b3908c16b46c1703f134e08' - '586bea4aa870423778eb497df48479819aa50de8d07977327eb1a0f84565813a' - 'b5363b325198c3cfaba6437d21cc2cde6c5843d33475fc559f9eae4b20e0c867' - '9f835025a78ab4d7dd08b1a2cb5d499790b8e01a3039741f50c93bc6722f3c71' - '5217bae23859289898060a05769cc6088852f09206d7fc681cdcb492353be219' - '39d32e743984904c878616afb8ffd16ad5421bc2e67606831a4245b9ef924c7b' - 'f5fc4b36f288bb59d662c58b49a15de84f60be05d13e89719342893138f9a903' - '48f5efe578913656ab79a35f899e15bd09fde58cc10adf8f7f5dbdc0a5022b7d' - 'f89779100c07431fee063e0f40bcb0006662794afa522e9c5a57ac1eca24f621' - 'f5ea9cc35754556045dd2dc07745bca89f677ade9b8566539c717d35f4ae0bd1' - '212aeb8f2f287108d2d884c17c2f55177b8f3c39e10357e36c2f1ef2e582a12a' - '2e7145b8a8fca349ce5838d4241d29059dd421c8722260cda5d063b75ffe3b5f' - 'c0eff682bbc11e2258c5c40591d0222e88af0d2c136b3cede8e4792a7efba2d3' - '8d3879a05e0fe574671bb8952393a4e7ca44183e8116053dbf01776b2d6ad4cf' - '8b06afd5adab795a47520f1dfdb8827507f8d451eb98a02dbf1b57ede08fa6e2' - '21f7e13919ec7d6ae88835ce34185f7d3ff3c541a1a7bad25e4354fac0201723' - '5e08c43b1a4bfc1dfe93330119cfb85d5de873b8642cbf920d4cfbdad05a7ce5' - 'ee0412e276bac12f57f1019807f678818cc3b166afaa2523e6d3cfbcc6baf5bf' - 'f5f57e3b1e6314203bb3a98d7ad47c46b4894651b7d4e74749df6b7f0f7548f5' - '22bdbef1d761426c0388a5335c2b80be52aa75e83c75f1d134eba70091de59ed' - 'fd37d3c487790922e6dede40964d6a8abab9908d674413748c37672863374a65' - '1c4b6e6bbc985b742e4d2124b7be002948b2cb43be4524b8b713253f2afebe96' - '94de3861dedd76133bd3e42793f3db3a1e8b52a921095ff853038cb5b4064a5f' - 'cd4c07f83cad7b8b1fb2995a398a3ac2ed9b4606efc0154231821db7f793676c' - 'b15f3a0d0dd1c14c5728444ad449f2753f6c668e73e6e2ad0477fab405c338e9' - '45af95f6f2e228f04ee3e39756cf752a04a0e58da5ed445ab79dbac0c8c7472f' - '29ded7cd3b82e31660d4559f0d2cefde8e18af8c4cea34fd816096946ad72189' - '13aa6ba82a4a28099c0219060deab3d3023424a8c5dcf8df6b105f3831a9a184' - '095a39a517844a3c3ce9282a44f39478dc6d5661b6be7f5b8517f195f0fe1b14' - 'f8aa4f1a129d0fd98f71e9a108513ff9ca78b3d86a80554e830cf6f1ba5edb00') + '0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch') +sha256sums=('4ef921c0f208a1624439801da8b3f4344a3793b660ce1095f2b7f5c4246b9463' + '1f4fd0f8518160f3ec0e5bc39226d857387aa4caec897201999d8eada2b328ef' + '450aba36cf8c60a8659406f9367a85e2055a40e1cf0a8711c6de44de1927d857' + '7899cdcd3450f5f0bb9cb4cd71ac6529285d4368586e1a2fabb4e14d7b3dee67' + '579595a48fa45191941f393defe155c57d02426e6eba1296f3f7f501f6f32576' + '1d233841e73c8f69a1d09b666438b26299530b23ac354e6e1e0ccbe58f3ed54c' + '56bdecf98463853875e257cc347141967d1edd48e21b0724d16012dd1cc8ef90' + '28155531ed86617a074c7a2ac8d753c052707034009ad5dcbf0f2c6dc00ee977' + '8f5c7da6b4ae5ce95d887372398fb147678748bca1b8970901bb0417b3440423' + 'f1f71a736d2cbe9aa3ac04343ae171ef3fda32b5db93bd189c9fc5510c9210e4' + 'c4b45dd1d19331caaa7ac89cb0d276cb6ec53ee1d2ed2f72fb119d1af000e907' + '2d74d87a8da273ed296890a7a717ea8c84242a2af534830ba07a44be88d90d70' + '37f11888ee60b68570b759ec66e1ab49e0bb0df0663b808380df5b34f054b5fe' + '68d3eeea07f398133d068151ca5ba65d5bf4e1396a7db739cdd77377e261a785' + '6e5ab1df1c7aac94259aca4bb8c8469939a944104cc847ddf4fdaf7f278dd225' + '4e421ed2b892911725a4a3e6aad9803339dc6d27af9a5caba0dcf082f5a08fa7' + 'f0629049a60362f83ebd3e9a6a67d71274e9c2f2eae21ba97062b8d5b11d759a' + '31d08dbfde790dd702d87f3b995322118919fc9828f22c9b1c044e912ae6f870' + '8ab7f64f5d017b650c39aa6e845252be71e4f37a1bfdfeee0f17aec65e233728' + '6c95b8fa7ed5a2c8fb48a237d172916c6b1f3197f32b3e627216d6c9759bce14' + '74a4fe7f163bba1312cda135c983644260cc8794cdd950385212911eb27d985c' + '7e415f8aad7d950add53466406ea3e0cb67180ce6493ea768937bb96ff8de33d' + 'eb02f4a52b712dcf8bffe57cec420b77bea060e8227f28239056b0721c494075' + '62a99e8e345fe776619fb5928334c40d4116e7fae59c773de70ef690dfec1d5f' + '87e271140d4a831a9feac53a7d0d7fae0fee9a1c20040a3181a43472c3e6f15a' + 'c5162eac72b87e34fcbc64c53f38c0a3dd2b174cdb049db258d899510c4febfb' + '1d4956c53a0759988d68ebfcae12d74f1332db075efdd85d762629d12421678c' + 'fd2eeb783fcc83fa7951b7fd07a87033f0229827282b4142047378297688a4b9' + 'c9cb158dbc2d5446f36f031478e7174188660150a1b7bcb94d7f761a51aa7342' + '7611dcb33265962ecfab480771db0360f1083c7672ba874b83b335e18d8909a5' + 'f5b2a9a54eacc2d86531005b222dff7a3313430baa55d5bae407a5fdb6028d07' + '65889bbb2ed14dd9e7a884a6a9015b883bbfc0d558210cc296bb3d41bee4212e') _architectures='i686-w64-mingw32 x86_64-w64-mingw32' @@ -146,22 +144,20 @@ 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} - # make sure the Qt 5 build system uses 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 -fstack-protector}" + # clear buildflags ('!buildflags' only effects build() but not prepare()) + unset CPPFLAGS CFLAGS CXXFLAGS LDFLAGS PKG_CONFIG_PATH + + # 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 } @@ -169,15 +165,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="\ |