diff options
-rw-r--r-- | .SRCINFO | 139 | ||||
-rw-r--r-- | 0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch | 20 | ||||
-rw-r--r-- | 0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch | 8 | ||||
-rw-r--r-- | 0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch (renamed from 0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch) | 6 | ||||
-rw-r--r-- | 0003-Use-external-ANGLE-library.patch | 97 | ||||
-rw-r--r-- | 0004-Make-sure-.pc-files-are-installed-correctly.patch (renamed from 0005-Make-sure-.pc-files-are-installed-correctly.patch) | 10 | ||||
-rw-r--r-- | 0005-Don-t-add-resource-files-to-LIBS-parameter.patch (renamed from 0006-Don-t-add-resource-files-to-LIBS-parameter.patch) | 6 | ||||
-rw-r--r-- | 0006-Prevent-debug-library-names-in-pkg-config-files.patch (renamed from 0007-Prevent-debug-library-names-in-pkg-config-files.patch) | 8 | ||||
-rw-r--r-- | 0007-Fix-linking-against-shared-static-libpng.patch (renamed from 0008-Fix-linking-against-shared-static-libpng.patch) | 8 | ||||
-rw-r--r-- | 0008-Fix-linking-against-static-D-Bus.patch (renamed from 0009-Fix-linking-against-static-D-Bus.patch) | 10 | ||||
-rw-r--r-- | 0009-Don-t-try-to-use-debug-version-of-D-Bus-library.patch (renamed from 0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch) | 10 | ||||
-rw-r--r-- | 0010-Fix-linking-against-static-freetype2.patch (renamed from 0011-Fix-linking-against-static-freetype2.patch) | 8 | ||||
-rw-r--r-- | 0011-Fix-linking-against-static-harfbuzz.patch (renamed from 0012-Fix-linking-against-static-harfbuzz.patch) | 8 | ||||
-rw-r--r-- | 0012-Fix-linking-against-static-pcre.patch (renamed from 0013-Fix-linking-against-static-pcre.patch) | 6 | ||||
-rw-r--r-- | 0013-Fix-linking-against-shared-static-MariaDB.patch (renamed from 0014-Fix-linking-against-shared-static-MariaDB.patch) | 6 | ||||
-rw-r--r-- | 0014-Fix-linking-against-shared-static-PostgreSQL.patch (renamed from 0015-Fix-linking-against-shared-static-PostgreSQL.patch) | 6 | ||||
-rw-r--r-- | 0015-Rename-qtmain-to-qt5main.patch (renamed from 0016-Rename-qtmain-to-qt5main.patch) | 32 | ||||
-rw-r--r-- | 0016-Enable-rpath-for-build-tools.patch (renamed from 0018-Enable-rpath-for-build-tools.patch) | 6 | ||||
-rw-r--r-- | 0017-Build-dynamic-host-libraries.patch | 41 | ||||
-rw-r--r-- | 0017-Use-system-zlib-for-build-tools.patch (renamed from 0019-Use-system-zlib-for-build-tools.patch) | 6 | ||||
-rw-r--r-- | 0018-Merge-shared-and-static-library-trees.patch (renamed from 0021-Merge-shared-and-static-library-trees.patch) | 101 | ||||
-rw-r--r-- | 0019-Use-.dll.a-as-import-lib-extension.patch (renamed from 0020-Use-.dll.a-as-import-lib-extension.patch) | 46 | ||||
-rw-r--r-- | 0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch (renamed from 0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch) | 245 | ||||
-rw-r--r-- | 0021-Allow-usage-of-static-version-with-CMake.patch (renamed from 0023-Allow-usage-of-static-version-with-CMake.patch) | 243 | ||||
-rw-r--r-- | 0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch (renamed from 0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch) | 6 | ||||
-rw-r--r-- | 0023-Use-correct-pkg-config-static-flag.patch (renamed from 0025-Use-correct-pkg-config-static-flag.patch) | 10 | ||||
-rw-r--r-- | 0024-Fix-macro-invoking-moc-rcc-and-uic.patch (renamed from 0026-Fix-macro-invoking-moc-rcc-and-uic.patch) | 8 | ||||
-rw-r--r-- | 0025-Ignore-errors-about-missing-feature-static.patch (renamed from 0027-Ignore-errors-about-missing-feature-static.patch) | 6 | ||||
-rw-r--r-- | 0026-Enable-and-fix-use-of-iconv.patch (renamed from 0028-Enable-and-fix-use-of-iconv.patch) | 12 | ||||
-rw-r--r-- | 0027-Ignore-failing-pkg-config-test.patch (renamed from 0029-Ignore-failing-pkg-config-test.patch) | 10 | ||||
-rw-r--r-- | 0028-Prevent-qmake-from-messing-static-lib-dependencies.patch (renamed from 0030-Prevent-qmake-from-messing-static-lib-dependencies.patch) | 8 | ||||
-rw-r--r-- | 0029-Hardcode-linker-flags-for-platform-plugins.patch (renamed from 0031-Hardcode-linker-flags-for-platform-plugins.patch) | 48 | ||||
-rw-r--r-- | 0030-Fix-linking-against-static-plugins-with-qmake.patch (renamed from 0032-Fix-linking-against-static-plugins-with-qmake.patch) | 8 | ||||
-rw-r--r-- | 0031-Disable-hardware-randomizer-for-32-bit.patch (renamed from 0033-Disable-hardware-randomizer-for-32-bit.patch) | 6 | ||||
-rw-r--r-- | 0032-Prevent-static-build-to-prefer-dynamic-libraries.patch (renamed from 0034-Prevent-static-build-to-prefer-dynamic-libraries.patch) | 10 | ||||
-rw-r--r-- | 0033-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch | 34 | ||||
-rw-r--r-- | PKGBUILD | 205 | ||||
-rw-r--r-- | README.md | 15 |
38 files changed, 729 insertions, 733 deletions
@@ -1,6 +1,6 @@ pkgbase = mingw-w64-qt5-base-angle pkgdesc = A cross-platform application and UI framework (mingw-w64) - pkgver = 5.12.3 + pkgver = 5.13.0 pkgrel = 1 url = https://www.qt.io/ arch = i686 @@ -13,6 +13,7 @@ pkgbase = mingw-w64-qt5-base-angle makedepends = mingw-w64-gcc makedepends = mingw-w64-postgresql makedepends = mingw-w64-mariadb-connector-c + makedepends = mingw-w64-vulkan-headers makedepends = mingw-w64-pkg-config depends = mingw-w64-crt depends = mingw-w64-zlib @@ -23,7 +24,7 @@ pkgbase = mingw-w64-qt5-base-angle depends = mingw-w64-dbus depends = mingw-w64-harfbuzz depends = mingw-w64-pcre2 - depends = mingw-w64-angleproject + optdepends = mingw-w64-mesa: use LLVMpipe software rasterizer for Qt Quick optdepends = mingw-w64-postgresql: PostgreSQL support optdepends = mingw-w64-mariadb-connector-c: MySQL support provides = mingw-w64-qt5-base @@ -36,76 +37,74 @@ pkgbase = mingw-w64-qt5-base-angle options = !buildflags options = staticlibs options = !emptydirs - source = https://download.qt.io/official_releases/qt/5.12/5.12.3/submodules/qtbase-everywhere-src-5.12.3.tar.xz + source = https://download.qt.io/official_releases/qt/5.13/5.13.0/submodules/qtbase-everywhere-src-5.13.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-Use-external-ANGLE-library.patch - source = 0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch - source = 0005-Make-sure-.pc-files-are-installed-correctly.patch - source = 0006-Don-t-add-resource-files-to-LIBS-parameter.patch - source = 0007-Prevent-debug-library-names-in-pkg-config-files.patch - source = 0008-Fix-linking-against-shared-static-libpng.patch - source = 0009-Fix-linking-against-static-D-Bus.patch - source = 0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch - source = 0011-Fix-linking-against-static-freetype2.patch - source = 0012-Fix-linking-against-static-harfbuzz.patch - source = 0013-Fix-linking-against-static-pcre.patch - source = 0014-Fix-linking-against-shared-static-MariaDB.patch - source = 0015-Fix-linking-against-shared-static-PostgreSQL.patch - source = 0016-Rename-qtmain-to-qt5main.patch - source = 0017-Build-dynamic-host-libraries.patch - source = 0018-Enable-rpath-for-build-tools.patch - source = 0019-Use-system-zlib-for-build-tools.patch - source = 0020-Use-.dll.a-as-import-lib-extension.patch - source = 0021-Merge-shared-and-static-library-trees.patch - source = 0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch - source = 0023-Allow-usage-of-static-version-with-CMake.patch - source = 0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch - source = 0025-Use-correct-pkg-config-static-flag.patch - source = 0026-Fix-macro-invoking-moc-rcc-and-uic.patch - source = 0027-Ignore-errors-about-missing-feature-static.patch - source = 0028-Enable-and-fix-use-of-iconv.patch - source = 0029-Ignore-failing-pkg-config-test.patch - source = 0030-Prevent-qmake-from-messing-static-lib-dependencies.patch - source = 0031-Hardcode-linker-flags-for-platform-plugins.patch - source = 0032-Fix-linking-against-static-plugins-with-qmake.patch - source = 0033-Disable-hardware-randomizer-for-32-bit.patch - source = 0034-Prevent-static-build-to-prefer-dynamic-libraries.patch - sha256sums = fddfd8852ef7503febeed67b876d1425160869ae2b1ae8e10b3fb0fedc5fe701 - sha256sums = 813332969dbfd7fcc8af3d23457eea0ce3b3a54ed9b9eae62b431529b8f60b22 - sha256sums = 96b9e2fb177de9c8cfe8c8cd601705981d4c223eef9fc582ec0f45d26c6b6d7f - sha256sums = b1aa13e0e6e28718edb11520660954101c662f6b6945a83cb4e84ff7de5c0922 - sha256sums = 2be87f841ac2104f44114ec65dbd35f8bf8280176b9341015b99aa7dd6756967 - sha256sums = c61a62a241b0d03354b523dd9d4ae811e55b12e6e2683c45a3bfd67574e2ad8a - sha256sums = 1050833662659481606f94a2f4a95f764e7d1ae8b9d015a497b508884cd755d0 - sha256sums = eea4870ab1394e9473fe1cee2d856bb5d0d31b68ec91b20d45c882893049a9f6 - sha256sums = 11a4267ae9fa3d49046945ba7e0867b400364f0475c2d36814af45fbc4c3f2f0 - sha256sums = 2b977aba78484cb01208300d02a9ce945edfa0ac73ad91c9331cb73851c9b85d - sha256sums = d9e8736c57f5f8841238fe131508d29d9de0fa3d0c0554e1a443aab33147b430 - sha256sums = f30bd604cf3da044f38da38d873a988870d0413aafa5f437d11286d2d3dbb42b - sha256sums = 00b84c1b66212797876b1793b36e3537dc866770f632b4d98b91d84e6766c2d8 - sha256sums = 2fdf313e492061c7a34b63b25129c253088714a632616437c7ab473b43eca5be - sha256sums = 6cde53dd184b5aa79e3c471392eaa6e2ac9dc72e8394dab7248cb8a0ac3e856f - sha256sums = 64b37f777b45bc1b134ea5723ccc6c430784ebbf53b428addeb73ba1108c9225 - sha256sums = 7b4398060dd40fcf8f23b5ca908a0f79be7adfe7f15ad9ec77f23913b5c6c3fc - sha256sums = bfb28bde40b37d74585174414a647af051a8da251107513d3c5e160c72fa7af5 - sha256sums = 9809aab5b4fadf65c2704654ac2c171877b634d5b874af6c96574159ba9f2002 - sha256sums = 374b0ed5fe0285389dda11a6fbccabd3094d2aaa7489d3e59d9b31ead444ce27 - sha256sums = 0961354456c56fa6041758ee35f26d563e60f4ed3bcae214abec2ffbd89f3e80 - sha256sums = 78681b7f7a6456cda9ca4bef34bf4caf3dfbeb36e7fc8b12a834b5e4da328926 - sha256sums = a95252d2305437fe5ada214162b9952efbc6f3e97399e55cb003d1c394f1770a - sha256sums = b7b16afef904785a9681b2c03c98a54e8edb224568c63d155bd3f0f1b0508054 - sha256sums = d883c7c1148e2177c7ff23a3fdbdc3956b9b963c82661f227e2c57829358c7f4 - sha256sums = 0b90abe95bbe585ba2b39b98b7e3cdb85d6827a2afdb8ed677e6a83e33a31009 - sha256sums = bcbe378ec13c845939cf69899bdeb50a7711eef1e5e5127cdc1c9b020f1edd20 - sha256sums = eaa58ae6a0fa740fbd376a39b1c2fab9d77c3eae1456ecef47caef9cc4587638 - sha256sums = d183ee330c718b440c72ebd90cea389bf13cc99e6a34bf15d4818d663b06ec50 - sha256sums = 673b15ce54ff120d17e7ddc20bcc8c9467bee16935b7ab1ec45946307c8caf56 - sha256sums = c1d67dfed8e9b43fe0e4ab20c5f9c918c83ecc8ba8930e9cf123beb90d11318b - sha256sums = 9df19c8cb6017640944211186ce9a6e21715411e896938de2a6d48368372f23e - sha256sums = 043ad519351be44de7d93f775abce8da2880e4eb698ff9444558f4795dab26cc - sha256sums = 4180fbc2315ddfc1a7763333c1dc507661bd30689c9162f1e58bf01a6fc9f9f2 - sha256sums = 0d981d8a25039ff57e5375f34ea036021890fe7302f5f710beb1e5ca1e019e48 + source = 0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch + source = 0004-Make-sure-.pc-files-are-installed-correctly.patch + source = 0005-Don-t-add-resource-files-to-LIBS-parameter.patch + source = 0006-Prevent-debug-library-names-in-pkg-config-files.patch + source = 0007-Fix-linking-against-shared-static-libpng.patch + source = 0008-Fix-linking-against-static-D-Bus.patch + source = 0009-Don-t-try-to-use-debug-version-of-D-Bus-library.patch + source = 0010-Fix-linking-against-static-freetype2.patch + source = 0011-Fix-linking-against-static-harfbuzz.patch + source = 0012-Fix-linking-against-static-pcre.patch + source = 0013-Fix-linking-against-shared-static-MariaDB.patch + source = 0014-Fix-linking-against-shared-static-PostgreSQL.patch + source = 0015-Rename-qtmain-to-qt5main.patch + source = 0016-Enable-rpath-for-build-tools.patch + source = 0017-Use-system-zlib-for-build-tools.patch + source = 0018-Merge-shared-and-static-library-trees.patch + source = 0019-Use-.dll.a-as-import-lib-extension.patch + source = 0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch + source = 0021-Allow-usage-of-static-version-with-CMake.patch + source = 0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch + source = 0023-Use-correct-pkg-config-static-flag.patch + source = 0024-Fix-macro-invoking-moc-rcc-and-uic.patch + source = 0025-Ignore-errors-about-missing-feature-static.patch + source = 0026-Enable-and-fix-use-of-iconv.patch + source = 0027-Ignore-failing-pkg-config-test.patch + source = 0028-Prevent-qmake-from-messing-static-lib-dependencies.patch + source = 0029-Hardcode-linker-flags-for-platform-plugins.patch + source = 0030-Fix-linking-against-static-plugins-with-qmake.patch + source = 0031-Disable-hardware-randomizer-for-32-bit.patch + source = 0032-Prevent-static-build-to-prefer-dynamic-libraries.patch + source = 0033-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch + sha256sums = ff6964b3b528cd3b1d21bcf3470006e8e5cbe69591923f982871d886ea0488fe + sha256sums = 2df58c3c5350a7b52ed9a19b23359e8a33644012bd529fd31a42afca08a7de33 + sha256sums = 58473061f71f210a8344581cd5654bb6e9625cad90e63cf1f9dca063d14f187b + sha256sums = 161e3e3dec7904a889bfe90bd707c00f8e2f471cde0ba7803ebd7997fc84878c + sha256sums = 11b0bbb41bf8f502932f0d8d79e8470654b6adeaaec63de247d044c695e455b8 + sha256sums = 556c1b413d079e6f86974a576f3052645fd5919003fe38056f38a66146cc8c6d + sha256sums = f59764fa27a9d17f4651f7745416d30570d68b11813f4bc132506213a859e0c0 + sha256sums = c9e4f335c8d0cf53f4ecff9b6642d34d4794b9fbd75a2fe7f4219f908e998b43 + sha256sums = c11a3f2354a8c0b8e12890e09c321ac486c29f32a2702c3d123cd51b49f8152e + sha256sums = cdd71e7ea046327502872da3657132f276159f7377626a41b1a592a8aa2a435f + sha256sums = 002780bf246a151763fb970234bffc9bb6f82a5e6b3c99641c455a650fad9cd6 + sha256sums = e6b535f1959a1cc5b27aefd3b69f05393d0631bd384c946da278e61f1bce6da9 + sha256sums = 56b4695cd46189d297f8583f5d130ef2ed2a91f96ccef76d4d70b59a52da1a6e + sha256sums = 1f55fbf4a5d3dfbe7a2a3f282f0e393e8c88a5b982c694cdaf557aa5508d4be8 + sha256sums = 39b0c2de05cf7f51a513fe555520d80cc8a22119c4e3b245459ee486f88d902b + sha256sums = 9a0714b960e82e723828bd18c0bd3a722f58eacb058960aed2e9fcbe4b8d2537 + sha256sums = 94dc91c13b5876d05348717b94f0bee6eca3470852e4b0a99f3d5768ee09ec6c + sha256sums = 6129e5bb57e18ab064fbc9c15b7708368bc93e65b0c16ec1c83708f01e2862f1 + sha256sums = ae3cc5e48f69bcb065d919ea1ff6cd4e8216cff348348675dc0932887e62d2c8 + sha256sums = 1bf5cbfeab7139e1af66909e9359ed051b02d335cd032e1d87539f7a46974c09 + sha256sums = e8bceae99d8b6a802592fb7476ac68f2f015cbca0dc38959076c5029f63d0f23 + sha256sums = b491f47044b2ea161ec9881d7211ededfd1b3481f54ca93381498a50aebd3795 + sha256sums = 3dbb78c2ec5d3b2f33d5545de15da2ee2895978e98d35a677eaa1449e592cf3c + sha256sums = 99782fd0b3cb20f2ce5425607f5f6b909ecaefcd8e038738c19d76ae3dc43ab6 + sha256sums = 0ce174399229425fc1f9fac6e27dc9fc7b04dd4eb4770f471fb62244368e6e64 + sha256sums = 365459aba005e00fb19cf0fbeb42f563d36b0b7ac9737ea981f4f4034af6e229 + sha256sums = 486c27a6a56140f6f43665b79b960dafb93d1d48a2d4b5a0de330f3e55685cf8 + sha256sums = 3f4dbd1417a63d04e5e938a37b5a614940d19c318aeeb2de43c126804a509053 + sha256sums = ca721a40d0be358baa31233b0d9db8ee70483dc25dda96dbdb080158e90200fb + sha256sums = 2ba848d3a4e2a3230ee70473fdd7adb6aadb021fea2f09b7871033f281425855 + sha256sums = 6cff295c7011ce53319f35749d807cc6b0c3596ae92d9c36e0eb2cecbafd182e + sha256sums = 45aae3d21e88cc0ac9e008cd0cc98e3178c2319d0aef726677555866c3bd4b59 + sha256sums = 6d661273b5f6c61c02dd0a0d3b4e7c5788646b056ba7aa3cbad125c84199ffc5 + sha256sums = 7e42f2b917e18dfc22e9f4fb7d7d5c1717157e9746fdaf25b55217b0b78d87be pkgname = mingw-w64-qt5-base-angle 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 fc70d85e0365..a6cee1132338 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 9a22842c6ec7d34b1edba1a18411e73bf90a1567 Mon Sep 17 00:00:00 2001 +From 07a334d39698cc7d2826ed1b5b6cb9b67dd4def8 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 3 Feb 2017 18:30:51 +0100 -Subject: [PATCH 01/34] Adjust win32-g++ profile for cross compilation with +Subject: [PATCH 01/33] Adjust win32-g++ profile for cross compilation with mingw-w64 Adding a new, separate mkspec instead of patching the existing one @@ -19,7 +19,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 f0df324b64..07e2b6a88e 100644 +index c3a1f3a373..5208d22bd6 100644 --- a/mkspecs/common/g++-win32.conf +++ b/mkspecs/common/g++-win32.conf @@ -8,18 +8,24 @@ @@ -50,15 +50,15 @@ index f0df324b64..07e2b6a88e 100644 # can't add 'DEFINES += WIN64' and 'QMAKE_COMPILER_DEFINES += _WIN64' defines for # x86_64 platform similar to 'msvc-desktop.conf' toolchain, because, unlike for MSVC, # 'QMAKE_TARGET.arch' is inherently unavailable. -@@ -34,6 +40,7 @@ QMAKE_CFLAGS_SSE2 += -mstackrealign - QMAKE_CXXFLAGS_RTTI_ON = -frtti - QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti +@@ -32,6 +38,7 @@ QMAKE_YACCFLAGS = -d + QMAKE_CFLAGS_SSE2 += -mstackrealign + QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads +QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions QMAKE_INCDIR = -@@ -43,40 +50,51 @@ QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src +@@ -41,40 +48,51 @@ QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads @@ -143,10 +143,10 @@ index 4630ec4602..3f9fdc72b1 100644 QMAKE_LINK = $${CROSS_COMPILE}clang++ diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf -index 5e9923357f..67805c29a7 100644 +index 5de482f23b..3c3d22c699 100644 --- a/mkspecs/win32-g++/qmake.conf +++ b/mkspecs/win32-g++/qmake.conf -@@ -12,11 +12,11 @@ include(../common/g++-win32.conf) +@@ -13,11 +13,11 @@ include(../common/windows-desktop.conf) # modifications to g++-win32.conf QMAKE_CC = $${CROSS_COMPILE}gcc @@ -161,5 +161,5 @@ index 5e9923357f..67805c29a7 100644 QMAKE_LINK = $${CROSS_COMPILE}g++ -- -2.21.0 +2.22.0 diff --git a/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch b/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch index 2ce49556053d..fe6205f1b4f9 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 a1aebd2231ed102c84b992058c1de1a02817214e Mon Sep 17 00:00:00 2001 +From 2a4db9590232cb56102955d86e21e3c2482b28cf Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:36:53 +0200 -Subject: [PATCH 02/34] Ensure GLdouble is defined when using dynamic OpenGL +Subject: [PATCH 02/33] Ensure GLdouble is defined when using dynamic OpenGL FIXME: Not sure whether this is still required --- @@ -9,7 +9,7 @@ FIXME: Not sure whether this is still required 1 file changed, 2 deletions(-) diff --git a/src/gui/opengl/qopenglfunctions.h b/src/gui/opengl/qopenglfunctions.h -index 00287b0665..35ad3007d1 100644 +index 4554291bbd..23d55bddeb 100644 --- a/src/gui/opengl/qopenglfunctions.h +++ b/src/gui/opengl/qopenglfunctions.h @@ -56,9 +56,7 @@ @@ -23,5 +23,5 @@ index 00287b0665..35ad3007d1 100644 #ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG #include <stdio.h> -- -2.21.0 +2.22.0 diff --git a/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch b/0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch index a8f88d01402d..5109261fac71 100644 --- a/0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch +++ b/0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch @@ -1,7 +1,7 @@ -From c92307d539cd71249031bd42eac1d7d4a78fa939 Mon Sep 17 00:00:00 2001 +From abcf04e70f4f3e8a0a7a584afcf976e209307265 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:48:51 +0200 -Subject: [PATCH 04/34] Fix too many sections assemler error in OpenGL factory +Subject: [PATCH 03/33] 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.21.0 +2.22.0 diff --git a/0003-Use-external-ANGLE-library.patch b/0003-Use-external-ANGLE-library.patch deleted file mode 100644 index d491f963f30e..000000000000 --- a/0003-Use-external-ANGLE-library.patch +++ /dev/null @@ -1,97 +0,0 @@ -From c05b912a91f424375d6b44cb0cebdec7c44c967c Mon Sep 17 00:00:00 2001 -From: Martchus <martchus@gmx.net> -Date: Sun, 18 Sep 2016 13:41:38 +0200 -Subject: [PATCH 03/34] Use external ANGLE library - ---- - src/gui/Qt5GuiConfigExtras.cmake.in | 4 ++-- - src/gui/gui.pro | 8 ++------ - src/opengl/opengl.pro | 1 + - src/plugins/platforms/windows/windows.pri | 1 + - src/src.pro | 4 ---- - 5 files changed, 6 insertions(+), 12 deletions(-) - -diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in -index 84dbbfebd4..46a8696ff3 100644 ---- a/src/gui/Qt5GuiConfigExtras.cmake.in -+++ b/src/gui/Qt5GuiConfigExtras.cmake.in -@@ -2,9 +2,9 @@ - !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE) - - !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) --set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\") -+set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\") - !!ELSE --set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\") -+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\") - !!ENDIF - - _qt5_Gui_check_file_exists(${Qt5Gui_EGL_INCLUDE_DIRS}) -diff --git a/src/gui/gui.pro b/src/gui/gui.pro -index 06c9cd3939..cb1314c1ef 100644 ---- a/src/gui/gui.pro -+++ b/src/gui/gui.pro -@@ -18,12 +18,6 @@ MODULE_PLUGIN_TYPES = \ - imageformats \ - egldeviceintegrations - --# This is here only because the platform plugin is no module, obviously. --qtConfig(angle) { -- MODULE_AUX_INCLUDES = \ -- \$\$QT_MODULE_INCLUDE_BASE/QtANGLE --} -- - # Code coverage with TestCocoon - # The following is required as extra compilers use $$QMAKE_CXX instead of $(CXX). - # Without this, testcocoon.prf is read only after $$QMAKE_CXX is used by the -@@ -35,6 +29,8 @@ testcocoon { - osx: LIBS_PRIVATE += -framework AppKit - darwin: LIBS_PRIVATE += -framework CoreGraphics - -+win32:qtConfig(angle): LIBS_PRIVATE += -lGLESv2 -+ - CONFIG += simd optimize_full - - include(accessible/accessible.pri) -diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro -index 8b2349ff2f..f5e43c6adc 100644 ---- a/src/opengl/opengl.pro -+++ b/src/opengl/opengl.pro -@@ -10,6 +10,7 @@ QMAKE_DOCS = $$PWD/doc/qtopengl.qdocconf - - qtConfig(opengl): CONFIG += opengl - qtConfig(opengles2): CONFIG += opengles2 -+win32:qtConfig(angle): LIBS_PRIVATE += -lGLESv2 - - HEADERS += qgl.h \ - qgl_p.h \ -diff --git a/src/plugins/platforms/windows/windows.pri b/src/plugins/platforms/windows/windows.pri -index 7004d7e854..a0b0bd81db 100644 ---- a/src/plugins/platforms/windows/windows.pri -+++ b/src/plugins/platforms/windows/windows.pri -@@ -4,6 +4,7 @@ LIBS += -lole32 -luser32 -lwinspool -limm32 -lwinmm -loleaut32 - QT_FOR_CONFIG += gui - - qtConfig(opengl):!qtConfig(opengles2):!qtConfig(dynamicgl): LIBS *= -lopengl32 -+qtConfig(angle):LIBS += -lGLESv2 -lEGL - - mingw: LIBS *= -luuid - # For the dialog helpers: -diff --git a/src/src.pro b/src/src.pro -index 1c76a2e46f..6a5f046b34 100644 ---- a/src/src.pro -+++ b/src/src.pro -@@ -199,10 +199,6 @@ qtConfig(gui) { - SUBDIRS += src_3rdparty_harfbuzzng - src_gui.depends += src_3rdparty_harfbuzzng - } -- qtConfig(angle) { -- SUBDIRS += src_angle -- src_gui.depends += src_angle -- } - qtConfig(png):!qtConfig(system-png) { - SUBDIRS += src_3rdparty_libpng - src_3rdparty_freetype.depends += src_3rdparty_libpng --- -2.21.0 - diff --git a/0005-Make-sure-.pc-files-are-installed-correctly.patch b/0004-Make-sure-.pc-files-are-installed-correctly.patch index f6e3ee031b56..7a73127b2895 100644 --- a/0005-Make-sure-.pc-files-are-installed-correctly.patch +++ b/0004-Make-sure-.pc-files-are-installed-correctly.patch @@ -1,7 +1,7 @@ -From 70435bc3ad5e60f9330a833094635e73eb9bc6a8 Mon Sep 17 00:00:00 2001 +From 3887b9693805365272de6101eab5c332862960e3 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:54:12 +0200 -Subject: [PATCH 05/34] Make sure *.pc files are installed correctly +Subject: [PATCH 04/33] Make sure *.pc files are installed correctly --- qmake/generators/makefile.cpp | 8 ++++++-- @@ -10,7 +10,7 @@ Subject: [PATCH 05/34] Make sure *.pc files are installed correctly 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp -index ab261d02f1..aa4c96be49 100644 +index b634ec622b..aac53cd0ea 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -3230,7 +3230,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const @@ -49,7 +49,7 @@ index 350ebd377a..d0c234b864 100644 void writePkgConfigFile(); // for pkg-config diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp -index 208af1327f..5a37b218de 100644 +index 16f9361d13..d9887cd36d 100644 --- a/qmake/generators/win32/winmakefile.cpp +++ b/qmake/generators/win32/winmakefile.cpp @@ -753,7 +753,7 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t) @@ -62,5 +62,5 @@ index 208af1327f..5a37b218de 100644 uninst.append("\n\t"); uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc)); -- -2.21.0 +2.22.0 diff --git a/0006-Don-t-add-resource-files-to-LIBS-parameter.patch b/0005-Don-t-add-resource-files-to-LIBS-parameter.patch index 463200858187..37bf7b35e89c 100644 --- a/0006-Don-t-add-resource-files-to-LIBS-parameter.patch +++ b/0005-Don-t-add-resource-files-to-LIBS-parameter.patch @@ -1,7 +1,7 @@ -From 75f422a35a62d1693e5d84d6745590d8088f6344 Mon Sep 17 00:00:00 2001 +From 2ebc0b00f1b3297e1f88d271123df7ecb0fbd955 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 13:58:28 +0200 -Subject: [PATCH 06/34] Don't add resource files to LIBS parameter +Subject: [PATCH 05/33] Don't add resource files to LIBS parameter Solves an issue where the generated pkg-config files contained invalid Libs.private references @@ -24,5 +24,5 @@ index de7363e51b..b2b9d01799 100644 if (project->isActiveConfig("dll")) { QString destDir = ""; -- -2.21.0 +2.22.0 diff --git a/0007-Prevent-debug-library-names-in-pkg-config-files.patch b/0006-Prevent-debug-library-names-in-pkg-config-files.patch index 962201fcdae9..9ff893abad7a 100644 --- a/0007-Prevent-debug-library-names-in-pkg-config-files.patch +++ b/0006-Prevent-debug-library-names-in-pkg-config-files.patch @@ -1,7 +1,7 @@ -From 185e54d2c46014b51579261068b14f1483ba3aa1 Mon Sep 17 00:00:00 2001 +From 00be29ae27f1954f8d9c7ca2f47c1d18f38e96b8 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:01:14 +0200 -Subject: [PATCH 07/34] Prevent debug library names in pkg-config files +Subject: [PATCH 06/33] 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,7 +15,7 @@ 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 aa4c96be49..b005da931e 100644 +index aac53cd0ea..fedbaaf601 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -3244,6 +3244,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir) @@ -29,5 +29,5 @@ index aa4c96be49..b005da931e 100644 QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString(); if(!subdir.isEmpty()) { -- -2.21.0 +2.22.0 diff --git a/0008-Fix-linking-against-shared-static-libpng.patch b/0007-Fix-linking-against-shared-static-libpng.patch index 69f37f17aeab..f6892d8cc2da 100644 --- a/0008-Fix-linking-against-shared-static-libpng.patch +++ b/0007-Fix-linking-against-shared-static-libpng.patch @@ -1,7 +1,7 @@ -From a21de39b50f538d9dce89bab8fc12cfb631d3f6b Mon Sep 17 00:00:00 2001 +From 6b429798b0e3eddc7e5c857cc3e5b9d7f70aa998 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Thu, 26 Jan 2017 17:51:31 +0100 -Subject: [PATCH 08/34] Fix linking against shared/static libpng +Subject: [PATCH 07/33] Fix linking against shared/static libpng Change-Id: Ic7a0ec9544059b8e647a5d0186f1b88c00911dcf --- @@ -9,7 +9,7 @@ Change-Id: Ic7a0ec9544059b8e647a5d0186f1b88c00911dcf 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gui/configure.json b/src/gui/configure.json -index 6fdcd562a7..7733db0206 100644 +index 6280b4dfa2..36325920cd 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -387,8 +387,10 @@ @@ -26,5 +26,5 @@ index 6fdcd562a7..7733db0206 100644 ], "use": [ -- -2.21.0 +2.22.0 diff --git a/0009-Fix-linking-against-static-D-Bus.patch b/0008-Fix-linking-against-static-D-Bus.patch index 40086a487e6e..d0e9ce41adf2 100644 --- a/0009-Fix-linking-against-static-D-Bus.patch +++ b/0008-Fix-linking-against-static-D-Bus.patch @@ -1,7 +1,7 @@ -From bef46a6c727a1370768b9d270bd76fc9b4ded4cd Mon Sep 17 00:00:00 2001 +From f7f14b714ac258239ba7d56aad81352ae013c299 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 3 Feb 2017 19:36:25 +0100 -Subject: [PATCH 09/34] Fix linking against static D-Bus +Subject: [PATCH 08/33] Fix linking against static D-Bus --- configure.json | 9 +++++++-- @@ -9,10 +9,10 @@ Subject: [PATCH 09/34] Fix linking against static D-Bus 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/configure.json b/configure.json -index 9fce6d039e..c673f9a5fc 100644 +index 7f3018ed23..9d8e93a227 100644 --- a/configure.json +++ b/configure.json -@@ -169,18 +169,23 @@ +@@ -187,18 +187,23 @@ "dbus": { "label": "D-Bus >= 1.2", "test": { @@ -54,5 +54,5 @@ index 7cce0d71aa..4d3d774d45 100644 # include <dbus/dbus.h> #else -- -2.21.0 +2.22.0 diff --git a/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch b/0009-Don-t-try-to-use-debug-version-of-D-Bus-library.patch index ff817a7a8655..36711fdfaa4c 100644 --- a/0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch +++ b/0009-Don-t-try-to-use-debug-version-of-D-Bus-library.patch @@ -1,7 +1,7 @@ -From 961a060a30e67a4a1062cd97fed2d08fbcfb804b Mon Sep 17 00:00:00 2001 +From 663130ef2c1188a101b3ff1b88ccfe07712f628b Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 2 Jun 2017 18:28:10 +0200 -Subject: [PATCH 10/34] Don't try to use debug version of D-Bus library +Subject: [PATCH 09/33] Don't try to use debug version of D-Bus library Required for a debug build of Qt because mingw-w64-dbus does not contain debug version @@ -12,10 +12,10 @@ Change-Id: Ic34e1025fda55f9659e065f5bbe9d51f55420adb 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.json b/configure.json -index c673f9a5fc..15b0f21e58 100644 +index 9d8e93a227..80e15ce156 100644 --- a/configure.json +++ b/configure.json -@@ -182,7 +182,7 @@ +@@ -200,7 +200,7 @@ { "libs": "", "builds": { @@ -25,5 +25,5 @@ index c673f9a5fc..15b0f21e58 100644 }, "condition": "config.win32 && features.shared" -- -2.21.0 +2.22.0 diff --git a/0011-Fix-linking-against-static-freetype2.patch b/0010-Fix-linking-against-static-freetype2.patch index 63c78f08316b..027fec2a68a0 100644 --- a/0011-Fix-linking-against-static-freetype2.patch +++ b/0010-Fix-linking-against-static-freetype2.patch @@ -1,14 +1,14 @@ -From bc6d72e7347436e3a1db35311eaf6c1240a65fc3 Mon Sep 17 00:00:00 2001 +From c75a87b8378987e9a63235984021377755418ba1 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 3 Feb 2017 20:51:19 +0100 -Subject: [PATCH 11/34] Fix linking against static freetype2 +Subject: [PATCH 10/33] 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 7733db0206..184c9368f2 100644 +index 36325920cd..972f9914ea 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -238,8 +238,11 @@ @@ -26,5 +26,5 @@ index 7733db0206..184c9368f2 100644 { "libs": "-lfreetype" } ], -- -2.21.0 +2.22.0 diff --git a/0012-Fix-linking-against-static-harfbuzz.patch b/0011-Fix-linking-against-static-harfbuzz.patch index c492b0ba5211..f07979b5036e 100644 --- a/0012-Fix-linking-against-static-harfbuzz.patch +++ b/0011-Fix-linking-against-static-harfbuzz.patch @@ -1,14 +1,14 @@ -From 95f8ae9b5c7600313f1c6f3f4a7c1f50afef3069 Mon Sep 17 00:00:00 2001 +From 4f637a1ae1182f9327cc5fd198961e906cff59eb Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:22:56 +0200 -Subject: [PATCH 12/34] Fix linking against static harfbuzz +Subject: [PATCH 11/33] 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 184c9368f2..db6d4d68c9 100644 +index 972f9914ea..894c10259d 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -306,7 +306,11 @@ @@ -25,5 +25,5 @@ index 184c9368f2..db6d4d68c9 100644 }, "imf": { -- -2.21.0 +2.22.0 diff --git a/0013-Fix-linking-against-static-pcre.patch b/0012-Fix-linking-against-static-pcre.patch index fb2652b74b77..36514aa456e7 100644 --- a/0013-Fix-linking-against-static-pcre.patch +++ b/0012-Fix-linking-against-static-pcre.patch @@ -1,7 +1,7 @@ -From 8f9fe88a5643aafe2aeb8cb44bbbac17d6d67808 Mon Sep 17 00:00:00 2001 +From 3fccf1f581659113ae325f5192c8d6870c894c84 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:24:01 +0200 -Subject: [PATCH 13/34] Fix linking against static pcre +Subject: [PATCH 12/33] Fix linking against static pcre Change-Id: I3225c6e82dc4d17aef37d4289c16eb7a5ea3c5a1 --- @@ -24,5 +24,5 @@ index bdaa2d3243..90f8250c03 100644 #include <pcre2.h> -- -2.21.0 +2.22.0 diff --git a/0014-Fix-linking-against-shared-static-MariaDB.patch b/0013-Fix-linking-against-shared-static-MariaDB.patch index 5ec2a7e12168..b243cd9a738c 100644 --- a/0014-Fix-linking-against-shared-static-MariaDB.patch +++ b/0013-Fix-linking-against-shared-static-MariaDB.patch @@ -1,7 +1,7 @@ -From b35664794a3658470c900c4a7c1b8dbf436359ca Mon Sep 17 00:00:00 2001 +From 7ea90aaf596477d79194673de9fb4b8076883186 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:56:55 +0200 -Subject: [PATCH 14/34] Fix linking against shared/static MariaDB +Subject: [PATCH 13/33] 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.21.0 +2.22.0 diff --git a/0015-Fix-linking-against-shared-static-PostgreSQL.patch b/0014-Fix-linking-against-shared-static-PostgreSQL.patch index f6ff1d4203bc..41d712cb5a14 100644 --- a/0015-Fix-linking-against-shared-static-PostgreSQL.patch +++ b/0014-Fix-linking-against-shared-static-PostgreSQL.patch @@ -1,7 +1,7 @@ -From 12167c0f3c19d677ca681d58765c3c49f13ba9e2 Mon Sep 17 00:00:00 2001 +From e9076f7d190ce29321102ce695dbd105cccf14f7 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:58:25 +0200 -Subject: [PATCH 15/34] Fix linking against shared/static PostgreSQL +Subject: [PATCH 14/33] Fix linking against shared/static PostgreSQL --- src/plugins/sqldrivers/configure.json | 4 ++-- @@ -24,5 +24,5 @@ index babd0465ce..b4b3bdec6b 100644 ] }, -- -2.21.0 +2.22.0 diff --git a/0016-Rename-qtmain-to-qt5main.patch b/0015-Rename-qtmain-to-qt5main.patch index 80d4054cd883..1c14b162cd50 100644 --- a/0016-Rename-qtmain-to-qt5main.patch +++ b/0015-Rename-qtmain-to-qt5main.patch @@ -1,21 +1,21 @@ -From ff46ecb2fdcfc203d55e9fcef8b29c62742c61ae Mon Sep 17 00:00:00 2001 +From 5eb2e0e33778a15ff05a2891e6752af573bca2e5 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 14:25:40 +0200 -Subject: [PATCH 16/34] Rename qtmain to qt5main +Subject: [PATCH 15/33] Rename qtmain to qt5main Prevents conflict with mingw-w64-qt4 package --- mkspecs/common/g++-win32.conf | 2 +- mkspecs/features/create_cmake.prf | 4 ++-- - mkspecs/features/win32/windows.prf | 2 +- + mkspecs/features/win32/windows.prf | 4 ++-- src/winmain/winmain.pro | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) + 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf -index 07e2b6a88e..5bfbcfdca6 100644 +index 5208d22bd6..1a058b787f 100644 --- a/mkspecs/common/g++-win32.conf +++ b/mkspecs/common/g++-win32.conf -@@ -86,7 +86,7 @@ QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 +@@ -84,7 +84,7 @@ QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32 QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -ld3d9 -ldxguid -lgdi32 -luser32 QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 @@ -25,10 +25,10 @@ index 07e2b6a88e..5bfbcfdca6 100644 QMAKE_IDL = $${CROSS_COMPILE}widl QMAKE_LIB = $${CROSS_COMPILE}ar -rc diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf -index 6bf1380716..74a9160628 100644 +index 2ab7775fea..6bc621ce27 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf -@@ -229,8 +229,8 @@ mac { +@@ -234,8 +234,8 @@ mac { CMAKE_LIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.dll mingw { @@ -40,18 +40,20 @@ index 6bf1380716..74a9160628 100644 !isEmpty(CMAKE_STATIC_TYPE) { CMAKE_STATIC_WINDOWS_BUILD = "true" diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf -index ecb167bf18..7c9368c3b3 100644 +index 272170d428..17f3ef9c2d 100644 --- a/mkspecs/features/win32/windows.prf +++ b/mkspecs/features/win32/windows.prf -@@ -5,7 +5,7 @@ contains(TEMPLATE, ".*app") { +@@ -5,8 +5,8 @@ contains(TEMPLATE, ".*app") { mingw:DEFINES += QT_NEEDS_QMAIN qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) { - isEqual(entryLib, -lqtmain) { -+ isEqual(entryLib, -lqt5main): { - !contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \ - QMAKE_LIBS += -L$$QT.core.libs - CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d +- lib = $$QT.core.libs/$${QMAKE_PREFIX_STATICLIB}qtmain$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB ++ isEqual(entryLib, -lqt5main) { ++ lib = $$QT.core.libs/$${QMAKE_PREFIX_STATICLIB}qt5main$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB + PRE_TARGETDEPS += $$lib + QMAKE_LIBS += $$lib + } else { diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro index 9cb6ab0c59..4327ba365e 100644 --- a/src/winmain/winmain.pro @@ -66,5 +68,5 @@ index 9cb6ab0c59..4327ba365e 100644 CONFIG += static -- -2.21.0 +2.22.0 diff --git a/0018-Enable-rpath-for-build-tools.patch b/0016-Enable-rpath-for-build-tools.patch index e9bd671756d2..59595f2cb059 100644 --- a/0018-Enable-rpath-for-build-tools.patch +++ b/0016-Enable-rpath-for-build-tools.patch @@ -1,7 +1,7 @@ -From 1937d98580d1988eb1422ec431bb7bf214ccb964 Mon Sep 17 00:00:00 2001 +From a2a8aa60a4385fff2770e93e0a6054935905bef7 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 17:59:27 +0200 -Subject: [PATCH 18/34] Enable rpath for build tools +Subject: [PATCH 16/33] 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.21.0 +2.22.0 diff --git a/0017-Build-dynamic-host-libraries.patch b/0017-Build-dynamic-host-libraries.patch deleted file mode 100644 index 8679cdfa43c1..000000000000 --- a/0017-Build-dynamic-host-libraries.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 9ae3b38009637d7455dc7c30295beb9de8f137fc Mon Sep 17 00:00:00 2001 -From: Martchus <martchus@gmx.net> -Date: Sun, 18 Sep 2016 14:27:28 +0200 -Subject: [PATCH 17/34] Build dynamic host libraries - -This came initially from Fedora, not sure whether -it makes sense to keep it. Regular Arch package -uses static lib as intended by upstream. - -Change-Id: I91a3613955c656fb0d262ccb9b2529350bab032b ---- - mkspecs/features/qt_module.prf | 2 +- - src/tools/bootstrap-dbus/bootstrap-dbus.pro | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf -index 51b5bde67a..70919e98e9 100644 ---- a/mkspecs/features/qt_module.prf -+++ b/mkspecs/features/qt_module.prf -@@ -25,7 +25,7 @@ requires(!$$skip) - - # Compile as shared/DLL or static according to the option given to configure - # unless overridden. Host builds are always static --host_build|staticlib: CONFIG += static -+staticlib: CONFIG += static - - host_build { - QT -= gui # no host module will ever use gui -diff --git a/src/tools/bootstrap-dbus/bootstrap-dbus.pro b/src/tools/bootstrap-dbus/bootstrap-dbus.pro -index c3ed27d979..30d2114aa1 100644 ---- a/src/tools/bootstrap-dbus/bootstrap-dbus.pro -+++ b/src/tools/bootstrap-dbus/bootstrap-dbus.pro -@@ -27,4 +27,4 @@ SOURCES = \ - load(qt_module) - - lib.CONFIG = dummy_install --INSTALLS = lib -+INSTALLS += lib --- -2.21.0 - diff --git a/0019-Use-system-zlib-for-build-tools.patch b/0017-Use-system-zlib-for-build-tools.patch index 25d5a0df661d..c9a01d9cd88c 100644 --- a/0019-Use-system-zlib-for-build-tools.patch +++ b/0017-Use-system-zlib-for-build-tools.patch @@ -1,7 +1,7 @@ -From 1249cece89416ca3aae9f8edef37738d6405b846 Mon Sep 17 00:00:00 2001 +From 04a04e8c11bf4ae71d4ed0d6b641b2b2ebacc565 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:04:42 +0200 -Subject: [PATCH 19/34] Use system zlib for build tools +Subject: [PATCH 17/33] Use system zlib for build tools --- src/tools/bootstrap/bootstrap.pro | 4 +++- @@ -23,5 +23,5 @@ index 83e44ff9a4..4734623936 100644 } else { CONFIG += no_core_dep -- -2.21.0 +2.22.0 diff --git a/0021-Merge-shared-and-static-library-trees.patch b/0018-Merge-shared-and-static-library-trees.patch index dbec06bb7854..45ea3d0d2d51 100644 --- a/0021-Merge-shared-and-static-library-trees.patch +++ b/0018-Merge-shared-and-static-library-trees.patch @@ -1,22 +1,38 @@ -From 814b3a23dd94818101265df95b1051987faf440d Mon Sep 17 00:00:00 2001 +From 8d8cfe560697425a01b786aee113082495d6c85f Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:45:08 +0200 -Subject: [PATCH 21/34] Merge shared and static library trees +Subject: [PATCH 18/33] Merge shared and static library trees Allow installation of shared and static build in the same prefix --- - configure.pri | 9 +++++++++ - mkspecs/features/default_post.prf | 11 +++++++++++ - mkspecs/features/qt.prf | 17 +++++++++++++++++ - mkspecs/features/spec_pre.prf | 11 ++++++++--- - qmake/generators/makefile.cpp | 9 ++++++--- - 5 files changed, 51 insertions(+), 6 deletions(-) + configure.pri | 16 +++++++++++++++- + mkspecs/features/default_post.prf | 11 +++++++++++ + mkspecs/features/device_config.prf | 9 ++++++++- + mkspecs/features/qt.prf | 17 +++++++++++++++++ + mkspecs/features/spec_pre.prf | 11 ++++++++--- + qmake/generators/makefile.cpp | 9 ++++++--- + qtbase.pro | 10 ++++++++-- + 7 files changed, 73 insertions(+), 10 deletions(-) diff --git a/configure.pri b/configure.pri -index 131aa868c2..75203c4572 100644 +index 81133da3d7..927fcbe132 100644 --- a/configure.pri +++ b/configure.pri -@@ -1318,3 +1318,12 @@ defineTest(createConfigStatus) { +@@ -657,7 +657,12 @@ defineTest(qtConfOutput_machineTuple) { + + defineTest(qtConfOutput_commitOptions) { + # qdevice.pri needs to be written early, because the compile tests require it. +- write_file($$QT_BUILD_TREE/mkspecs/qdevice.pri, $${currentConfig}.output.devicePro)|error() ++ shared|actually_a_shared_build { ++ DEVICE_PRI_SUFFIX = .pri ++ } else { ++ DEVICE_PRI_SUFFIX = .static.pri ++ } ++ write_file($$QT_BUILD_TREE/mkspecs/qdevice$$DEVICE_PRI_SUFFIX, $${currentConfig}.output.devicePro)|error() + } + + # type (empty or 'host'), option name, default value +@@ -1350,3 +1355,12 @@ defineTest(createConfigStatus) { QMAKE_POST_CONFIGURE += \ "createConfigStatus()" @@ -30,7 +46,7 @@ index 131aa868c2..75203c4572 100644 + CONFIG += no_smart_library_merge +} diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf -index fbf1f3b8df..c261c46e72 100644 +index 9df99b8648..9c1dd6a735 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -1,5 +1,16 @@ @@ -50,11 +66,31 @@ index fbf1f3b8df..c261c46e72 100644 contains(TEMPLATE, ".*(lib|app)"):CONFIG += have_target !have_target:!force_qt: CONFIG -= qt +diff --git a/mkspecs/features/device_config.prf b/mkspecs/features/device_config.prf +index c15559e174..dd09ac749d 100644 +--- a/mkspecs/features/device_config.prf ++++ b/mkspecs/features/device_config.prf +@@ -4,7 +4,14 @@ + # supposed to be influenced by -device-option then. + host_build: return() + +-DEVICE_PRI = $$[QT_HOST_DATA/get]/mkspecs/qdevice.pri ++shared|actually_a_shared_build { ++ DEVICE_PRI = $$[QT_HOST_DATA/get]/mkspecs/qdevice.pri ++} else { ++ DEVICE_PRI = $$[QT_HOST_DATA/get]/mkspecs/qdevice.static.pri ++ !exists($$DEVICE_PRI) { ++ DEVICE_PRI = $$[QT_HOST_DATA/get]/mkspecs/qdevice.pri ++ } ++} + exists($$DEVICE_PRI):include($$DEVICE_PRI) + unset(DEVICE_PRI) + diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf -index d8d5acaafd..167b8dbf2c 100644 +index 3a71376029..bbada46c29 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf -@@ -238,6 +238,23 @@ for(ever) { +@@ -232,6 +232,23 @@ for(ever) { !isEmpty(MODULE_WINRT_CAPABILITIES_DEVICE): \ WINRT_MANIFEST.capabilities_device_default += $$MODULE_WINRT_CAPABILITIES_DEVICE } @@ -101,7 +137,7 @@ index 51ea3a8321..275e080ae4 100644 QMAKE_EXT_YACC = .y diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp -index b005da931e..e0c42131f8 100644 +index fedbaaf601..fd3b5c405a 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -3247,6 +3247,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir) @@ -127,6 +163,41 @@ index b005da931e..e0c42131f8 100644 } t << endl; +diff --git a/qtbase.pro b/qtbase.pro +index c0ce0972ef..5a2deaf31d 100644 +--- a/qtbase.pro ++++ b/qtbase.pro +@@ -20,6 +20,12 @@ CLEAN_DEPS += qmake-clean + # recursive distclean proceeds, including beyond qtbase. + DISTCLEAN_DEPS += qmake-clean + ++shared|actually_a_shared_build { ++ DEVICE_PRI_SUFFIX = .pri ++} else { ++ DEVICE_PRI_SUFFIX = .static.pri ++} ++ + # Files created by configure. + # config.status (and configure.cache, which is the same for Windows) + # are omitted for convenience of rebuilds. +@@ -27,7 +33,7 @@ QMAKE_DISTCLEAN += \ + config.summary \ + config.tests/.qmake.cache \ + mkspecs/qconfig.pri \ +- mkspecs/qdevice.pri \ ++ mkspecs/qdevice$$DEVICE_PRI_SUFFIX \ + mkspecs/qmodule.pri \ + src/corelib/global/qconfig.h \ + src/corelib/global/qconfig_p.h \ +@@ -78,7 +84,7 @@ prefix_build|!equals(PWD, $$OUT_PWD) { + mkspecs.path = $$[QT_HOST_DATA]/mkspecs + mkspecs.files = \ + $$OUT_PWD/mkspecs/qconfig.pri $$OUT_PWD/mkspecs/qmodule.pri \ +- $$OUT_PWD/mkspecs/qdevice.pri \ ++ $$OUT_PWD/mkspecs/qdevice$$DEVICE_PRI_SUFFIX \ + $$files($$PWD/mkspecs/*) + mkspecs.files -= $$PWD/mkspecs/modules $$PWD/mkspecs/modules-inst + INSTALLS += mkspecs -- -2.21.0 +2.22.0 diff --git a/0020-Use-.dll.a-as-import-lib-extension.patch b/0019-Use-.dll.a-as-import-lib-extension.patch index 01cfa8e10515..b560fb619ce3 100644 --- a/0020-Use-.dll.a-as-import-lib-extension.patch +++ b/0019-Use-.dll.a-as-import-lib-extension.patch @@ -1,20 +1,21 @@ -From 83340c970109edc6400a8f74f1728affec4024c5 Mon Sep 17 00:00:00 2001 +From 0f3da1317f28a882c705fcf3f13c419601b96467 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:26:18 +0200 -Subject: [PATCH 20/34] Use *.dll.a as import lib extension +Subject: [PATCH 19/33] Use *.dll.a as import lib extension The variables used here are provided by -mingw-w64 specific mkspec +g++-win32.conf --- mkspecs/features/create_cmake.prf | 5 +++-- + mkspecs/features/qt.prf | 15 ++++++++++++--- qmake/generators/win32/winmakefile.cpp | 15 +++++++++++---- - 2 files changed, 14 insertions(+), 6 deletions(-) + 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf -index 74a9160628..7694d1c7ae 100644 +index 6bc621ce27..226dc93c4d 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf -@@ -240,8 +240,9 @@ mac { +@@ -245,8 +245,9 @@ mac { CMAKE_PRL_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.prl CMAKE_PRL_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.prl } else { @@ -26,8 +27,37 @@ index 74a9160628..7694d1c7ae 100644 } } else { CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}d.lib +diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf +index bbada46c29..d6299d8eed 100644 +--- a/mkspecs/features/qt.prf ++++ b/mkspecs/features/qt.prf +@@ -213,12 +213,21 @@ for(ever) { + LIBS$$var_sfx += -framework $$framework + } else { + lib = $$MODULE_MODULE$$qtPlatformTargetSuffix() +- win32|contains(MODULE_CONFIG, staticlib) { ++ contains(MODULE_CONFIG, staticlib) { + lib = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB$${lib}.$$QMAKE_EXTENSION_STATICLIB + PRE_TARGETDEPS += $$lib + } else { +- lib = $$MODULE_LIBS/$$QMAKE_PREFIX_SHLIB$${lib}.$$QMAKE_EXTENSION_SHLIB +- } ++ win32 { ++ shared|actually_a_shared_build { ++ lib = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB$${lib}.$$QMAKE_EXTENSION_IMPORTLIB ++ } else { ++ lib = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB$${lib}.$$QMAKE_EXTENSION_STATICLIB ++ } ++ PRE_TARGETDEPS += $$lib ++ } else { ++ lib = $$MODULE_LIBS/$$QMAKE_PREFIX_SHLIB$${lib}.$$QMAKE_EXTENSION_SHLIB ++ } ++ } + LIBS$$var_sfx += $$lib + } + } diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp -index 5a37b218de..29bf9441f7 100644 +index d9887cd36d..4f1a4344df 100644 --- a/qmake/generators/win32/winmakefile.cpp +++ b/qmake/generators/win32/winmakefile.cpp @@ -80,9 +80,13 @@ Win32MakefileGenerator::parseLibFlag(const ProString &flag, ProString *arg) @@ -62,5 +92,5 @@ index 5a37b218de..29bf9441f7 100644 + project->first("QMAKE_EXTENSION_SHLIB")); project->values("TARGET").first() = project->first("QMAKE_PREFIX_SHLIB") + project->first("TARGET"); -- -2.21.0 +2.22.0 diff --git a/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch b/0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch index 4ab26a2ab3b7..10946b0f5393 100644 --- a/0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch +++ b/0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch @@ -1,68 +1,86 @@ -From 71f297d50afe7143f6754a5ea95013cddf25c3ea Mon Sep 17 00:00:00 2001 +From 720bde854fa9d143d0ad8db4794a0dd0efb173a2 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:32:00 +0200 -Subject: [PATCH 22/34] Pull dependencies of static libraries in CMake modules +Subject: [PATCH 20/33] Pull dependencies of static libraries in CMake modules When doing a static build of Qt, the dependencies of the Qt libraries and plugins itself must be specified when linking the final application. + +With Qt 5.13.0 the support for doing that has been re-added. +However, some pieces are still missing and that's what this +patch provides: + +1. Take dependencies of static plugins into account as well +2. Create imported targets for the dependencies to prevent + problems with -Wl,-Bstatic and -Wl,-Bdynamic + +Note that this patch has been harmonized with official changes, +e.g. to use QMAKE_PRL_LIBS instead of QMAKE_PRL_LIBS_FOR_CMAKE. + +See https://github.com/Martchus/PKGBUILDs/issues/86#issuecomment-476840055 +for further details on 2. --- - .../data/cmake/Qt5BasicConfig.cmake.in | 208 +++++++++++++++--- + .../data/cmake/Qt5BasicConfig.cmake.in | 172 ++++++++++++++---- .../data/cmake/Qt5PluginTarget.cmake.in | 11 +- - qmake/generators/makefile.cpp | 16 +- - 3 files changed, 193 insertions(+), 42 deletions(-) + 2 files changed, 139 insertions(+), 44 deletions(-) diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index 3ed6dd5889..9073046205 100644 +index 705e0a3c93..c0097cac74 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -@@ -48,36 +48,111 @@ but not all the files it references. - endif() - endmacro() +@@ -53,10 +53,18 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura + set(_lib_deps) + set(_link_flags) -+!!IF !isEmpty(CMAKE_STATIC_TYPE) -+if(NOT COMMAND _qt5_add_dependencies) -+ # add dependencies via imported targets with their absolute file path so CMake does not mess with them -+ macro(_qt5_add_dependencies IMPORTED_TARGET_NAME IMPORTED_TARGET_CONFIG STATIC_DEPENDENCIES) -+ # prefer static libs -+ set(DEFAULT_CMAKE_FIND_LIBRARY_SUFFIXES \"${CMAKE_FIND_LIBRARY_SUFFIXES}\") -+ set(DEFAULT_CMAKE_FIND_LIBRARY_PREFIXES \"${CMAKE_FIND_LIBRARY_PREFIXES}\") -+ set(CMAKE_FIND_LIBRARY_SUFFIXES .a .lib) -+ set(CMAKE_FIND_LIBRARY_PREFIXES lib \"\") ++ # prefer static libs ++ set(CMAKE_FIND_LIBRARY_SUFFIXES .a .lib) ++ set(CMAKE_FIND_LIBRARY_PREFIXES lib \"\") + + get_filename_component(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib\" ABSOLUTE) + + if(EXISTS \"${prl_file_location}\") + file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS[ \\t]*=\") ++ if(NOT _prl_strings) ++ message(WARNING \"Prl file for Qt 5 module $${CMAKE_MODULE_NAME} does not contain QMAKE_PRL_LIBS. Was looking at \\\"${prl_file_location}\\\".\") ++ return() ++ endif() + string(REGEX REPLACE \"QMAKE_PRL_LIBS[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends ${_prl_strings}) + string(REGEX REPLACE \"[ \\t]+\" \";\" _static_depends ${_static_depends}) + string(REGEX REPLACE \"[ \\t]+\" \";\" _standard_libraries \"${CMAKE_CXX_STANDARD_LIBRARIES}\") +@@ -68,7 +76,7 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura + # Handle normal libraries passed as -lfoo + set(_lib \"${CMAKE_MATCH_1}\") + foreach(_standard_library ${_standard_libraries}) +- if(_standard_library MATCHES \"^${_lib}(\\.lib)?$\") ++ if(_standard_library MATCHES \"^${_lib}(\\\\.lib|\\\\.a)?$\") + set(_lib_is_default_linked TRUE) + break() + endif() +@@ -109,11 +117,42 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura + set(${lib_deps} ${_lib_deps} PARENT_SCOPE) + set(${link_flags} \"SHELL:${_link_flags}\" PARENT_SCOPE) + endfunction() ++ ++if(NOT COMMAND _qt5_add_dependencies) ++ # add dependencies via imported targets so CMake does not mess with their (absolute) file path ++ # which can be problematic with unwanted -Wl,-Bstatic or -Wl,-Bdynamic in the linker line ++ function(_qt5_add_dependencies IMPORTED_TARGET_NAME IMPORTED_TARGET_CONFIG STATIC_DEPENDENCIES) + set(DEPENDENCY_INDEX 0) + unset(EXTRA_PATHS) + unset(DEPENDENCY_TARGETS) + -+ foreach(LIBRARY_NAME ${STATIC_DEPENDENCIES}) -+ if (TARGET \"${LIBRARY_NAME}\") -+ list(APPEND DEPENDENCY_TARGETS \"${LIBRARY_NAME}\") ++ foreach(LIBRARY_LOCATION ${STATIC_DEPENDENCIES}) ++ if (TARGET \"${LIBRARY_LOCATION}\") ++ list(APPEND DEPENDENCY_TARGETS \"${LIBRARY_LOCATION}\") + continue() + endif() + set(DEPENDENCY_NAME ${IMPORTED_TARGET_NAME}_DEPENDENCY_${DEPENDENCY_INDEX}) + if (NOT TARGET \"${DEPENDENCY_NAME}\") -+ if(EXISTS \"${LIBRARY_NAME}\") -+ set(IMPORTED_LOCATION ${LIBRARY_NAME}) -+ elseif(\"${LIBRARY_NAME}\" MATCHES \" *-l(.*)\") -+ set(LIBRARY_NAME \"${CMAKE_MATCH_1}\") -+ find_library(\"${DEPENDENCY_NAME}_LIBRARY_PATH\" \"${LIBRARY_NAME}\" PATHS \"${EXTRA_PATHS}\") -+ if (NOT EXISTS "${${DEPENDENCY_NAME}_LIBRARY_PATH}") -+ message(WARNING \"Unable to find dependency ${LIBRARY_NAME} for static Qt target (was looking in ${EXTRA_PATHS}).\") -+ continue() -+ endif() -+ set(IMPORTED_LOCATION \"${${DEPENDENCY_NAME}_LIBRARY_PATH}\") -+ elseif(\"${LIBRARY_NAME}\" MATCHES \" *-L(.*)\") -+ list(APPEND EXTRA_PATHS \"${CMAKE_MATCH_1}\") -+ else() -+ set(IMPORTED_LOCATION ${LIBRARY_NAME}) -+ message(WARNING \"Format of dependency unknown: ${LIBRARY_NAME}\") -+ endif() + add_library(${DEPENDENCY_NAME} STATIC IMPORTED) -+ set_property(TARGET ${DEPENDENCY_NAME} PROPERTY IMPORTED_LOCATION ${IMPORTED_LOCATION}) -+ endif() -+ if (TARGET ${DEPENDENCY_NAME}) -+ list(APPEND DEPENDENCY_TARGETS ${DEPENDENCY_NAME}) ++ set_property(TARGET ${DEPENDENCY_NAME} PROPERTY IMPORTED_LOCATION ${LIBRARY_LOCATION}) + endif() ++ list(APPEND DEPENDENCY_TARGETS ${DEPENDENCY_NAME}) + math(EXPR DEPENDENCY_INDEX \"${DEPENDENCY_INDEX} + 1\") + endforeach() + @@ -72,14 +90,10 @@ index 3ed6dd5889..9073046205 100644 + if (NOT \"${IMPORTED_TARGET_CONFIG}\" STREQUAL \"ALL\") + set_property(TARGET ${IMPORTED_TARGET_NAME} PROPERTY INTERFACE_LINK_LIBRARIES_${IMPORTED_TARGET_CONFIG} ${DEPENDENCY_TARGETS}) + endif() -+ -+ # restore previous setup -+ set(CMAKE_FIND_LIBRARY_SUFFIXES \"${DEFAULT_CMAKE_FIND_LIBRARY_SUFFIXES}\") -+ set(CMAKE_FIND_LIBRARY_PREFIXES \"${DEFAULT_CMAKE_FIND_LIBRARY_PREFIXES}\") -+ endmacro() ++ endfunction() +endif() -+!!ENDIF -+ + !!ENDIF + !!IF !equals(TEMPLATE, aux) -macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION) - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) @@ -88,38 +102,50 @@ index 3ed6dd5889..9073046205 100644 !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") - !!ELSE +@@ -121,44 +160,62 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") !!ENDIF -+ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) + + set(_deps + ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES} + !!IF !isEmpty(CMAKE_STATIC_TYPE) +- ${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LIB_DEPENDENCIES} ++ ${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${TARGET_CONFIG}_LIB_DEPENDENCIES} + !!ENDIF + ) ++ +!!IF !isEmpty(CMAKE_STATIC_TYPE) -+ if (_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES) -+ set(_list_sep \";\") -+ endif() -+ set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES -+ \"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location} -+!!IF !isEmpty(CMAKE_LIB_SONAME) -+ \"IMPORTED_SONAME_${TARGET_CONFIG}\" \"$${CMAKE_LIB_SONAME}\" -+!!ENDIF -+ ) -+ _qt5_add_dependencies(Qt5::$${CMAKE_MODULE_NAME} \"${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}${_list_sep}${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${TARGET_CONFIG}_LIB_DEPENDENCIES}\") -+!!ELSE set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES -- \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" +- \"INTERFACE_LINK_LIBRARIES\" \"${_deps}\" - \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} -+ \"INTERFACE_LINK_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" + \"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location} !!IF !isEmpty(CMAKE_LIB_SONAME) - \"IMPORTED_SONAME_${Configuration}\" \"$${CMAKE_LIB_SONAME}\" + \"IMPORTED_SONAME_${TARGET_CONFIG}\" \"$${CMAKE_LIB_SONAME}\" !!ENDIF - # For backward compatibility with CMake < 2.8.12 -- \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" -+ \"IMPORTED_LINK_INTERFACE_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" +- # For backward compatibility with CMake < 2.8.12 +- \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_deps}\" ) +-!!IF !isEmpty(CMAKE_STATIC_TYPE) +- ++ _qt5_add_dependencies(Qt5::$${CMAKE_MODULE_NAME} \"${TARGET_CONFIG}\" \"${_deps}\") + if(NOT CMAKE_VERSION VERSION_LESS \"3.13\") + set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES + \"INTERFACE_LINK_OPTIONS\" \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LINK_FLAGS}\" + ) + endif() ++!!ELSE ++ set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES ++ \"INTERFACE_LINK_LIBRARIES_${TARGET_CONFIG}\" \"${_deps}\" ++ \"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location} ++!!IF !isEmpty(CMAKE_LIB_SONAME) ++ \"IMPORTED_SONAME_${TARGET_CONFIG}\" \"$${CMAKE_LIB_SONAME}\" +!!ENDIF ++ # For backward compatibility with CMake < 2.8.12 ++ \"IMPORTED_LINK_INTERFACE_LIBRARIES_${TARGET_CONFIG}\" \"${_deps}\" ++ ) + !!ENDIF !!IF !isEmpty(CMAKE_WINDOWS_BUILD) !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) @@ -136,40 +162,24 @@ index 3ed6dd5889..9073046205 100644 ) endif() !!ENDIF -@@ -217,13 +292,45 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) - !!IF !isEmpty(CMAKE_STATIC_TYPE) + endmacro() ++ ++macro(_populate_$${CMAKE_MODULE_NAME}_plugin_target_dependencies_from_prl_file PLUGIN_TARGET_NAME PRL_FILE_LOCATION CONFIGURATION LIB_DIRECTORY LIB_LOCATION) ++ _qt5_$${CMAKE_MODULE_NAME}_process_prl_file( ++ \"${PRL_FILE_LOCATION}\" ++ \"${CONFIGURATION}\" ++ _Qt5$${CMAKE_MODULE_NAME}_STATIC_PLUGIN_${CONFIGURATION}_LIB_DEPENDENCIES ++ _Qt5$${CMAKE_MODULE_NAME}_STATIC_PLUGIN_${CONFIGURATION}_LINK_FLAGS) ++ _qt5_add_dependencies(\"${PLUGIN_TARGET_NAME}\" ALL \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_PLUGIN_${CONFIGURATION}_LIB_DEPENDENCIES}\") ++endmacro() + !!ENDIF + + if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -328,13 +385,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") -+ macro(_process_prl_file PRL_FILE_LOCATION CONFIGURATION) -+ if (EXISTS \"${PRL_FILE_LOCATION}\") -+ file(STRINGS \"${PRL_FILE_LOCATION}\" prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE\") -+ string(REGEX REPLACE \"QMAKE_PRL_LIBS_FOR_CMAKE *= *([^\\n]*)\" \"\\\\1\" static_depends ${prl_strings}) -+ string(REGEX REPLACE \"\\\\$\\\\$\\\\[QT_INSTALL_LIBS\\\\]\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib\" static_depends \"${static_depends}\") -+ string(REPLACE \"-framework;\" \"-framework \" static_depends \"${static_depends}\") -+ if (_Qt5$${CMAKE_MODULE_NAME}_STATIC_${CONFIGURATION}_LIB_DEPENDENCIES) -+ set(_list_sep \";\") -+ endif() -+ set(_Qt5$${CMAKE_MODULE_NAME}_STATIC_${CONFIGURATION}_LIB_DEPENDENCIES \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${CONFIGURATION}_LIB_DEPENDENCIES}${_list_sep}${static_depends}\") -+ endif() -+ endmacro() -+ -+ macro(_populate_plugin_target_dependencies_from_prl_file PLUGIN_TARGET_NAME PRL_FILE_LOCATION CONFIGURATION LIB_DIRECTORY LIB_LOCATION) -+ file(STRINGS "${PRL_FILE_LOCATION}" prl_strings REGEX "QMAKE_PRL_LIBS_FOR_CMAKE") -+ string(REGEX REPLACE \"QMAKE_PRL_LIBS_FOR_CMAKE *= *([^\n]*)\" \"\\\\1\" static_depends ${prl_strings}) -+ string(REGEX REPLACE \"\\\\$\\\\$\\\\[QT_INSTALL_LIBS\\\\]\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib\" static_depends \"${static_depends}\") -+ _qt5_add_dependencies(\"${PLUGIN_TARGET_NAME}\" ALL \"${static_depends}\") -+ endmacro() -+ -+!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -+ _process_prl_file(\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG) - !!ELSE -+ _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG) -+!!ENDIF -+!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -+ _process_prl_file(\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE) -+!!ELSE -+ _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE) -+!!ENDIF +-!!ELSE + +!!ELSE // !isEmpty(CMAKE_STATIC_TYPE) !!IF equals(TEMPLATE, aux) @@ -183,7 +193,7 @@ index 3ed6dd5889..9073046205 100644 !!IF !equals(TEMPLATE, aux) !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1) -@@ -238,6 +345,56 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -349,6 +408,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, ";")) @@ -226,7 +236,7 @@ index 3ed6dd5889..9073046205 100644 + if(NOT EXISTS ${PLUGIN_PRL_FILE_LOCATION}) + message(FATAL_ERROR "The prl file containing dependencies of static plugin ${PLUGIN_TARGET_NAME} of ${TARGET_NAME} could not be found.") + endif() -+ _populate_plugin_target_dependencies_from_prl_file(${PLUGIN_TARGET_NAME} ${PLUGIN_PRL_FILE_LOCATION} ${CONFIG} \"lib/qt/plugins\" ${PLUGIN_LOCATION}) ++ _populate_$${CMAKE_MODULE_NAME}_plugin_target_dependencies_from_prl_file(${PLUGIN_TARGET_NAME} ${PLUGIN_PRL_FILE_LOCATION} ${CONFIG} \"lib/qt/plugins\" ${PLUGIN_LOCATION}) +!!ENDIF + + endmacro() @@ -240,7 +250,7 @@ index 3ed6dd5889..9073046205 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}) -@@ -256,9 +413,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -367,9 +476,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) list(APPEND _Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS ${dep}Private) endif() endforeach() @@ -254,7 +264,7 @@ index 3ed6dd5889..9073046205 100644 endif() !!IF !equals(TEMPLATE, aux) -@@ -328,9 +489,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -439,9 +552,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ELSE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) !!ENDIF @@ -268,7 +278,7 @@ index 3ed6dd5889..9073046205 100644 !!ENDIF // CMAKE_RELEASE_TYPE !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD -@@ -341,29 +504,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -452,29 +567,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) ) !!ENDIF // TEMPLATE != aux @@ -321,33 +331,6 @@ index 5baf0fdb10..ec5f3cc437 100644 list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) + +endif() -diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp -index e0c42131f8..94dfed92b3 100644 ---- a/qmake/generators/makefile.cpp -+++ b/qmake/generators/makefile.cpp -@@ -1019,10 +1019,18 @@ MakefileGenerator::writePrlFile(QTextStream &t) - libs << "LIBS" << "QMAKE_LIBS"; - else - libs << "LIBS" << "LIBS_PRIVATE" << "QMAKE_LIBS" << "QMAKE_LIBS_PRIVATE"; -- t << "QMAKE_PRL_LIBS ="; -- for (ProStringList::Iterator it = libs.begin(); it != libs.end(); ++it) -- t << qv(project->values((*it).toKey())); -- t << endl; -+ QStringList libNames; -+ QStringList libNamesCMake; -+ for (const auto &lib : libs) { -+ for (const auto &libName : project->values(lib.toKey())) { -+ libNames << QMakeEvaluator::quoteValue(libName); -+ QString libNameCMake(libName.toQString()); -+ libNameCMake.replace(QChar('\\'), QLatin1String("\\\\")); -+ libNamesCMake << libNameCMake; -+ } -+ } -+ t << "QMAKE_PRL_LIBS = " << libNames.join(QChar(' ')) << endl; -+ t << "QMAKE_PRL_LIBS_FOR_CMAKE = " << libNamesCMake.join(QChar(';')) << endl; - } - } - -- -2.21.0 +2.22.0 diff --git a/0023-Allow-usage-of-static-version-with-CMake.patch b/0021-Allow-usage-of-static-version-with-CMake.patch index 4a4eb42b3162..8a8dde9e26f7 100644 --- a/0023-Allow-usage-of-static-version-with-CMake.patch +++ b/0021-Allow-usage-of-static-version-with-CMake.patch @@ -1,7 +1,7 @@ -From d9e7255dcfbf1d5775712902d9ce513d3e235128 Mon Sep 17 00:00:00 2001 +From 7c539241c220ce50da61ef811daae18489b5df19 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sat, 5 Aug 2017 21:14:26 +0200 -Subject: [PATCH 23/34] Allow usage of static version with CMake +Subject: [PATCH 21/33] Allow usage of static version with CMake Allow selecting between dynamic and static Qt versions installed in the same prefix @@ -12,21 +12,21 @@ installed in the same prefix via regular find_package(Qt5Core) --- mkspecs/features/create_cmake.prf | 103 +++--- - .../data/cmake/Qt5BasicConfig.cmake.in | 305 ++++++++++++------ + .../data/cmake/Qt5BasicConfig.cmake.in | 296 ++++++++++++------ .../data/cmake/Qt5PluginTarget.cmake.in | 18 +- .../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, 316 insertions(+), 155 deletions(-) + 7 files changed, 309 insertions(+), 153 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 7694d1c7ae..38887a6ccf 100644 +index 226dc93c4d..0e9afa4eaf 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf -@@ -42,7 +42,7 @@ split_incpath { - $$QT_MODULE_INCLUDE_BASE/Qt$${CMAKE_MODULE_NAME}/$$eval(QT.$${MODULE}.VERSION)/Qt$${CMAKE_MODULE_NAME}) +@@ -51,7 +51,7 @@ split_incpath { + $$QT_MODULE_INCLUDE_BASE/$${CMAKE_INCLUDE_NAME}/$$eval(QT.$${MODULE}.VERSION)/$${CMAKE_INCLUDE_NAME}) cmake_extra_source_includes.input = $$PWD/data/cmake/ExtraSourceIncludes.cmake.in - cmake_extra_source_includes.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/ExtraSourceIncludes.cmake @@ -34,7 +34,7 @@ index 7694d1c7ae..38887a6ccf 100644 !build_pass:QMAKE_SUBSTITUTES += \ cmake_extra_source_includes -@@ -92,6 +92,8 @@ win32:!static:!staticlib { +@@ -101,6 +101,8 @@ win32:!static:!staticlib { } static|staticlib:CMAKE_STATIC_TYPE = true @@ -43,7 +43,7 @@ index 7694d1c7ae..38887a6ccf 100644 CMAKE_DEBUG_TYPE = CMAKE_RELEASE_TYPE = -@@ -137,17 +139,19 @@ contains(CONFIG, plugin) { +@@ -146,17 +148,19 @@ contains(CONFIG, plugin) { CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME win32 { @@ -67,7 +67,7 @@ index 7694d1c7ae..38887a6ccf 100644 mac { isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib else: CMAKE_PlUGIN_EXT = .a -@@ -163,13 +167,13 @@ contains(CONFIG, plugin) { +@@ -172,13 +176,13 @@ contains(CONFIG, plugin) { } } cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in @@ -83,7 +83,7 @@ index 7694d1c7ae..38887a6ccf 100644 INSTALLS += cmake_qt5_plugin_file return() -@@ -182,29 +186,38 @@ mod_deps = +@@ -191,25 +195,34 @@ mod_deps = lib_deps = aux_mod_deps = aux_lib_deps = @@ -117,16 +117,12 @@ index 7694d1c7ae..38887a6ccf 100644 +CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC = $$join(aux_compile_defs_static, ";") + - # TARGET here is the one changed at the end of qt_module.prf, - # which already contains the Qt5 prefix and QT_LIBINFIX suffix - CMAKE_QT_STEM = $${TARGET} - 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 -@@ -232,35 +245,33 @@ mac { +@@ -237,35 +250,33 @@ mac { CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a @@ -181,7 +177,7 @@ index 7694d1c7ae..38887a6ccf 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 -@@ -280,12 +291,12 @@ mac { +@@ -285,12 +296,12 @@ mac { INSTALLS += cmake_qt5_module_files cmake_config_file.input = $$PWD/data/cmake/Qt5BasicConfig.cmake.in @@ -196,7 +192,7 @@ index 7694d1c7ae..38887a6ccf 100644 !build_pass:QMAKE_SUBSTITUTES += \ cmake_config_file \ -@@ -295,11 +306,29 @@ cmake_qt5_module_files.files = \ +@@ -300,11 +311,29 @@ cmake_qt5_module_files.files = \ $$cmake_config_file.output \ $$cmake_config_version_file.output @@ -227,7 +223,7 @@ index 7694d1c7ae..38887a6ccf 100644 !build_pass:QMAKE_SUBSTITUTES += cmake_extras_file -@@ -311,7 +340,7 @@ cmake_macros_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}Macros.cmake +@@ -316,7 +345,7 @@ cmake_macros_file.input = $$_PRO_FILE_PWD_/Qt5$${CMAKE_MODULE_NAME}Macros.cmake exists($$cmake_macros_file.input) { CMAKE_MODULE_MACROS = "true" @@ -236,7 +232,7 @@ index 7694d1c7ae..38887a6ccf 100644 cmake_macros_file.CONFIG = verbatim !build_pass:QMAKE_SUBSTITUTES += cmake_macros_file -@@ -319,7 +348,7 @@ exists($$cmake_macros_file.input) { +@@ -324,7 +353,7 @@ exists($$cmake_macros_file.input) { cmake_qt5_module_files.files += $$cmake_macros_file.output } @@ -246,7 +242,7 @@ index 7694d1c7ae..38887a6ccf 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 9073046205..9b6cc352b5 100644 +index c0097cac74..94e3b08751 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) @@ -309,9 +305,9 @@ index 9073046205..9b6cc352b5 100644 but this file does not exist. Possible reasons include: * The file was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. -@@ -106,33 +137,68 @@ if(NOT COMMAND _qt5_add_dependencies) - set(CMAKE_FIND_LIBRARY_PREFIXES \"${DEFAULT_CMAKE_FIND_LIBRARY_PREFIXES}\") - endmacro() +@@ -148,18 +179,48 @@ if(NOT COMMAND _qt5_add_dependencies) + endif() + endfunction() endif() + +# ensure also regular/dynamic macro exists because it might be used in some extra config @@ -355,35 +351,31 @@ index 9073046205..9b6cc352b5 100644 !!ELSE set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") !!ENDIF - -+!!ENDIF // isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) -+ -+!!IF !isEmpty(CMAKE_STATIC_TYPE) -+ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists_static(${imported_location}) -+!!ELSE _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) +!!ENDIF + set(_deps + ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES} +@@ -169,15 +230,15 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI + ) + !!IF !isEmpty(CMAKE_STATIC_TYPE) - if (_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES) - set(_list_sep \";\") - endif() - set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES -+ set_target_properties(${TARGET_NAME} PROPERTIES ++ set_target_properties(\"${TARGET_NAME}\" PROPERTIES \"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location} !!IF !isEmpty(CMAKE_LIB_SONAME) \"IMPORTED_SONAME_${TARGET_CONFIG}\" \"$${CMAKE_LIB_SONAME}\" !!ENDIF ) -- _qt5_add_dependencies(Qt5::$${CMAKE_MODULE_NAME} \"${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}${_list_sep}${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${TARGET_CONFIG}_LIB_DEPENDENCIES}\") -+ _qt5_add_dependencies(\"${TARGET_NAME}\" \"${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}${_list_sep}${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${TARGET_CONFIG}_LIB_DEPENDENCIES}\") - !!ELSE -- set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES -+ set_target_properties(${TARGET_NAME} PROPERTIES - \"INTERFACE_LINK_LIBRARIES_${TARGET_CONFIG}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" - \"IMPORTED_LOCATION_${TARGET_CONFIG}\" ${imported_location} - !!IF !isEmpty(CMAKE_LIB_SONAME) -@@ -149,9 +215,13 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI +- _qt5_add_dependencies(Qt5::$${CMAKE_MODULE_NAME} \"${TARGET_CONFIG}\" \"${_deps}\") ++ _qt5_add_dependencies(\"${TARGET_NAME}\" \"${TARGET_CONFIG}\" \"${_deps}\") + if(NOT CMAKE_VERSION VERSION_LESS \"3.13\") +- set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES ++ set_target_properties(\"${TARGET_NAME}\" PROPERTIES + \"INTERFACE_LINK_OPTIONS\" \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LINK_FLAGS}\" + ) + endif() +@@ -199,9 +260,13 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI !!ELSE set(imported_implib \"IMPORTED_IMPLIB_${TARGET_CONFIG}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") !!ENDIF @@ -398,25 +390,24 @@ index 9073046205..9b6cc352b5 100644 \"IMPORTED_IMPLIB_${TARGET_CONFIG}\" ${imported_implib} ) endif() -@@ -159,8 +229,9 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties TARGET_CONFIG LIB_LOCATI +@@ -218,8 +283,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_plugin_target_dependencies_from_prl_file P endmacro() !!ENDIF -if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) -+set(TARGET_NAME ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}) - -+if(NOT TARGET ${TARGET_NAME}) +- ++if(NOT TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}) !!IF !no_module_headers !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS -@@ -168,46 +239,50 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" +@@ -227,46 +291,50 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\" ) !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS + set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" ) -!!ELSE - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") @@ -434,15 +425,12 @@ index 9073046205..9b6cc352b5 100644 \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" ) --!!ELSE + !!ELSE - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") --!!ENDIF --!!ELSE -+!!ELSE // isEmpty(CMAKE_NO_PRIVATE_INCLUDES) + set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") -+!!ENDIF // isEmpty(CMAKE_NO_PRIVATE_INCLUDES) -+!!ELSE // isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) - set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\" \"$${CMAKE_INCLUDE_DIR}Qt$${CMAKE_MODULE_NAME}\") + !!ENDIF + !!ELSE + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\" \"$${CMAKE_INCLUDE_DIR}$${CMAKE_INCLUDE_NAME}\") !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS + set(${QT_VARIANT_PREFIX}Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS @@ -477,7 +465,7 @@ index 9073046205..9b6cc352b5 100644 endforeach() !!IF isEmpty(CMAKE_BUILD_IS_FRAMEWORK) -@@ -216,16 +291,20 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -275,16 +343,20 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) list(FIND Qt5$${CMAKE_MODULE_NAME}_FIND_COMPONENTS Private _check_private) if (NOT _check_private STREQUAL -1) foreach(_dir ${Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS}) @@ -501,7 +489,7 @@ index 9073046205..9b6cc352b5 100644 !!ENDIF // TEMPLATE != aux set(_Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_MODULE_DEPS}\") -@@ -233,10 +312,10 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -292,10 +364,10 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) list(APPEND _Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_INTERFACE_MODULE_DEPS}\") !!ENDIF @@ -514,7 +502,7 @@ index 9073046205..9b6cc352b5 100644 set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED REQUIRED) endif() set(_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_QUIET) -@@ -244,17 +323,17 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -303,17 +375,17 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) set(_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET QUIET) endif() set(_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT) @@ -536,7 +524,7 @@ index 9073046205..9b6cc352b5 100644 $$VERSION ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT} ${_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET} ${_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED} -@@ -262,36 +341,41 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -321,28 +393,32 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) ) endif() @@ -581,79 +569,94 @@ index 9073046205..9b6cc352b5 100644 !!IF !isEmpty(CMAKE_INTERFACE_QT5_MODULE_DEPS) list(APPEND _Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES \"$${CMAKE_INTERFACE_QT5_MODULE_DEPS}\") - !!ENDIF - - !!IF !isEmpty(CMAKE_STATIC_TYPE) -- add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED) -- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX") -+ add_library(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED) -+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX") -+ - macro(_process_prl_file PRL_FILE_LOCATION CONFIGURATION) - if (EXISTS \"${PRL_FILE_LOCATION}\") - file(STRINGS \"${PRL_FILE_LOCATION}\" prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE\") -@@ -313,37 +397,48 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) - endmacro() - +@@ -353,13 +429,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + !!IF !isEmpty(CMAKE_DEBUG_TYPE) !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- _process_prl_file(\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG) -+ _process_prl_file(\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC}\" DEBUG) + _qt5_$${CMAKE_MODULE_NAME}_process_prl_file( +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG ++ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC}\" DEBUG + _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES + _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LINK_FLAGS + ) !!ELSE -- _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG) -+ _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC}\" DEBUG) - !!ENDIF + _qt5_$${CMAKE_MODULE_NAME}_process_prl_file( +- \"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG ++ \"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC}\" DEBUG + _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES + _Qt5$${CMAKE_MODULE_NAME}_STATIC_DEBUG_LINK_FLAGS + ) +@@ -369,13 +445,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + !!IF !isEmpty(CMAKE_RELEASE_TYPE) !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- _process_prl_file(\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE) -+ _process_prl_file(\"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC}\" RELEASE) + _qt5_$${CMAKE_MODULE_NAME}_process_prl_file( +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE ++ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC}\" RELEASE + _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES + _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LINK_FLAGS + ) !!ELSE -- _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE) -+ _process_prl_file(\"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC}\" RELEASE) + _qt5_$${CMAKE_MODULE_NAME}_process_prl_file( +- \"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE ++ \"$${CMAKE_LIB_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC}\" RELEASE + _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES + _Qt5$${CMAKE_MODULE_NAME}_STATIC_RELEASE_LINK_FLAGS + ) +@@ -383,30 +459,44 @@ 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") !!ELSE // !isEmpty(CMAKE_STATIC_TYPE) !!IF equals(TEMPLATE, aux) - add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED) -+ add_library(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED) ++ add_library(${TARGET_NAME} INTERFACE IMPORTED) !!ELSE - add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED) -+ add_library(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED) ++ add_library(${TARGET_NAME} SHARED IMPORTED) !!ENDIF !!ENDIF // !isEmpty(CMAKE_STATIC_TYPE) !!IF !equals(TEMPLATE, aux) !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1) -+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1) ++ set_property(TARGET ${TARGET_NAME} PROPERTY FRAMEWORK 1) ++!!ENDIF ++!!ENDIF // TEMPLATE != aux ++ ++!!IF !equals(TEMPLATE, aux) ++!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) ++ set_property(TARGET ${TARGET_NAME} PROPERTY FRAMEWORK 1) !!ENDIF !!ENDIF // TEMPLATE != aux - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY -+!!IF !equals(TEMPLATE, aux) -+!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) -+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1) -+!!ENDIF -+!!ENDIF // TEMPLATE != aux -+ -+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY ++ set_property(TARGET ${TARGET_NAME} PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS}) - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY - INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINES}) +!!IF !isEmpty(CMAKE_STATIC_TYPE) -+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY ++ set_property(TARGET ${TARGET_NAME} PROPERTY + INTERFACE_COMPILE_DEFINITIONS $${CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC} $${MODULE_DEFINES}) +!!ELSE -+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY ++ set_property(TARGET ${TARGET_NAME} PROPERTY + INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINES}) +!!ENDIF - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_ENABLED_FEATURES $$join(QT.$${MODULE}.enabled_features, ";")) - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_DISABLED_FEATURES $$join(QT.$${MODULE}.disabled_features, ";")) -+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_ENABLED_FEATURES $$join(QT.$${MODULE}.enabled_features, ";")) -+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_DISABLED_FEATURES $$join(QT.$${MODULE}.disabled_features, ";")) ++ set_property(TARGET ${TARGET_NAME} PROPERTY INTERFACE_QT_ENABLED_FEATURES $$join(QT.$${MODULE}.enabled_features, ";")) ++ set_property(TARGET ${TARGET_NAME} PROPERTY INTERFACE_QT_DISABLED_FEATURES $$join(QT.$${MODULE}.disabled_features, ";")) # Find plugin targets file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/*Qt5$${CMAKE_MODULE_NAME}_*.cmake\") -@@ -357,7 +452,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -420,7 +510,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) endforeach() endif() @@ -665,7 +668,7 @@ index 9073046205..9b6cc352b5 100644 set_property(TARGET ${PLUGIN_TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${CONFIG}) !!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) -@@ -365,7 +464,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -428,7 +522,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ELSE set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") !!ENDIF @@ -677,7 +680,7 @@ index 9073046205..9b6cc352b5 100644 set_target_properties(${PLUGIN_TARGET_NAME} PROPERTIES \"IMPORTED_LOCATION_${CONFIG}\" ${imported_location} ) -@@ -396,16 +499,16 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -459,16 +557,16 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) endif() set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST TRUE) @@ -692,24 +695,24 @@ index 9073046205..9b6cc352b5 100644 - add_library(Qt5::$${CMAKE_MODULE_NAME}Private INTERFACE IMPORTED) - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY - INTERFACE_INCLUDE_DIRECTORIES ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS} -+ add_library(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}Private INTERFACE IMPORTED) -+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY ++ 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} ) set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS) foreach(dep ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}) -@@ -414,69 +517,72 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -477,69 +575,72 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) endif() endforeach() !!IF !isEmpty(CMAKE_STATIC_TYPE) - _qt5_add_dependencies(Qt5::$${CMAKE_MODULE_NAME}Private ALL \"Qt5::$${CMAKE_MODULE_NAME};${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS}\") -+ _qt5_add_dependencies(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}Private ALL -+ \"${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME};${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS}\") ++ _qt5_add_dependencies(${TARGET_NAME}Private ALL ++ \"${TARGET_NAME};${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS}\") !!ELSE - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY - INTERFACE_LINK_LIBRARIES Qt5::$${CMAKE_MODULE_NAME} ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS} -+ set_property(TARGET ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY -+ INTERFACE_LINK_LIBRARIES ${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS} ++ set_property(TARGET ${TARGET_NAME}Private PROPERTY ++ INTERFACE_LINK_LIBRARIES ${TARGET_NAME} ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS} ) !!ENDIF // CMAKE_STATIC_TYPE endif() @@ -719,11 +722,11 @@ index 9073046205..9b6cc352b5 100644 -!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) - _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) +!!IF !isEmpty(CMAKE_STATIC_TYPE) -+ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC}\" \"\" ) ++ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${TARGET_NAME} RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC}\" \"\" ) !!ELSE - _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) -!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD -+ _populate_$${CMAKE_MODULE_NAME}_target_properties(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) ++ _populate_$${CMAKE_MODULE_NAME}_target_properties(${TARGET_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +!!ENDIF // CMAKE_STATIC_TYPE + @@ -739,7 +742,7 @@ index 9073046205..9b6cc352b5 100644 !!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE - _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) -!!ELSE // CMAKE_STATIC_WINDOWS_BUILD -+ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC}\" \"\" ) ++ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${TARGET_NAME} DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC}\" \"\" ) + endif() +!!ELSE // CMAKE_STATIC_TYPE if (EXISTS @@ -757,7 +760,7 @@ index 9073046205..9b6cc352b5 100644 !!ENDIF - _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) -!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD -+ _populate_$${CMAKE_MODULE_NAME}_target_properties(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) ++ _populate_$${CMAKE_MODULE_NAME}_target_properties(${TARGET_NAME} DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) endif() +!!ENDIF // CMAKE_STATIC_TYPE !!ENDIF // CMAKE_DEBUG_TYPE @@ -789,26 +792,26 @@ index 9073046205..9b6cc352b5 100644 !!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE - _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) -!!ELSE // CMAKE_STATIC_WINDOWS_BUILD -+ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC}\" \"\" ) ++ _populate_$${CMAKE_MODULE_NAME}_target_properties_static(${TARGET_NAME} RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC}\" \"\" ) +!!ELSE // CMAKE_STATIC_TYPE if (EXISTS !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" -@@ -489,7 +595,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -552,7 +653,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ELSE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) !!ENDIF - _populate_$${CMAKE_MODULE_NAME}_target_properties(Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) -+ _populate_$${CMAKE_MODULE_NAME}_target_properties(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) ++ _populate_$${CMAKE_MODULE_NAME}_target_properties(${TARGET_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) endif() !!ENDIF // CMAKE_STATIC_TYPE -@@ -499,19 +605,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) +@@ -562,19 +663,22 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ENDIF // CMAKE_DEBUG_TYPE !!ELSE // TEMPLATE != aux - set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES -+ set_target_properties(${QT_VARIANT_PREFIX}Qt5::$${CMAKE_MODULE_NAME} PROPERTIES ++ set_target_properties(${TARGET_NAME} PROPERTIES INTERFACE_LINK_LIBRARIES \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" ) !!ENDIF // TEMPLATE != aux @@ -962,7 +965,7 @@ index e0652fdcf9..f0add757bb 100644 $<$<AND:${_isExe},${_isWin32},${_isNotExcluded},${_isPolicyNEW}>:Qt5::WinMain> ) diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in -index 46a8696ff3..2783f7f9e9 100644 +index 84dbbfebd4..31fa875b6c 100644 --- a/src/gui/Qt5GuiConfigExtras.cmake.in +++ b/src/gui/Qt5GuiConfigExtras.cmake.in @@ -1,4 +1,6 @@ @@ -1005,5 +1008,5 @@ index 2a575958ae..ca0e3be3b5 100644 INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\" ) -- -2.21.0 +2.22.0 diff --git a/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch b/0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch index b626f51c88d5..3955342866ee 100644 --- a/0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch +++ b/0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch @@ -1,7 +1,7 @@ -From 96e14e82726f32e222c506c41b3917897ec8482c Mon Sep 17 00:00:00 2001 +From eef6cc9b95d30179b2db3f655d542db7344bb405 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 2 Jun 2017 16:42:07 +0200 -Subject: [PATCH 24/34] Adjust linker flags for static build with +Subject: [PATCH 22/33] Adjust linker flags for static build with cmake/mingw-w64 Change-Id: I33b88976d8f5ce87ce431a6f422fe87785bf5b8d @@ -25,5 +25,5 @@ index f0add757bb..5328da2e80 100644 +unset(_isExe) +!!ENDIF -- -2.21.0 +2.22.0 diff --git a/0025-Use-correct-pkg-config-static-flag.patch b/0023-Use-correct-pkg-config-static-flag.patch index c155450e6e95..f34053974c45 100644 --- a/0025-Use-correct-pkg-config-static-flag.patch +++ b/0023-Use-correct-pkg-config-static-flag.patch @@ -1,17 +1,17 @@ -From 1bcc8c23d8acce7855ebba3ad97d088f19831414 Mon Sep 17 00:00:00 2001 +From a36b39ed36b3c584bdd82cf31ea5d1db0228e743 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 18 Sep 2016 18:50:21 +0200 -Subject: [PATCH 25/34] Use correct pkg-config --static flag +Subject: [PATCH 23/33] Use correct pkg-config --static flag --- configure.pri | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configure.pri b/configure.pri -index 75203c4572..377788d653 100644 +index 927fcbe132..ab5e1088b3 100644 --- a/configure.pri +++ b/configure.pri -@@ -328,6 +328,9 @@ defineTest(qtConfTest_detectPkgConfig) { +@@ -350,6 +350,9 @@ defineTest(qtConfTest_detectPkgConfig) { qtLog("Found pkg-config from path: $$pkgConfig") } } @@ -22,5 +22,5 @@ index 75203c4572..377788d653 100644 $$qtConfEvaluate("features.cross_compile") { # cross compiling, check that pkg-config is set up sanely -- -2.21.0 +2.22.0 diff --git a/0026-Fix-macro-invoking-moc-rcc-and-uic.patch b/0024-Fix-macro-invoking-moc-rcc-and-uic.patch index 216c33d3c65d..2c7c89c218ac 100644 --- a/0026-Fix-macro-invoking-moc-rcc-and-uic.patch +++ b/0024-Fix-macro-invoking-moc-rcc-and-uic.patch @@ -1,7 +1,7 @@ -From 52682db5b750289cdd3dc68682861da8507db2b3 Mon Sep 17 00:00:00 2001 +From 8d11fcd322083c7ed3277df0931319a0f082fe51 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 4 Dec 2016 20:35:47 +0100 -Subject: [PATCH 26/34] Fix macro invoking moc, rcc and uic +Subject: [PATCH 24/33] 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 620795d2cf..1e80a47980 100644 +index 78b99f5bfe..d383b4e4d8 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.21.0 +2.22.0 diff --git a/0027-Ignore-errors-about-missing-feature-static.patch b/0025-Ignore-errors-about-missing-feature-static.patch index 24028c870f48..4e56453a03aa 100644 --- a/0027-Ignore-errors-about-missing-feature-static.patch +++ b/0025-Ignore-errors-about-missing-feature-static.patch @@ -1,7 +1,7 @@ -From 0dd39f4bc9414441e8cdfe2cff1636102d15ee53 Mon Sep 17 00:00:00 2001 +From d7094ac797963aabfd2f09402fbdab1730ace836 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Wed, 25 Jan 2017 20:59:54 +0100 -Subject: [PATCH 27/34] Ignore errors about missing feature static +Subject: [PATCH 25/33] Ignore errors about missing feature static Not sure why this error occurs, let's hope for the best --- @@ -32,5 +32,5 @@ index 1903e509c8..1fcb597fa3 100644 + !equals($$1, "static"): error("Could not find feature $${1}.") } -- -2.21.0 +2.22.0 diff --git a/0028-Enable-and-fix-use-of-iconv.patch b/0026-Enable-and-fix-use-of-iconv.patch index fba4a80e2c65..945dbc91a31e 100644 --- a/0028-Enable-and-fix-use-of-iconv.patch +++ b/0026-Enable-and-fix-use-of-iconv.patch @@ -1,7 +1,7 @@ -From 837aab47427a3c3a2d44b321d2d64d4220293e07 Mon Sep 17 00:00:00 2001 +From 5eb8a0d8bdeb9d9a332d730a19be663c00f4994b Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Wed, 25 Jan 2017 21:08:20 +0100 -Subject: [PATCH 28/34] Enable and fix use of iconv +Subject: [PATCH 26/33] Enable and fix use of iconv Change-Id: I5f0ab27afca0800dec11c7af74d196190820ae5c --- @@ -49,10 +49,10 @@ index 9c39727946..cc14036b25 100644 #else char **inBytesPtr = &inBytes; diff --git a/src/corelib/configure.json b/src/corelib/configure.json -index 5f5a00a64f..d779c3c4ff 100644 +index b7eefb58c8..fef7ac57de 100644 --- a/src/corelib/configure.json +++ b/src/corelib/configure.json -@@ -71,7 +71,7 @@ +@@ -72,7 +72,7 @@ "test": { "main": [ "iconv_t x = iconv_open(\"\", \"\");", @@ -61,7 +61,7 @@ index 5f5a00a64f..d779c3c4ff 100644 "char *outp;", "size_t inbytes, outbytes;", "iconv(x, &inp, &inbytes, &outp, &outbytes);", -@@ -631,9 +631,9 @@ +@@ -632,9 +632,9 @@ }, "gnu-libiconv": { "label": "GNU iconv", @@ -74,5 +74,5 @@ index 5f5a00a64f..d779c3c4ff 100644 }, "icu": { -- -2.21.0 +2.22.0 diff --git a/0029-Ignore-failing-pkg-config-test.patch b/0027-Ignore-failing-pkg-config-test.patch index 9c49adfbcc0c..8fb9a3fb0ef1 100644 --- a/0029-Ignore-failing-pkg-config-test.patch +++ b/0027-Ignore-failing-pkg-config-test.patch @@ -1,7 +1,7 @@ -From 48f35ff2e010746ee29e5e38f67e11680c420fa0 Mon Sep 17 00:00:00 2001 +From dd798cb73309229779ff60e74a31eb8711e80833 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Wed, 25 Jan 2017 21:08:48 +0100 -Subject: [PATCH 29/34] Ignore failing pkg-config test +Subject: [PATCH 27/33] Ignore failing pkg-config test Didn't investigate why it fails, let's hope for the best --- @@ -9,10 +9,10 @@ Didn't investigate why it fails, let's hope for the best 1 file changed, 1 deletion(-) diff --git a/configure.json b/configure.json -index 15b0f21e58..46cc841148 100644 +index 80e15ce156..7a45887ba4 100644 --- a/configure.json +++ b/configure.json -@@ -660,7 +660,6 @@ +@@ -725,7 +725,6 @@ "pkg-config": { "label": "Using pkg-config", "autoDetect": "!config.darwin && !config.win32", @@ -21,5 +21,5 @@ index 15b0f21e58..46cc841148 100644 "publicFeature", { "type": "publicQtConfig", "negative": true }, -- -2.21.0 +2.22.0 diff --git a/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch b/0028-Prevent-qmake-from-messing-static-lib-dependencies.patch index 7d3b41d270df..4b5cec1ca299 100644 --- a/0030-Prevent-qmake-from-messing-static-lib-dependencies.patch +++ b/0028-Prevent-qmake-from-messing-static-lib-dependencies.patch @@ -1,7 +1,7 @@ -From 70d1ba494a9d2498ca79dab847cb8d4b6598bdc1 Mon Sep 17 00:00:00 2001 +From 0c03c5c9926209c162c75e14713863be8d3da08a Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Tue, 7 Feb 2017 18:25:28 +0100 -Subject: [PATCH 30/34] Prevent qmake from messing static lib dependencies +Subject: [PATCH 28/33] Prevent qmake from messing static lib dependencies In particular, it messes resolving cyclic dependency between static freetype2 and harfbuzz @@ -25,7 +25,7 @@ index 7f42fbe09e..e27428c0f2 100644 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 29bf9441f7..cc4c031ce7 100644 +index 4f1a4344df..32a1ccbbf9 100644 --- a/qmake/generators/win32/winmakefile.cpp +++ b/qmake/generators/win32/winmakefile.cpp @@ -87,6 +87,9 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags) @@ -39,5 +39,5 @@ index 29bf9441f7..cc4c031ce7 100644 int libidx = 0; for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS")) -- -2.21.0 +2.22.0 diff --git a/0031-Hardcode-linker-flags-for-platform-plugins.patch b/0029-Hardcode-linker-flags-for-platform-plugins.patch index 3fd01678ddc2..651ea8236e84 100644 --- a/0031-Hardcode-linker-flags-for-platform-plugins.patch +++ b/0029-Hardcode-linker-flags-for-platform-plugins.patch @@ -1,11 +1,11 @@ -From c64b26908cc7cdeb19bb41fab98f328174ccfea0 Mon Sep 17 00:00:00 2001 +From cdfab1e716f840d0f1db934246219865054572b7 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Wed, 25 Jan 2017 23:42:30 +0100 -Subject: [PATCH 31/34] Hardcode linker flags for platform plugins +Subject: [PATCH 29/33] Hardcode linker flags for platform plugins Otherwise incorrect order of libs leads to errors -when building libqminimal.dll, libqoffscreen.dll -and libqwindows.dll +when building libqminimal.dll, libqoffscreen.dll, +libqwindows.dll and libqdirect2d.dll --- src/plugins/platforms/direct2d/direct2d.pro | 30 ++++++++++++++--- src/plugins/platforms/minimal/minimal.pro | 15 +++++++-- @@ -14,7 +14,7 @@ and libqwindows.dll 4 files changed, 73 insertions(+), 18 deletions(-) diff --git a/src/plugins/platforms/direct2d/direct2d.pro b/src/plugins/platforms/direct2d/direct2d.pro -index 9764272632..7310958323 100644 +index 9764272632..25994da1da 100644 --- a/src/plugins/platforms/direct2d/direct2d.pro +++ b/src/plugins/platforms/direct2d/direct2d.pro @@ -1,12 +1,32 @@ @@ -31,9 +31,9 @@ index 9764272632..7310958323 100644 +# Fix linker error when building libqdirect2d.dll by specifying linker flags for +# required modules manually (otherwise order is messed) +LIBS += \ -+ -lQt5EventDispatcherSupport \ -+ -lQt5FontDatabaseSupport \ -+ -lQt5ThemeSupport \ ++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \ ++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \ ++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5ThemeSupport.$${QMAKE_EXTENSION_STATICLIB} \ + -lfreetype -lole32 -lgdi32 -luuid +# However, this workaround leads to the necessity of specifying include dirs manually +INCLUDEPATH += \ @@ -42,21 +42,21 @@ index 9764272632..7310958323 100644 + $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION} +# Same for private support libs for accessibility and vulkan, if those are enabled +qtConfig(accessibility) { -+ LIBS += -lQt5AccessibilitySupport ++ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5AccessibilitySupport.$${QMAKE_EXTENSION_STATICLIB} + INCLUDEPATH += $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION} +} +qtConfig(vulkan) { -+ LIBS += -lQt5VulkanSupport ++ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5VulkanSupport.$${QMAKE_EXTENSION_STATICLIB} + INCLUDEPATH += $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION} +} +# Also add Qt5WindowsUIAutomationSupport - it seems to link against it -+LIBS += -lQt5WindowsUIAutomationSupport ++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 diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro -index a1a2da547b..7ef91b574d 100644 +index a1a2da547b..e32225d9b9 100644 --- a/src/plugins/platforms/minimal/minimal.pro +++ b/src/plugins/platforms/minimal/minimal.pro @@ -1,8 +1,19 @@ @@ -70,8 +70,8 @@ index a1a2da547b..7ef91b574d 100644 +# Fix linker error when building libqminimal.dll by specifying linker flags for +# required modules manually (otherwise order is messed) +LIBS += \ -+ -lQt5EventDispatcherSupport \ -+ -lQt5FontDatabaseSupport \ ++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \ ++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \ + -lfreetype -lole32 -lgdi32 -luuid +# However, this workaround leads to the necessity of specifying include dirs manually +INCLUDEPATH += \ @@ -82,7 +82,7 @@ index a1a2da547b..7ef91b574d 100644 DEFINES += QT_NO_FOREACH diff --git a/src/plugins/platforms/offscreen/offscreen.pro b/src/plugins/platforms/offscreen/offscreen.pro -index 392ee8bed1..f1f266e2c2 100644 +index f226132592..d8ab86b322 100644 --- a/src/plugins/platforms/offscreen/offscreen.pro +++ b/src/plugins/platforms/offscreen/offscreen.pro @@ -1,8 +1,18 @@ @@ -96,8 +96,8 @@ index 392ee8bed1..f1f266e2c2 100644 +# Fix linker error when building libqoffscreen.dll by specifying linker flags for +# required modules manually (otherwise order is messed) +LIBS += \ -+ -lQt5EventDispatcherSupport \ -+ -lQt5FontDatabaseSupport \ ++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \ ++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \ + -lfreetype -lole32 -lgdi32 -luuid +# However, this workaround leads to the necessity of specifying include dirs manually +INCLUDEPATH += \ @@ -107,7 +107,7 @@ index 392ee8bed1..f1f266e2c2 100644 DEFINES += QT_NO_FOREACH diff --git a/src/plugins/platforms/windows/windows.pro b/src/plugins/platforms/windows/windows.pro -index 174bc7b609..e66488e364 100644 +index 174bc7b609..285d90c6d3 100644 --- a/src/plugins/platforms/windows/windows.pro +++ b/src/plugins/platforms/windows/windows.pro @@ -1,14 +1,28 @@ @@ -127,9 +127,9 @@ index 174bc7b609..e66488e364 100644 +# Fix linker error when building libqwindows.dll by specifying linker flags for +# required modules manually (otherwise order is messed) +LIBS += \ -+ -lQt5EventDispatcherSupport \ -+ -lQt5FontDatabaseSupport \ -+ -lQt5ThemeSupport \ ++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \ ++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \ ++ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5ThemeSupport.$${QMAKE_EXTENSION_STATICLIB} \ + -lfreetype -lole32 -lgdi32 -ldwmapi +# However, this workaround leads to the necessity of specifying include dirs manually +INCLUDEPATH += \ @@ -138,16 +138,16 @@ index 174bc7b609..e66488e364 100644 + $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION} +# Same for private support libs for accessibility and vulkan, if those are enabled +qtConfig(accessibility) { -+ LIBS += -lQt5AccessibilitySupport ++ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5AccessibilitySupport.$${QMAKE_EXTENSION_STATICLIB} + INCLUDEPATH += $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION} +} +qtConfig(vulkan) { -+ LIBS += -lQt5VulkanSupport ++ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5VulkanSupport.$${QMAKE_EXTENSION_STATICLIB} + INCLUDEPATH += $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION} +} include(windows.pri) -- -2.21.0 +2.22.0 diff --git a/0032-Fix-linking-against-static-plugins-with-qmake.patch b/0030-Fix-linking-against-static-plugins-with-qmake.patch index f01fa5d61d48..32b22cc51645 100644 --- a/0032-Fix-linking-against-static-plugins-with-qmake.patch +++ b/0030-Fix-linking-against-static-plugins-with-qmake.patch @@ -1,7 +1,7 @@ -From 05a8d15d8f9e5b0bc6489ef29bdc94e4a047df13 Mon Sep 17 00:00:00 2001 +From b212a375e31c52e890eb11b45603d2a3997d4731 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Fri, 25 Aug 2017 17:07:17 +0200 -Subject: [PATCH 32/34] Fix linking against static plugins with qmake +Subject: [PATCH 30/33] Fix linking against static plugins with qmake Required because qtConfig(static) does not work with 'Merge shared and static library trees' @@ -11,7 +11,7 @@ approach 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf -index 167b8dbf2c..5cfb4f62c9 100644 +index d6299d8eed..5311748953 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -69,7 +69,7 @@ all_qt_module_deps = $$resolve_depends(qt_module_deps, "QT.", ".depends" ".run_d @@ -33,5 +33,5 @@ index 167b8dbf2c..5cfb4f62c9 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.21.0 +2.22.0 diff --git a/0033-Disable-hardware-randomizer-for-32-bit.patch b/0031-Disable-hardware-randomizer-for-32-bit.patch index 011ecfa6ca7d..ad5f3437d477 100644 --- a/0033-Disable-hardware-randomizer-for-32-bit.patch +++ b/0031-Disable-hardware-randomizer-for-32-bit.patch @@ -1,7 +1,7 @@ -From 2fb77d4fad4edc257562f29347e1279c001b3f89 Mon Sep 17 00:00:00 2001 +From 7d7d9c565af36b4b5fbb9628edd03310a221c70a Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sat, 26 May 2018 03:47:14 +0200 -Subject: [PATCH 33/34] Disable hardware randomizer for 32-bit +Subject: [PATCH 31/33] Disable hardware randomizer for 32-bit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -45,5 +45,5 @@ index 917a91098e..c770a3e19b 100644 #else return false; -- -2.21.0 +2.22.0 diff --git a/0034-Prevent-static-build-to-prefer-dynamic-libraries.patch b/0032-Prevent-static-build-to-prefer-dynamic-libraries.patch index 692db4193b1e..5d50a4f08a62 100644 --- a/0034-Prevent-static-build-to-prefer-dynamic-libraries.patch +++ b/0032-Prevent-static-build-to-prefer-dynamic-libraries.patch @@ -1,7 +1,7 @@ -From 7ca7ebb16733d10658c7135c5948cf21eafac8fe Mon Sep 17 00:00:00 2001 +From 85670b69fe04b78bb9b43b490c9a91ef6d79a226 Mon Sep 17 00:00:00 2001 From: Martchus <martchus@gmx.net> Date: Sun, 3 Feb 2019 14:34:42 +0100 -Subject: [PATCH 34/34] Prevent static build to prefer dynamic libraries +Subject: [PATCH 32/33] 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. @@ -10,10 +10,10 @@ in order to get a fully statically linked binary in the end. 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf -index 62ad972796..866ffdb6ad 100644 +index 94eb012b81..96ea2554ec 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf -@@ -561,12 +561,12 @@ defineTest(qtConfResolveLibs) { +@@ -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 { @@ -33,5 +33,5 @@ index 62ad972796..866ffdb6ad 100644 lcan += $${lib}.lib } -- -2.21.0 +2.22.0 diff --git a/0033-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch b/0033-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch new file mode 100644 index 000000000000..85c2d9bf342e --- /dev/null +++ b/0033-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch @@ -0,0 +1,34 @@ +From a3f19f84f5f7776ec509c84fb10cb9609c0c67fe Mon Sep 17 00:00:00 2001 +From: Martchus <martchus@gmx.net> +Date: Mon, 24 Jun 2019 13:51:02 +0200 +Subject: [PATCH 33/33] Prevent 'Cannot find feature windows_vulkan_sdk' + +--- + mkspecs/common/windows-vulkan.conf | 2 +- + mkspecs/features/win32/windows_vulkan_sdk.prf | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/mkspecs/common/windows-vulkan.conf b/mkspecs/common/windows-vulkan.conf +index da061422dc..a5a8ec68d2 100644 +--- a/mkspecs/common/windows-vulkan.conf ++++ b/mkspecs/common/windows-vulkan.conf +@@ -1,2 +1,2 @@ +-load(windows_vulkan_sdk) ++load(win32/windows_vulkan_sdk) + QMAKE_LIBS_VULKAN = +diff --git a/mkspecs/features/win32/windows_vulkan_sdk.prf b/mkspecs/features/win32/windows_vulkan_sdk.prf +index 6c08e28fe9..a80b0602a8 100644 +--- a/mkspecs/features/win32/windows_vulkan_sdk.prf ++++ b/mkspecs/features/win32/windows_vulkan_sdk.prf +@@ -1,7 +1,7 @@ + isEmpty(QMAKE_INCDIR_VULKAN) { + # Pick up the VULKAN_SDK env var set by the LunarG SDK so that the Vulkan + # headers are found out-of-the-box on typical Windows setups. +- QMAKE_INCDIR_VULKAN = $$(VULKAN_SDK)\\include ++ # QMAKE_INCDIR_VULKAN = $$(VULKAN_SDK)/include + + # Do not export the include dir but resolve it on every qmake call. + QMAKE_EXPORT_INCDIR_VULKAN = - +-- +2.22.0 + @@ -11,7 +11,7 @@ # All patches are managed at https://github.com/Martchus/qtbase -# Helper functions for the split builds +# define helper functions for the split builds isDefault() { [[ $pkgname = 'mingw-w64-qt5-base' ]] || [[ $pkgname = 'mingw-w64-qt5-base-static' ]] } @@ -19,14 +19,10 @@ isStatic() { [ "${pkgname##*-}" = 'static' ] } isOpenGL() { - # Currently use native OpenGL by default - isDefault || \ - [[ $pkgname = 'mingw-w64-qt5-base-opengl' ]] || [[ $pkgname = 'mingw-w64-qt5-base-opengl-static' ]] + isDefault || [[ $pkgname = 'mingw-w64-qt5-base-opengl' ]] || [[ $pkgname = 'mingw-w64-qt5-base-opengl-static' ]] } isANGLE() { - [[ $pkgname = 'mingw-w64-qt5-base-angle' ]] || [[ $pkgname = 'mingw-w64-qt5-base-angle-static' ]] || \ - [[ $pkgname = 'mingw-w64-qt5-base-dynamic' ]] || [[ $pkgname = 'mingw-w64-qt5-base-dynamic-static' ]] - # Treat dynamic version like ANGLE version, correct? + [[ $pkgname = 'mingw-w64-qt5-base-angle' ]] || [[ $pkgname = 'mingw-w64-qt5-base-angle-static' ]] } isDynamic() { [[ $pkgname = 'mingw-w64-qt5-base-dynamic' ]] || [[ $pkgname = 'mingw-w64-qt5-base-dynamic-static' ]] @@ -36,7 +32,7 @@ isNoOpenGL() { } pkgname=mingw-w64-qt5-base-angle -pkgver=5.12.3 +pkgver=5.13.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 @@ -47,92 +43,90 @@ depends=('mingw-w64-crt' 'mingw-w64-zlib' 'mingw-w64-libjpeg-turbo' 'mingw-w64-s 'mingw-w64-libpng' 'mingw-w64-openssl' 'mingw-w64-dbus' 'mingw-w64-harfbuzz' 'mingw-w64-pcre2') groups=('mingw-w64-qt5') -optdepends=('mingw-w64-postgresql: PostgreSQL support' 'mingw-w64-mariadb-connector-c: MySQL support') -makedepends=('mingw-w64-gcc' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c' 'mingw-w64-pkg-config') +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') +# For running fxc.exe WINE coulde be used: +#if isANGLE || isDynamic; then +# makedepends+=('mingw-w64-wine') +#fi options=('!strip' '!buildflags' 'staticlibs' '!emptydirs') _pkgfqn="qtbase-everywhere-src-${pkgver}" source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${_pkgfqn}.tar.xz" '0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch' '0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch' - '0003-Use-external-ANGLE-library.patch' - '0004-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch' - '0005-Make-sure-.pc-files-are-installed-correctly.patch' - '0006-Don-t-add-resource-files-to-LIBS-parameter.patch' - '0007-Prevent-debug-library-names-in-pkg-config-files.patch' - '0008-Fix-linking-against-shared-static-libpng.patch' - '0009-Fix-linking-against-static-D-Bus.patch' - '0010-Don-t-try-to-use-debug-version-of-D-Bus-library.patch' - '0011-Fix-linking-against-static-freetype2.patch' - '0012-Fix-linking-against-static-harfbuzz.patch' - '0013-Fix-linking-against-static-pcre.patch' - '0014-Fix-linking-against-shared-static-MariaDB.patch' - '0015-Fix-linking-against-shared-static-PostgreSQL.patch' - '0016-Rename-qtmain-to-qt5main.patch' - '0017-Build-dynamic-host-libraries.patch' - '0018-Enable-rpath-for-build-tools.patch' - '0019-Use-system-zlib-for-build-tools.patch' - '0020-Use-.dll.a-as-import-lib-extension.patch' - '0021-Merge-shared-and-static-library-trees.patch' - '0022-Pull-dependencies-of-static-libraries-in-CMake-modul.patch' - '0023-Allow-usage-of-static-version-with-CMake.patch' - '0024-Adjust-linker-flags-for-static-build-with-cmake-ming.patch' - '0025-Use-correct-pkg-config-static-flag.patch' - '0026-Fix-macro-invoking-moc-rcc-and-uic.patch' - '0027-Ignore-errors-about-missing-feature-static.patch' - '0028-Enable-and-fix-use-of-iconv.patch' - '0029-Ignore-failing-pkg-config-test.patch' - '0030-Prevent-qmake-from-messing-static-lib-dependencies.patch' - '0031-Hardcode-linker-flags-for-platform-plugins.patch' - '0032-Fix-linking-against-static-plugins-with-qmake.patch' - '0033-Disable-hardware-randomizer-for-32-bit.patch' - '0034-Prevent-static-build-to-prefer-dynamic-libraries.patch') -sha256sums=('fddfd8852ef7503febeed67b876d1425160869ae2b1ae8e10b3fb0fedc5fe701' - '813332969dbfd7fcc8af3d23457eea0ce3b3a54ed9b9eae62b431529b8f60b22' - '96b9e2fb177de9c8cfe8c8cd601705981d4c223eef9fc582ec0f45d26c6b6d7f' - 'b1aa13e0e6e28718edb11520660954101c662f6b6945a83cb4e84ff7de5c0922' - '2be87f841ac2104f44114ec65dbd35f8bf8280176b9341015b99aa7dd6756967' - 'c61a62a241b0d03354b523dd9d4ae811e55b12e6e2683c45a3bfd67574e2ad8a' - '1050833662659481606f94a2f4a95f764e7d1ae8b9d015a497b508884cd755d0' - 'eea4870ab1394e9473fe1cee2d856bb5d0d31b68ec91b20d45c882893049a9f6' - '11a4267ae9fa3d49046945ba7e0867b400364f0475c2d36814af45fbc4c3f2f0' - '2b977aba78484cb01208300d02a9ce945edfa0ac73ad91c9331cb73851c9b85d' - 'd9e8736c57f5f8841238fe131508d29d9de0fa3d0c0554e1a443aab33147b430' - 'f30bd604cf3da044f38da38d873a988870d0413aafa5f437d11286d2d3dbb42b' - '00b84c1b66212797876b1793b36e3537dc866770f632b4d98b91d84e6766c2d8' - '2fdf313e492061c7a34b63b25129c253088714a632616437c7ab473b43eca5be' - '6cde53dd184b5aa79e3c471392eaa6e2ac9dc72e8394dab7248cb8a0ac3e856f' - '64b37f777b45bc1b134ea5723ccc6c430784ebbf53b428addeb73ba1108c9225' - '7b4398060dd40fcf8f23b5ca908a0f79be7adfe7f15ad9ec77f23913b5c6c3fc' - 'bfb28bde40b37d74585174414a647af051a8da251107513d3c5e160c72fa7af5' - '9809aab5b4fadf65c2704654ac2c171877b634d5b874af6c96574159ba9f2002' - '374b0ed5fe0285389dda11a6fbccabd3094d2aaa7489d3e59d9b31ead444ce27' - '0961354456c56fa6041758ee35f26d563e60f4ed3bcae214abec2ffbd89f3e80' - '78681b7f7a6456cda9ca4bef34bf4caf3dfbeb36e7fc8b12a834b5e4da328926' - 'a95252d2305437fe5ada214162b9952efbc6f3e97399e55cb003d1c394f1770a' - 'b7b16afef904785a9681b2c03c98a54e8edb224568c63d155bd3f0f1b0508054' - 'd883c7c1148e2177c7ff23a3fdbdc3956b9b963c82661f227e2c57829358c7f4' - '0b90abe95bbe585ba2b39b98b7e3cdb85d6827a2afdb8ed677e6a83e33a31009' - 'bcbe378ec13c845939cf69899bdeb50a7711eef1e5e5127cdc1c9b020f1edd20' - 'eaa58ae6a0fa740fbd376a39b1c2fab9d77c3eae1456ecef47caef9cc4587638' - 'd183ee330c718b440c72ebd90cea389bf13cc99e6a34bf15d4818d663b06ec50' - '673b15ce54ff120d17e7ddc20bcc8c9467bee16935b7ab1ec45946307c8caf56' - 'c1d67dfed8e9b43fe0e4ab20c5f9c918c83ecc8ba8930e9cf123beb90d11318b' - '9df19c8cb6017640944211186ce9a6e21715411e896938de2a6d48368372f23e' - '043ad519351be44de7d93f775abce8da2880e4eb698ff9444558f4795dab26cc' - '4180fbc2315ddfc1a7763333c1dc507661bd30689c9162f1e58bf01a6fc9f9f2' - '0d981d8a25039ff57e5375f34ea036021890fe7302f5f710beb1e5ca1e019e48') + '0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch' + '0004-Make-sure-.pc-files-are-installed-correctly.patch' + '0005-Don-t-add-resource-files-to-LIBS-parameter.patch' + '0006-Prevent-debug-library-names-in-pkg-config-files.patch' + '0007-Fix-linking-against-shared-static-libpng.patch' + '0008-Fix-linking-against-static-D-Bus.patch' + '0009-Don-t-try-to-use-debug-version-of-D-Bus-library.patch' + '0010-Fix-linking-against-static-freetype2.patch' + '0011-Fix-linking-against-static-harfbuzz.patch' + '0012-Fix-linking-against-static-pcre.patch' + '0013-Fix-linking-against-shared-static-MariaDB.patch' + '0014-Fix-linking-against-shared-static-PostgreSQL.patch' + '0015-Rename-qtmain-to-qt5main.patch' + '0016-Enable-rpath-for-build-tools.patch' + '0017-Use-system-zlib-for-build-tools.patch' + '0018-Merge-shared-and-static-library-trees.patch' + '0019-Use-.dll.a-as-import-lib-extension.patch' + '0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch' + '0021-Allow-usage-of-static-version-with-CMake.patch' + '0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch' + '0023-Use-correct-pkg-config-static-flag.patch' + '0024-Fix-macro-invoking-moc-rcc-and-uic.patch' + '0025-Ignore-errors-about-missing-feature-static.patch' + '0026-Enable-and-fix-use-of-iconv.patch' + '0027-Ignore-failing-pkg-config-test.patch' + '0028-Prevent-qmake-from-messing-static-lib-dependencies.patch' + '0029-Hardcode-linker-flags-for-platform-plugins.patch' + '0030-Fix-linking-against-static-plugins-with-qmake.patch' + '0031-Disable-hardware-randomizer-for-32-bit.patch' + '0032-Prevent-static-build-to-prefer-dynamic-libraries.patch' + '0033-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch') +sha256sums=('ff6964b3b528cd3b1d21bcf3470006e8e5cbe69591923f982871d886ea0488fe' + '2df58c3c5350a7b52ed9a19b23359e8a33644012bd529fd31a42afca08a7de33' + '58473061f71f210a8344581cd5654bb6e9625cad90e63cf1f9dca063d14f187b' + '161e3e3dec7904a889bfe90bd707c00f8e2f471cde0ba7803ebd7997fc84878c' + '11b0bbb41bf8f502932f0d8d79e8470654b6adeaaec63de247d044c695e455b8' + '556c1b413d079e6f86974a576f3052645fd5919003fe38056f38a66146cc8c6d' + 'f59764fa27a9d17f4651f7745416d30570d68b11813f4bc132506213a859e0c0' + 'c9e4f335c8d0cf53f4ecff9b6642d34d4794b9fbd75a2fe7f4219f908e998b43' + 'c11a3f2354a8c0b8e12890e09c321ac486c29f32a2702c3d123cd51b49f8152e' + 'cdd71e7ea046327502872da3657132f276159f7377626a41b1a592a8aa2a435f' + '002780bf246a151763fb970234bffc9bb6f82a5e6b3c99641c455a650fad9cd6' + 'e6b535f1959a1cc5b27aefd3b69f05393d0631bd384c946da278e61f1bce6da9' + '56b4695cd46189d297f8583f5d130ef2ed2a91f96ccef76d4d70b59a52da1a6e' + '1f55fbf4a5d3dfbe7a2a3f282f0e393e8c88a5b982c694cdaf557aa5508d4be8' + '39b0c2de05cf7f51a513fe555520d80cc8a22119c4e3b245459ee486f88d902b' + '9a0714b960e82e723828bd18c0bd3a722f58eacb058960aed2e9fcbe4b8d2537' + '94dc91c13b5876d05348717b94f0bee6eca3470852e4b0a99f3d5768ee09ec6c' + '6129e5bb57e18ab064fbc9c15b7708368bc93e65b0c16ec1c83708f01e2862f1' + 'ae3cc5e48f69bcb065d919ea1ff6cd4e8216cff348348675dc0932887e62d2c8' + '1bf5cbfeab7139e1af66909e9359ed051b02d335cd032e1d87539f7a46974c09' + 'e8bceae99d8b6a802592fb7476ac68f2f015cbca0dc38959076c5029f63d0f23' + 'b491f47044b2ea161ec9881d7211ededfd1b3481f54ca93381498a50aebd3795' + '3dbb78c2ec5d3b2f33d5545de15da2ee2895978e98d35a677eaa1449e592cf3c' + '99782fd0b3cb20f2ce5425607f5f6b909ecaefcd8e038738c19d76ae3dc43ab6' + '0ce174399229425fc1f9fac6e27dc9fc7b04dd4eb4770f471fb62244368e6e64' + '365459aba005e00fb19cf0fbeb42f563d36b0b7ac9737ea981f4f4034af6e229' + '486c27a6a56140f6f43665b79b960dafb93d1d48a2d4b5a0de330f3e55685cf8' + '3f4dbd1417a63d04e5e938a37b5a614940d19c318aeeb2de43c126804a509053' + 'ca721a40d0be358baa31233b0d9db8ee70483dc25dda96dbdb080158e90200fb' + '2ba848d3a4e2a3230ee70473fdd7adb6aadb021fea2f09b7871033f281425855' + '6cff295c7011ce53319f35749d807cc6b0c3596ae92d9c36e0eb2cecbafd182e' + '45aae3d21e88cc0ac9e008cd0cc98e3178c2319d0aef726677555866c3bd4b59' + '6d661273b5f6c61c02dd0a0d3b4e7c5788646b056ba7aa3cbad125c84199ffc5' + '7e42f2b917e18dfc22e9f4fb7d7d5c1717157e9746fdaf25b55217b0b78d87be') _architectures='i686-w64-mingw32 x86_64-w64-mingw32' isStatic && depends+=(${pkgname%-static}) -if isANGLE; then - if isDynamic; then - makedepends+=('mingw-w64-angleproject') - optdepends+=('mingw-w64-angleproject: use ANGLE instead of native OpenGL') - else - depends+=('mingw-w64-angleproject') - fi -fi + if ! isDefault; then if isStatic; then provides+=('mingw-w64-qt5-base-static') @@ -155,9 +149,9 @@ prepare() { done # make sure the Qt 5 build system uses our external ANGLE library - rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,GLES3,KHR} + #rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,GLES3,KHR} - # as well as our external PCRE library and zlib + # 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 @@ -252,20 +246,30 @@ build() { msg2 'Building without OpenGL support' qt_configure_args+=' -no-opengl' elif isANGLE; then - if isDynamic; then - msg2 'Using dynamic OpenGL backend' - qt_configure_args+=' -opengl dynamic' - else - msg2 'Using ANGLE as OpenGL backend' - qt_configure_args+=' -angle' - fi + # FIXME: This is broken because we needed to invoke fxc.exe (Direct3D Shader Compiler) + # during the build. Maybe start it with WINE? + msg2 'Using ANGLE as OpenGL backend' + qt_configure_args+=' -angle' # enable declarations of GLES functions + # FIXME: Still required? + qt_configure_args+=' -DGL_GLEXT_PROTOTYPES' + elif isDynamic; then + # FIXME: This is broken because is requires enabling the (bundled) ANGLE which is + # broken (see comment under isANGLE). + msg2 'Using dynamic OpenGL backend' + qt_configure_args+=' -opengl dynamic' + qt_configure_args+=' -angle' + # enable declarations of GLES functions + # FIXME: Still required? qt_configure_args+=' -DGL_GLEXT_PROTOTYPES' fi # add include directory of MariaDB qt_configure_args+=" -I/usr/${_arch}/include/mariadb" + # add include directory for Vulkan + export VULKAN_SDK=/usr/${_arch} + msg2 'Configure and build qmake' mkdir -p ../build-${_arch} && pushd ../build-${_arch} if isStatic; then @@ -284,8 +288,8 @@ build() { qt_configure_args+=' -device-option CROSS_COMPILE_CUSTOM_CONFIG=actually_a_shared_build' # override LD_LIBRARY_PATH so libraries for native build tools like libQt5Bootstrap.so are found - export LD_LIBRARY_PATH="$PWD/lib" - export LDFLAGS="-L$PWD/lib" + #export LD_LIBRARY_PATH="$PWD/lib" + #export LDFLAGS="-L$PWD/lib" fi msg2 'Build qmake and configure' && ../${_pkgfqn}/configure $qt_configure_args @@ -327,6 +331,7 @@ package() { "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5OpenGLExtensions* \ "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5PlatformSupport* \ "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5WindowsUIAutomationSupport* \ + "${pkgdir}/usr/${_arch}/lib/"{lib,}Qt5VulkanSupport* \ "${pkgdir}/usr/${_arch}/lib/"libQt5Bootstrap* \ # ensure config files don't conflict with shared version @@ -344,6 +349,7 @@ package() { pushd "${pkgdir}/usr/${_arch}/lib/" && ln -s "./qt/plugins/"*/*.a . && popd # keep a couple pri files not found in base + mv "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/qdevice.static.pri" "${pkgdir}/usr/${_arch}" mv "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules/qt_plugin_"*.pri "${pkgdir}/usr/${_arch}" # fix bad library order for static CMake builds caused by Qt5Gui.static.prl @@ -357,12 +363,16 @@ package() { # move pri files back mkdir -p "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules" + mv "${pkgdir}/usr/${_arch}/qdevice.static.pri" "${pkgdir}/usr/${_arch}/lib/qt/mkspecs" mv "${pkgdir}/usr/${_arch}/"*.pri "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules" else # shared version # remove DLLs from libdir (DLLs are installed in both bindir and libdir, one copy is sufficient) find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \; + # install missing libQt5BootstrapDBus.a manually + cp --target-directory "${pkgdir}/usr/${_arch}/lib" "$srcdir/build-${_arch}/lib/libQt5BootstrapDBus.a" + # create symlinks for tools mkdir -p "${pkgdir}/usr/bin" for tool in qmake moc rcc uic qdbuscpp2xml qdbusxml2cpp qdoc syncqt.pl; do @@ -389,7 +399,8 @@ package() { # strip binaries, remove unuseful files if ! isStatic; then strip --strip-all "${pkgdir}/usr/${_arch}/lib/qt/bin/"*[!.pl] - strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"{,DBus}.so.${pkgver} + strip --strip-debug "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"*.a + #strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"{,DBus}.so.${pkgver} fi if isStatic || [[ $NO_EXECUTABLES ]]; then find "${pkgdir}/usr/${_arch}" -name '*.exe' -delete diff --git a/README.md b/README.md index 3233d55ba5d0..9e27bdb10341 100644 --- a/README.md +++ b/README.md @@ -19,14 +19,15 @@ in the package. ## Variants There are different variants of the package which can be selected by simply adjusting pkgname: -| Package name | Customization | -| ----------------------------------------------- | -----------------------------------------------------------------------| -| mingw-w64-qt5-base or mingw-w64-qt5-base-opengl | using native OpenGL | -| mingw-w64-qt5-base-angle | using ANGLE rather than native OpenGL | -| mingw-w64-qt5-base-dynamic | allows choosing between ANGLE and native OpenGL dynamically at runtime | -| mingw-w64-qt5-base-noopenql | no OpenGL support | +| Package name | Customization | +| ------------------------------------------------------- | -----------------------------------------------------------------------| +| mingw-w64-qt5-base-dynamic, mingw-w64-qt5-base-dynamic | allows choosing between ANGLE and native OpenGL dynamically at runtime | +| mingw-w64-qt5-base-opengl | using native OpenGL | +| mingw-w64-qt5-base-angle | using ANGLE rather than native OpenGL | +| mingw-w64-qt5-base-noopenql | no OpenGL support | * The variants are conflicting (and hence can not be installed at the same time). +* It is also possible to use the software rasterizer provided by mingw-w64-mesa as a drop-in replacement for the regular OpenGL libraries. * See also: http://doc.qt.io/qt-5/windows-requirements.html#dynamically-loading-graphics-drivers ## Static libraries @@ -87,4 +88,4 @@ Currently qmake is messing with linker flags for cyclic dependencies and static To workaround these issues, use the following arguments: ``` CONFIG+=no_smart_library_merge QTPLUGIN.sqldrivers=qsqlite QTPLUGIN.sqldrivers+=qsqlpsql QTPLUGIN.sqldrivers+=qsqlodbc -```
\ No newline at end of file +``` |