Update Qt 5.15.2 to use KDE fork
This commit is contained in:
parent
460e0f7f9a
commit
8d39d1fb1a
|
@ -73,6 +73,15 @@ $mojolicious->helper(expand_libs => sub {
|
|||
} @_);
|
||||
});
|
||||
|
||||
# define revisions of Qt modules from KDE fork
|
||||
my %kde_fork_revisions = (
|
||||
base => [172, 'cfa90a94f95510711e25920e7742b37faa2f4843', '6344955d17e17e2398720fe60c34cfc2a4a95208'],
|
||||
declarative => [24, 'e203a185cfab199a89a33b903096d6d0023a8a88', '568763928a78b52373932b01be17e040f7c3fa50'],
|
||||
tools => [17, '33693a928986006d79c1ee743733cde5966ac402', 'dbe0567470db2b369a9fdb28d9fbac38be3e2d60'],
|
||||
svg => [5, '95990cbeebc0ab9959e2a925a93ad4897416bbb7', '9aac88424a1b76e0198b52437af58a6d94aff8e9'],
|
||||
wayland => [18, '2f84a874da064069461284db1da36dc818949ec1', '30cb2a87fcc6265232cb5a3ffce9836da6e531d6'],
|
||||
);
|
||||
|
||||
# find templates; populate "pages" array
|
||||
my @pages;
|
||||
my $template_file_name = 'PKGBUILD.sh.ep';
|
||||
|
@ -88,6 +97,11 @@ for my $top_level_dir (@$top_level_dirs) {
|
|||
$qt_module = $2;
|
||||
}
|
||||
|
||||
my $kde_fork_revision;
|
||||
if ($qt_major_version && $qt_major_version eq '5' && $qt_module) {
|
||||
$kde_fork_revision = $kde_fork_revisions{$qt_module};
|
||||
}
|
||||
|
||||
my $variant_dirs = $top_level_dir->list({dir => 1});
|
||||
for my $variant_dir (@$variant_dirs) {
|
||||
next unless -d $variant_dir;
|
||||
|
@ -150,6 +164,7 @@ for my $top_level_dir (@$top_level_dirs) {
|
|||
qt_major_version => $qt_major_version,
|
||||
qt_module => $qt_module,
|
||||
qt_module_sha256 => $qt_module_sha256,
|
||||
kde_fork_revision => $kde_fork_revision,
|
||||
static_variant => $is_static_variant,
|
||||
static_suffix => $is_static_variant ? '-static' : '',
|
||||
static_deps => undef,
|
||||
|
|
|
@ -31,8 +31,11 @@
|
|||
|
||||
_qt_module=qt<%== $qt_module %>
|
||||
pkgname=<%= $package_name %>
|
||||
pkgver=5.15.2
|
||||
pkgver=5.15.2<%== $kde_fork_revision ? "+kde+r$kde_fork_revision->[0]" : '' %>
|
||||
pkgrel=1
|
||||
% if ($kde_fork_revision) {
|
||||
_commit=<%== $kde_fork_revision->[1] %>
|
||||
% }
|
||||
pkgdesc='A cross-platform application and UI framework, <%= $opengl_backend %> OpenGL backend (mingw-w64)'
|
||||
arch=(<%== include 'fragments/mingw-w64-qt5-non_any_archs' %>)
|
||||
url='https://www.qt.io/'
|
||||
|
@ -47,7 +50,7 @@ optdepends=('mingw-w64-mesa: use LLVMpipe software rasterizer for Qt Quick'
|
|||
'mingw-w64-postgresql: PostgreSQL support'
|
||||
'mingw-w64-mariadb-connector-c: MySQL support')
|
||||
makedepends=('mingw-w64-gcc' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c'
|
||||
'mingw-w64-vulkan-headers' 'mingw-w64-pkg-config' 'mingw-w64-environment')
|
||||
'mingw-w64-vulkan-headers' 'mingw-w64-pkg-config' 'mingw-w64-environment'<%== $kde_fork_revision ? " 'git'" : '' %>)
|
||||
% if ($is_angle || $is_dynamic) {
|
||||
# makedepends+=('mingw-w64-wine') # the dynamic/ANGLE version needs to run fxc.exe (not implemented yet)
|
||||
% }
|
||||
|
@ -64,26 +67,43 @@ conflicts+=('mingw-w64-qt5-base' 'mingw-w64-qt5-base-angle' 'mingw-w64-qt5-base-
|
|||
% }
|
||||
% }
|
||||
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
|
||||
% if ($kde_fork_revision) {
|
||||
_pkgfqn=${_qt_module}
|
||||
source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit\
|
||||
% } else {
|
||||
_pkgfqn="${_qt_module}-everywhere-src-${pkgver}"
|
||||
source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${_pkgfqn}.tar.xz"\
|
||||
% }
|
||||
<%== include 'fragments/source_file_list', relevant_files => $patch_files %>)
|
||||
% if ($kde_fork_revision) {
|
||||
sha256sums=('SKIP'\
|
||||
% } else {
|
||||
sha256sums=('<%== $qt_module_sha256 %>'\
|
||||
% }
|
||||
<%== include 'fragments/sha256_list', relevant_files => $patch_files %>)
|
||||
|
||||
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
|
||||
|
||||
% if ($kde_fork_revision) {
|
||||
pkgver() {
|
||||
cd $_pkgfqn
|
||||
echo "5.15.2+kde+r"`git rev-list --count origin/5.15.2..$_commit`
|
||||
}
|
||||
|
||||
% }
|
||||
prepare() {
|
||||
cd "${srcdir}/${_pkgfqn}"
|
||||
|
||||
% if ($kde_fork_revision) {
|
||||
git revert -n <%== $kde_fork_revision->[2] %> # Revert version bump
|
||||
|
||||
% }
|
||||
# apply patches; further descriptions can be found in patch files itself
|
||||
for patch in "$srcdir/"*.patch; do
|
||||
msg2 "Applying patch $patch"
|
||||
patch -p1 -i "$patch"
|
||||
done
|
||||
|
||||
# make sure the Qt 5 build system uses our external PCRE library and zlib
|
||||
rm -rf src/3rdparty/{pcre,zlib}
|
||||
|
||||
# clear buildflags ('!buildflags' only effects build() but not prepare())
|
||||
unset CPPFLAGS CFLAGS CXXFLAGS LDFLAGS PKG_CONFIG_PATH
|
||||
|
||||
|
|
|
@ -21,13 +21,27 @@
|
|||
_qt_module=qt<%== $qt_module %>
|
||||
pkgname=mingw-w64-qt5-<%== $qt_module %><%== $static_variant ? '-static' : '' %>
|
||||
<%== content %>\
|
||||
% if ($kde_fork_revision) {
|
||||
_commit=<%== $kde_fork_revision->[1] %>
|
||||
pkgver+=+kde+r<%== $kde_fork_revision->[0] %>
|
||||
makedepends+=('git')
|
||||
% }
|
||||
options=('!strip' '!buildflags' 'staticlibs')
|
||||
groups=('mingw-w64-qt5')
|
||||
url='https://www.qt.io/'
|
||||
% if ($kde_fork_revision) {
|
||||
_pkgfqn=${_qt_module}
|
||||
source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit\
|
||||
% } else {
|
||||
_pkgfqn="${_qt_module}-everywhere-src-${pkgver}"
|
||||
source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${_pkgfqn}.tar.xz"\
|
||||
% }
|
||||
<%== include 'fragments/source_file_list', relevant_files => $patch_files %>)
|
||||
% if ($kde_fork_revision) {
|
||||
sha256sums=('SKIP'\
|
||||
% } else {
|
||||
sha256sums=('<%== $qt_module_sha256 %>'\
|
||||
% }
|
||||
<%== include 'fragments/sha256_list', relevant_files => $patch_files %>)
|
||||
|
||||
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
|
||||
|
@ -53,9 +67,20 @@ _configurations+=('CONFIG+=actually_a_shared_build <%== content_for 'shared_conf
|
|||
% }
|
||||
<%== content_for 'helper_functions' %>\
|
||||
|
||||
% if ($patch_files->size || content_for('prepare')->size) {
|
||||
% if ($kde_fork_revision) {
|
||||
pkgver() {
|
||||
cd $_pkgfqn
|
||||
echo "5.15.2+kde+r"`git rev-list --count origin/5.15.2..$_commit`
|
||||
}
|
||||
|
||||
% }
|
||||
% if ($patch_files->size || content_for('prepare')->size || $kde_fork_revision) {
|
||||
prepare() {
|
||||
cd "${srcdir}/${_pkgfqn}"
|
||||
% if ($kde_fork_revision) {
|
||||
|
||||
git revert -n <%== $kde_fork_revision->[2] %> # Revert version bump
|
||||
% }
|
||||
% if ($patch_files->size) {
|
||||
|
||||
# apply patches; further descriptions can be found in patch files itself
|
||||
|
|
|
@ -6,15 +6,16 @@ colorize
|
|||
|
||||
if ! [[ $1 ]] || ! [[ $2 ]]; then
|
||||
echo 'No version specified, must specify the new and old version, eg. 5.9.2 5.9.1'
|
||||
echo "Usage: $0 newversion oldversion [old-branch-suffix=mingw-w64] [new-branch-suffix=mingw-w64] [new-version-tag]"
|
||||
echo "Usage: $0 newversion oldversion [old-branch-suffix=mingw-w64] [new-branch-suffix=mingw-w64] [new-version-tag] [old-version-tag]"
|
||||
echo "Note: supposed to be run within the Qt Git checkout"
|
||||
exit -1
|
||||
fi
|
||||
newversion="$1"
|
||||
oldversion="$2"
|
||||
oldbranchsuffix="${3:-mingw-w64}"
|
||||
newbranchsuffix="${4:-mingw-w64}"
|
||||
newversiontag="$5"
|
||||
newversion=$1
|
||||
oldversion=$2
|
||||
oldbranchsuffix=${3:-mingw-w64}
|
||||
newbranchsuffix=${4:-mingw-w64}
|
||||
newversiontag=$5
|
||||
oldversiontag=$6
|
||||
|
||||
# check whether branch for new version already exists
|
||||
newversionbranch=$newversion-$newbranchsuffix
|
||||
|
@ -63,5 +64,5 @@ if [[ $newversiontag ]]; then
|
|||
else
|
||||
git checkout -b "$newversionbranch" "origin/$newversion" || git checkout -b "$newversionbranch" "v$newversion"
|
||||
fi
|
||||
git cherry-pick "v$oldversion..$oldversionbranch"
|
||||
git cherry-pick "${oldversiontag:-v$oldversion}..$oldversionbranch"
|
||||
git push -u $maybe_remote "$newversionbranch"
|
||||
|
|
|
@ -11,7 +11,7 @@ colorize
|
|||
|
||||
if ! [[ $1 ]]; then
|
||||
echo 'No Qt repo specified - must be specified like eg. base or multimedia.'
|
||||
echo "Usage: $0 repo [branch=\$pkgver-\$variant] [variant=mingw-w64] [qtver=qt5]"
|
||||
echo "Usage: $0 repo [branch=\$pkgver-\$variant] [variant=mingw-w64] [qtver=qt5] [tag=v\$pkgver]"
|
||||
echo "Note: DEFAULT_PKGBUILDS_DIR and QT_GIT_REPOS_DIR must point to directories containing PKGBUILDs and the Qt repos."
|
||||
exit -1
|
||||
fi
|
||||
|
@ -34,6 +34,7 @@ pkg="$qtver-$1"
|
|||
repo="qt$1"
|
||||
branch="${2}"
|
||||
variant="${3:-mingw-w64}"
|
||||
tag=$5
|
||||
|
||||
# find dest dir
|
||||
pkgdir=
|
||||
|
@ -62,6 +63,7 @@ template=$pkgbuild_path.sh.ep has_template=
|
|||
|
||||
source "$pkgbuild_path"
|
||||
tag=${tag:-v$pkgver}
|
||||
tag=${tag%+kde+*}
|
||||
|
||||
new_sources=()
|
||||
new_md5sums=()
|
||||
|
|
|
@ -1,165 +0,0 @@
|
|||
From ce90790a4f5c2dcf9398d846f63a6c6b50411dcb Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 3 Feb 2017 18:30:51 +0100
|
||||
Subject: [PATCH 01/31] Adjust win32-g++ profile for cross compilation with
|
||||
mingw-w64
|
||||
|
||||
Adding a new, separate mkspec instead of patching the existing one
|
||||
might be the cleaner solution. However, tools like windeployqt and
|
||||
qbs do checks based on the hardcoded mkspec name to detect MinGW.
|
||||
So for this to work, the mkspec must be called win32-g++.
|
||||
|
||||
Also see the following issues:
|
||||
* https://github.com/Martchus/PKGBUILDs/issues/59
|
||||
* https://github.com/Martchus/PKGBUILDs/issues/60
|
||||
|
||||
Change-Id: I127bb0516bd4acfea588a5d48c46811525a8fca8
|
||||
---
|
||||
mkspecs/common/g++-win32.conf | 50 ++++++++++++++++++++----------
|
||||
mkspecs/win32-clang-g++/qmake.conf | 4 +--
|
||||
mkspecs/win32-g++/qmake.conf | 4 +--
|
||||
3 files changed, 37 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf
|
||||
index c3a1f3a373..d852ccc2ad 100644
|
||||
--- a/mkspecs/common/g++-win32.conf
|
||||
+++ b/mkspecs/common/g++-win32.conf
|
||||
@@ -8,18 +8,24 @@
|
||||
# Compiler-specific settings go into win32-g++/qmake.conf and
|
||||
# win32-clang-g++/qmake.conf
|
||||
#
|
||||
+# The device options CROSS_COMPILE_CUSTOM_CONFIG and CROSS_COMPILE_CFLAGS can be used
|
||||
+# to specify custom config/flags for cross compilation.
|
||||
+#
|
||||
|
||||
load(device_config)
|
||||
include(gcc-base.conf)
|
||||
include(g++-base.conf)
|
||||
|
||||
+include(angle.conf)
|
||||
+include(windows-vulkan.conf)
|
||||
+
|
||||
# modifications to gcc-base.conf and g++-base.conf
|
||||
|
||||
MAKEFILE_GENERATOR = MINGW
|
||||
QMAKE_PLATFORM = win32 mingw
|
||||
-CONFIG += debug_and_release debug_and_release_target precompile_header
|
||||
-DEFINES += UNICODE _UNICODE WIN32 MINGW_HAS_SECURE_API=1
|
||||
-QMAKE_COMPILER_DEFINES += __GNUC__ _WIN32
|
||||
+CONFIG += debug_and_release debug_and_release_target precompile_header $${CROSS_COMPILE_CUSTOM_CONFIG}
|
||||
+DEFINES += UNICODE _UNICODE MINGW_HAS_SECURE_API=1
|
||||
+QMAKE_COMPILER_DEFINES += __GNUC__ _WIN32 WIN32
|
||||
# can't add 'DEFINES += WIN64' and 'QMAKE_COMPILER_DEFINES += _WIN64' defines for
|
||||
# x86_64 platform similar to 'msvc-desktop.conf' toolchain, because, unlike for MSVC,
|
||||
# 'QMAKE_TARGET.arch' is inherently unavailable.
|
||||
@@ -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 =
|
||||
|
||||
@@ -41,40 +48,49 @@ QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
|
||||
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
|
||||
|
||||
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
|
||||
-QMAKE_LFLAGS_RELEASE = -Wl,-s
|
||||
+QMAKE_LFLAGS_RELEASE =
|
||||
+QMAKE_LFLAGS_DEBUG =
|
||||
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
|
||||
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
|
||||
QMAKE_LFLAGS_DLL = -shared
|
||||
QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections
|
||||
-equals(QMAKE_HOST.os, Windows) {
|
||||
- QMAKE_LINK_OBJECT_MAX = 10
|
||||
- QMAKE_LINK_OBJECT_SCRIPT = object_script
|
||||
-}
|
||||
+QMAKE_LINK_OBJECT_MAX = 10
|
||||
+QMAKE_LINK_OBJECT_SCRIPT = object_script
|
||||
QMAKE_EXT_OBJ = .o
|
||||
QMAKE_EXT_RES = _res.o
|
||||
QMAKE_PREFIX_SHLIB =
|
||||
QMAKE_EXTENSION_SHLIB = dll
|
||||
QMAKE_PREFIX_STATICLIB = lib
|
||||
QMAKE_EXTENSION_STATICLIB = a
|
||||
-QMAKE_LIB_EXTENSIONS = a dll.a
|
||||
+QMAKE_EXTENSION_IMPORTLIB = dll.a
|
||||
+
|
||||
+PKG_CONFIG = $${CROSS_COMPILE}pkg-config
|
||||
+QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config
|
||||
|
||||
QMAKE_LIBS =
|
||||
-QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32
|
||||
-QMAKE_LIBS_NETWORK = -lws2_32
|
||||
+QMAKE_LIBS_CORE = -lz -lpcre2-16 -liconv -lversion -lnetapi32 -luserenv -lole32 -luuid -lwinmm -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
|
||||
+QMAKE_LIBS_GUI = $$system($${QMAKE_PKG_CONFIG} --libs harfbuzz) $$system($${QMAKE_PKG_CONFIG} --libs freetype2) \
|
||||
+ -ljpeg -lpng -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32
|
||||
+QMAKE_LIBS_GUI_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs harfbuzz) $$system($${QMAKE_PKG_CONFIG} --static --libs freetype2) \
|
||||
+ -ljpeg -lpng -lopengl32 -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ldxgi -ld3d11
|
||||
+QMAKE_LIBS_NETWORK = -lws2_32 -lcrypt32 -ldnsapi -liphlpapi
|
||||
+QMAKE_LIBS_NETWORK_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs openssl) -lws2_32 -lcrypt32 -ldnsapi -liphlpapi
|
||||
+QMAKE_LIBS_DBUS = $$system($${QMAKE_PKG_CONFIG} --libs dbus-1)
|
||||
+QMAKE_LIBS_DBUS_STATIC = $$system($${QMAKE_PKG_CONFIG} --static --libs dbus-1)
|
||||
+QMAKE_LIBS_WIDGETS_STATIC = -ldwmapi -luxtheme
|
||||
QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
|
||||
-QMAKE_LIBS_OPENGL_ES2 = -lgdi32 -luser32
|
||||
-QMAKE_LIBS_OPENGL_ES2_DEBUG = -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
|
||||
QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
|
||||
|
||||
-QMAKE_IDL = midl
|
||||
+QMAKE_IDL = $${CROSS_COMPILE}widl
|
||||
QMAKE_LIB = $${CROSS_COMPILE}ar -rc
|
||||
QMAKE_RC = $${CROSS_COMPILE}windres
|
||||
+QMAKE_DLLTOOL = $${CROSS_COMPILE}dlltool
|
||||
+QMAKE_LRELEASE = $${CROSS_COMPILE}lrelease-qt5
|
||||
|
||||
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
||||
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
|
||||
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
||||
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
||||
-
|
||||
-include(angle.conf)
|
||||
-include(windows-vulkan.conf)
|
||||
diff --git a/mkspecs/win32-clang-g++/qmake.conf b/mkspecs/win32-clang-g++/qmake.conf
|
||||
index 59d42176f0..f8cb9859f2 100644
|
||||
--- a/mkspecs/win32-clang-g++/qmake.conf
|
||||
+++ b/mkspecs/win32-clang-g++/qmake.conf
|
||||
@@ -14,11 +14,11 @@ include(../common/g++-win32.conf)
|
||||
QMAKE_COMPILER += clang llvm # clang pretends to be gcc
|
||||
|
||||
QMAKE_CC = $${CROSS_COMPILE}clang
|
||||
-QMAKE_CFLAGS +=
|
||||
+QMAKE_CFLAGS += $${CROSS_COMPILE_CFLAGS}
|
||||
QMAKE_CFLAGS_WARN_ON += -Wextra -Wno-ignored-attributes
|
||||
|
||||
QMAKE_CXX = $${CROSS_COMPILE}clang++
|
||||
-QMAKE_CXXFLAGS +=
|
||||
+QMAKE_CXXFLAGS += $${CROSS_COMPILE_CXXFLAGS}
|
||||
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
|
||||
|
||||
QMAKE_LINK = $${CROSS_COMPILE}clang++
|
||||
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
|
||||
index 5de482f23b..3c3d22c699 100644
|
||||
--- a/mkspecs/win32-g++/qmake.conf
|
||||
+++ b/mkspecs/win32-g++/qmake.conf
|
||||
@@ -13,11 +13,11 @@ include(../common/windows-desktop.conf)
|
||||
# modifications to g++-win32.conf
|
||||
|
||||
QMAKE_CC = $${CROSS_COMPILE}gcc
|
||||
-QMAKE_CFLAGS += -fno-keep-inline-dllexport
|
||||
+QMAKE_CFLAGS += $${CROSS_COMPILE_CFLAGS}
|
||||
QMAKE_CFLAGS_WARN_ON += -Wextra
|
||||
|
||||
QMAKE_CXX = $${CROSS_COMPILE}g++
|
||||
-QMAKE_CXXFLAGS += -fno-keep-inline-dllexport
|
||||
+QMAKE_CXXFLAGS += $${CROSS_COMPILE_CXXFLAGS}
|
||||
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
|
||||
|
||||
QMAKE_LINK = $${CROSS_COMPILE}g++
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch
|
|
@ -1,27 +0,0 @@
|
|||
From adbb14a78c0091c81925e5e79644ff8361e7b8e9 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 13:36:53 +0200
|
||||
Subject: [PATCH 02/31] Ensure GLdouble is defined when using dynamic OpenGL
|
||||
|
||||
FIXME: Not sure whether this is still required
|
||||
---
|
||||
src/gui/opengl/qopenglfunctions.h | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/src/gui/opengl/qopenglfunctions.h b/src/gui/opengl/qopenglfunctions.h
|
||||
index 4554291bbd..23d55bddeb 100644
|
||||
--- a/src/gui/opengl/qopenglfunctions.h
|
||||
+++ b/src/gui/opengl/qopenglfunctions.h
|
||||
@@ -56,9 +56,7 @@
|
||||
|
||||
//#define Q_ENABLE_OPENGL_FUNCTIONS_DEBUG
|
||||
|
||||
-#ifdef QT_OPENGL_ES
|
||||
typedef double GLdouble;
|
||||
-#endif
|
||||
|
||||
#ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG
|
||||
#include <stdio.h>
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch
|
|
@ -1,29 +0,0 @@
|
|||
From 520b519d962852792bd4ac3c2d1206afa329b65e Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 13:48:51 +0200
|
||||
Subject: [PATCH 03/31] Fix too many sections assemler error in OpenGL factory
|
||||
|
||||
On x86_64 qopenglversionfunctionsfactory.o exceeds the
|
||||
limit of 32768 sections.
|
||||
Hence the assembler option -mbig-obj is required.
|
||||
---
|
||||
src/gui/opengl/opengl.pri | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gui/opengl/opengl.pri b/src/gui/opengl/opengl.pri
|
||||
index 24758afdeb..aa04b4a672 100644
|
||||
--- a/src/gui/opengl/opengl.pri
|
||||
+++ b/src/gui/opengl/opengl.pri
|
||||
@@ -3,7 +3,8 @@
|
||||
qtConfig(opengl): CONFIG += opengl
|
||||
qtConfig(opengles2): CONFIG += opengles2
|
||||
|
||||
-qtConfig(opengl) {
|
||||
+qtConfig(opengl)|qtConfig(opengles2) {
|
||||
+ mingw:QMAKE_CXXFLAGS+="-Wa,-mbig-obj"
|
||||
|
||||
HEADERS += opengl/qopengl.h \
|
||||
opengl/qopengl_p.h \
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch
|
|
@ -1,66 +0,0 @@
|
|||
From 45491f6d0b4d828f3b4ce6b76ec3c7d68cec6b06 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 13:54:12 +0200
|
||||
Subject: [PATCH 04/31] Make sure *.pc files are installed correctly
|
||||
|
||||
---
|
||||
qmake/generators/makefile.cpp | 8 ++++++--
|
||||
qmake/generators/makefile.h | 2 +-
|
||||
qmake/generators/win32/winmakefile.cpp | 2 +-
|
||||
3 files changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
|
||||
index 5c61a3c65c..e94084381c 100644
|
||||
--- a/qmake/generators/makefile.cpp
|
||||
+++ b/qmake/generators/makefile.cpp
|
||||
@@ -3211,7 +3211,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
|
||||
}
|
||||
|
||||
QString
|
||||
-MakefileGenerator::pkgConfigFileName(bool fixify)
|
||||
+MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
|
||||
{
|
||||
QString ret = project->first("QMAKE_PKGCONFIG_FILE").toQString();
|
||||
if (ret.isEmpty()) {
|
||||
@@ -3236,7 +3236,11 @@ MakefileGenerator::pkgConfigFileName(bool fixify)
|
||||
if(fixify) {
|
||||
if(QDir::isRelativePath(ret) && !project->isEmpty("DESTDIR"))
|
||||
ret.prepend(project->first("DESTDIR").toQString());
|
||||
- ret = fileFixify(ret, FileFixifyBackwards);
|
||||
+ if (onlyPrependDestdir) {
|
||||
+ ret = Option::fixPathToLocalOS(ret);
|
||||
+ } else {
|
||||
+ ret = fileFixify(ret, FileFixifyBackwards);
|
||||
+ }
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
|
||||
index a96b9c54da..5a7913be7a 100644
|
||||
--- a/qmake/generators/makefile.h
|
||||
+++ b/qmake/generators/makefile.h
|
||||
@@ -96,7 +96,7 @@ protected:
|
||||
virtual void writeDefaultVariables(QTextStream &t);
|
||||
|
||||
QString pkgConfigPrefix() const;
|
||||
- QString pkgConfigFileName(bool fixify=true);
|
||||
+ QString pkgConfigFileName(bool fixify=true, bool onlyPrependDestdir = false);
|
||||
QString pkgConfigFixPath(QString) const;
|
||||
void writePkgConfigFile(); // for pkg-config
|
||||
|
||||
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
|
||||
index 5e446bd7e2..183cef2908 100644
|
||||
--- a/qmake/generators/win32/winmakefile.cpp
|
||||
+++ b/qmake/generators/win32/winmakefile.cpp
|
||||
@@ -775,7 +775,7 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t)
|
||||
}
|
||||
if(!ret.isEmpty())
|
||||
ret += "\n\t";
|
||||
- ret += installMetaFile(ProKey("QMAKE_PKGCONFIG_INSTALL_REPLACE"), pkgConfigFileName(true), dst_pc);
|
||||
+ ret += installMetaFile(ProKey("QMAKE_PKGCONFIG_INSTALL_REPLACE"), pkgConfigFileName(true, true), dst_pc);
|
||||
if(!uninst.isEmpty())
|
||||
uninst.append("\n\t");
|
||||
uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc));
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0004-Make-sure-.pc-files-are-installed-correctly.patch
|
|
@ -1,28 +0,0 @@
|
|||
From 806b631662ffebfa38085e1f9e708aee2c19f1d9 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 13:58:28 +0200
|
||||
Subject: [PATCH 05/31] Don't add resource files to LIBS parameter
|
||||
|
||||
Solves an issue where the generated pkg-config
|
||||
files contained invalid Libs.private references
|
||||
like .obj/debug/Qt5Cored_resource_res.o
|
||||
---
|
||||
qmake/generators/win32/mingw_make.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
|
||||
index ee9a41838b..8d1dcae85b 100644
|
||||
--- a/qmake/generators/win32/mingw_make.cpp
|
||||
+++ b/qmake/generators/win32/mingw_make.cpp
|
||||
@@ -147,7 +147,7 @@ void MingwMakefileGenerator::init()
|
||||
|
||||
processVars();
|
||||
|
||||
- project->values("LIBS") += project->values("RES_FILE");
|
||||
+ project->values("OBJECTS") += project->values("RES_FILE");
|
||||
|
||||
if (project->isActiveConfig("dll")) {
|
||||
QString destDir = "";
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0005-Don-t-add-resource-files-to-LIBS-parameter.patch
|
|
@ -1,33 +0,0 @@
|
|||
From 3d816219968cfcaacfd30b6011263c8bb4d975c0 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 14:01:14 +0200
|
||||
Subject: [PATCH 06/31] Prevent debug library names in pkg-config files
|
||||
|
||||
qmake generates the pkgconfig .pc files two times, once for the
|
||||
release build and once for the debug build (which we're not actually
|
||||
building in this package). For both generations the exact same
|
||||
pkgconfig file name is used. This causes references to the debug
|
||||
build ending up in the .pc files which are unwanted
|
||||
Prevent this from happening by giving the pkgconfig .pc
|
||||
files for the debug build an unique file name.
|
||||
---
|
||||
qmake/generators/makefile.cpp | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
|
||||
index e94084381c..8e4d11484f 100644
|
||||
--- a/qmake/generators/makefile.cpp
|
||||
+++ b/qmake/generators/makefile.cpp
|
||||
@@ -3225,6 +3225,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
|
||||
if (dot != -1)
|
||||
ret = ret.left(dot);
|
||||
}
|
||||
+ if (project->isActiveConfig("debug")) {
|
||||
+ ret += "d";
|
||||
+ }
|
||||
ret += Option::pkgcfg_ext;
|
||||
QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
|
||||
if(!subdir.isEmpty()) {
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0006-Prevent-debug-library-names-in-pkg-config-files.patch
|
|
@ -1,30 +0,0 @@
|
|||
From 77037d64693385c1cdcc2814890567e79548b40d Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Thu, 26 Jan 2017 17:51:31 +0100
|
||||
Subject: [PATCH 07/31] Fix linking against shared/static libpng
|
||||
|
||||
Change-Id: Ic7a0ec9544059b8e647a5d0186f1b88c00911dcf
|
||||
---
|
||||
src/gui/configure.json | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gui/configure.json b/src/gui/configure.json
|
||||
index c8c4864eca..be519a6d39 100644
|
||||
--- a/src/gui/configure.json
|
||||
+++ b/src/gui/configure.json
|
||||
@@ -399,8 +399,10 @@
|
||||
{ "type": "pkgConfig", "args": "libpng" },
|
||||
{ "libs": "-llibpng16", "condition": "config.msvc" },
|
||||
{ "libs": "-llibpng", "condition": "config.msvc" },
|
||||
- { "libs": "-lpng16", "condition": "!config.msvc" },
|
||||
- { "libs": "-lpng", "condition": "!config.msvc" },
|
||||
+ { "libs": "-lpng16 -lz", "condition": "!config.msvc && !features.shared" },
|
||||
+ { "libs": "-lpng -lz", "condition": "!config.msvc && !features.shared" },
|
||||
+ { "libs": "-lpng16", "condition": "!config.msvc && features.shared" },
|
||||
+ { "libs": "-lpng", "condition": "!config.msvc && features.shared" },
|
||||
{ "libs": "-s USE_LIBPNG=1", "condition": "config.wasm" }
|
||||
],
|
||||
"use": [
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0007-Fix-linking-against-shared-static-libpng.patch
|
|
@ -1,58 +0,0 @@
|
|||
From be0366f6b3d32f5c80038eca7d0c7ddd5375aa85 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 3 Feb 2017 19:36:25 +0100
|
||||
Subject: [PATCH 08/31] Fix linking against static D-Bus
|
||||
|
||||
---
|
||||
configure.json | 9 +++++++--
|
||||
src/dbus/qdbus_symbols_p.h | 4 ++++
|
||||
2 files changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.json b/configure.json
|
||||
index c273aeeef1..57c40030d8 100644
|
||||
--- a/configure.json
|
||||
+++ b/configure.json
|
||||
@@ -190,18 +190,23 @@
|
||||
"dbus": {
|
||||
"label": "D-Bus >= 1.2",
|
||||
"test": {
|
||||
- "main": "(void) dbus_bus_get_private(DBUS_BUS_SYSTEM, (DBusError *)NULL);"
|
||||
+ "main": "(void) dbus_bus_get_private(DBUS_BUS_SYSTEM, (DBusError *)NULL);",
|
||||
+ "qmake": "static: DEFINES += DBUS_STATIC_BUILD"
|
||||
},
|
||||
"headers": "dbus/dbus.h",
|
||||
"sources": [
|
||||
{ "type": "pkgConfig", "args": "dbus-1 >= 1.2" },
|
||||
+ {
|
||||
+ "libs": "-ldbus-1 -lws2_32 -liphlpapi",
|
||||
+ "condition": "config.win32 && !features.shared"
|
||||
+ },
|
||||
{
|
||||
"libs": "",
|
||||
"builds": {
|
||||
"debug": "-ldbus-1d",
|
||||
"release": "-ldbus-1"
|
||||
},
|
||||
- "condition": "config.win32"
|
||||
+ "condition": "config.win32 && features.shared"
|
||||
},
|
||||
{ "libs": "-ldbus-1", "condition": "!config.win32" }
|
||||
]
|
||||
diff --git a/src/dbus/qdbus_symbols_p.h b/src/dbus/qdbus_symbols_p.h
|
||||
index accaa4f5ed..4b11c74caa 100644
|
||||
--- a/src/dbus/qdbus_symbols_p.h
|
||||
+++ b/src/dbus/qdbus_symbols_p.h
|
||||
@@ -57,6 +57,10 @@
|
||||
|
||||
#ifndef QT_NO_DBUS
|
||||
|
||||
+#ifdef QT_STATIC
|
||||
+# define DBUS_STATIC_BUILD
|
||||
+#endif
|
||||
+
|
||||
#ifdef QT_LINKED_LIBDBUS
|
||||
# include <dbus/dbus.h>
|
||||
#else
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0008-Fix-linking-against-static-D-Bus.patch
|
|
@ -1,29 +0,0 @@
|
|||
From adb495753f647c7b78d923bb512e18003cd309a4 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 2 Jun 2017 18:28:10 +0200
|
||||
Subject: [PATCH 09/31] Don't try to use debug version of D-Bus library
|
||||
|
||||
Required for a debug build of Qt because mingw-w64-dbus
|
||||
does not contain debug version
|
||||
|
||||
Change-Id: Ic34e1025fda55f9659e065f5bbe9d51f55420adb
|
||||
---
|
||||
configure.json | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.json b/configure.json
|
||||
index 57c40030d8..2fa3c08440 100644
|
||||
--- a/configure.json
|
||||
+++ b/configure.json
|
||||
@@ -203,7 +203,7 @@
|
||||
{
|
||||
"libs": "",
|
||||
"builds": {
|
||||
- "debug": "-ldbus-1d",
|
||||
+ "debug": "-ldbus-1",
|
||||
"release": "-ldbus-1"
|
||||
},
|
||||
"condition": "config.win32 && features.shared"
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0009-Don-t-try-to-use-debug-version-of-D-Bus-library.patch
|
|
@ -1,30 +0,0 @@
|
|||
From 8a8da9fb5e44acf747985254b8e4a0e663397c15 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 3 Feb 2017 20:51:19 +0100
|
||||
Subject: [PATCH 10/31] Fix linking against static freetype2
|
||||
|
||||
---
|
||||
src/gui/configure.json | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gui/configure.json b/src/gui/configure.json
|
||||
index be519a6d39..d74fd3bc24 100644
|
||||
--- a/src/gui/configure.json
|
||||
+++ b/src/gui/configure.json
|
||||
@@ -238,8 +238,11 @@
|
||||
},
|
||||
"headers": "ft2build.h",
|
||||
"sources": [
|
||||
- { "type": "pkgConfig", "args": "freetype2" },
|
||||
- { "type": "freetype", "libs": "-lfreetype", "condition": "!config.wasm" },
|
||||
+ { "type": "pkgConfig", "args": "--static --libs freetype2", "condition": "!features.shared" },
|
||||
+ { "type": "pkgConfig", "args": "--libs freetype2", "condition": "features.shared" },
|
||||
+ { "libs": "-lfreetype -lharfbuzz -lfreetype -lglib-2.0 -lintl -lws2_32 -lole32 -lwinmm -lshlwapi -lpcre -lintl -lpcre -lintl -liconv -lgraphite2 -lbz2", "condition": "!features.shared && !config.wasm" },
|
||||
+ { "libs": "-Wl,-Bdynamic -lfreetype -Wl,-Bstatic", "condition": "!features.shared && !config.wasm" },
|
||||
+ { "libs": "-lfreetype", "condition": "features.shared && !config.wasm" },
|
||||
{ "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" },
|
||||
{ "libs": "-lfreetype" }
|
||||
],
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0010-Fix-linking-against-static-freetype2.patch
|
|
@ -1,29 +0,0 @@
|
|||
From 32692f0bf4ae8f35145d963fe95b82a11a20e6ca Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 14:22:56 +0200
|
||||
Subject: [PATCH 11/31] Fix linking against static harfbuzz
|
||||
|
||||
---
|
||||
src/gui/configure.json | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gui/configure.json b/src/gui/configure.json
|
||||
index d74fd3bc24..d6759ed96a 100644
|
||||
--- a/src/gui/configure.json
|
||||
+++ b/src/gui/configure.json
|
||||
@@ -306,7 +306,11 @@
|
||||
},
|
||||
"headers": "harfbuzz/hb.h",
|
||||
"sources": [
|
||||
- "-lharfbuzz"
|
||||
+ { "type": "pkgConfig", "args": "--static --libs harfbuzz", "condition": "!features.shared" },
|
||||
+ { "type": "pkgConfig", "args": "--libs harfbuzz", "condition": "features.shared" },
|
||||
+ { "libs": "-lharfbuzz -lfreetype -lharfbuzz -lglib-2.0 -lintl -lws2_32 -lole32 -lwinmm -lshlwapi -lpcre -lintl -lpcre -lintl -liconv -lgraphite2 -lbz2", "condition": "!features.shared" },
|
||||
+ { "libs": "-Wl,-Bdynamic -lharfbuzz -Wl,-Bstatic", "condition": "!features.shared" },
|
||||
+ { "libs": "-lharfbuzz", "condition": "features.shared" }
|
||||
]
|
||||
},
|
||||
"imf": {
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0011-Fix-linking-against-static-harfbuzz.patch
|
|
@ -1,28 +0,0 @@
|
|||
From 3bb30ee7403e468705aa03e1d92f797d6ce38332 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 14:24:01 +0200
|
||||
Subject: [PATCH 12/31] Fix linking against static pcre
|
||||
|
||||
Change-Id: I3225c6e82dc4d17aef37d4289c16eb7a5ea3c5a1
|
||||
---
|
||||
src/corelib/text/qregularexpression.cpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/corelib/text/qregularexpression.cpp b/src/corelib/text/qregularexpression.cpp
|
||||
index d7e3cc5ee2..e17c19fbae 100644
|
||||
--- a/src/corelib/text/qregularexpression.cpp
|
||||
+++ b/src/corelib/text/qregularexpression.cpp
|
||||
@@ -53,6 +53,10 @@
|
||||
#include <QtCore/qdatastream.h>
|
||||
|
||||
#define PCRE2_CODE_UNIT_WIDTH 16
|
||||
+#ifdef QT_STATIC
|
||||
+#define PCRE_STATIC
|
||||
+#define PCRE2_STATIC
|
||||
+#endif
|
||||
|
||||
#include <pcre2.h>
|
||||
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0012-Fix-linking-against-static-pcre.patch
|
|
@ -1,26 +0,0 @@
|
|||
From 5d301704de074aeee8464bf9933296a437353a6f Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:56:55 +0200
|
||||
Subject: [PATCH 13/31] Fix linking against shared/static MariaDB
|
||||
|
||||
Change-Id: I9722c154d845f288a2d4d1ab14a014066b28819b
|
||||
---
|
||||
src/plugins/sqldrivers/configure.json | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/plugins/sqldrivers/configure.json b/src/plugins/sqldrivers/configure.json
|
||||
index 28ccbeadcd..7262914c64 100644
|
||||
--- a/src/plugins/sqldrivers/configure.json
|
||||
+++ b/src/plugins/sqldrivers/configure.json
|
||||
@@ -67,6 +67,8 @@
|
||||
},
|
||||
"headers": "mysql.h",
|
||||
"sources": [
|
||||
+ { "libs": "-lmariadbclient -lssl -lcrypto -lshlwapi -lgdi32 -lws2_32 -lpthread -lz -lm", "condition": "config.win32 && !features.shared" },
|
||||
+ { "libs": "-lmariadb", "condition": "config.win32 && features.shared" },
|
||||
{ "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": true },
|
||||
{ "type": "mysqlConfig", "query": "--libs", "cleanlibs": true },
|
||||
{ "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": false },
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0013-Fix-linking-against-shared-static-MariaDB.patch
|
|
@ -1,28 +0,0 @@
|
|||
From 0f760f0e2b127ca9e765d2bbf4200b047bfa1a5e Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:58:25 +0200
|
||||
Subject: [PATCH 14/31] Fix linking against shared/static PostgreSQL
|
||||
|
||||
---
|
||||
src/plugins/sqldrivers/configure.json | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/sqldrivers/configure.json b/src/plugins/sqldrivers/configure.json
|
||||
index 7262914c64..852ba558be 100644
|
||||
--- a/src/plugins/sqldrivers/configure.json
|
||||
+++ b/src/plugins/sqldrivers/configure.json
|
||||
@@ -90,9 +90,9 @@
|
||||
},
|
||||
"headers": "libpq-fe.h",
|
||||
"sources": [
|
||||
- { "type": "pkgConfig", "args": "libpq" },
|
||||
{ "type": "psqlConfig" },
|
||||
- { "type": "psqlEnv", "libs": "-llibpq -lws2_32 -ladvapi32", "condition": "config.win32" },
|
||||
+ { "type": "psqlEnv", "libs": "-lpq -lpgcommon -lpgport -lintl -lssl -lcrypto -lshell32 -lws2_32 -lsecur32 -liconv", "condition": "config.win32 && !features.shared" },
|
||||
+ { "type": "psqlEnv", "libs": "-lpq", "condition": "config.win32 && features.shared" },
|
||||
{ "type": "psqlEnv", "libs": "-lpq", "condition": "!config.win32" }
|
||||
]
|
||||
},
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0014-Fix-linking-against-shared-static-PostgreSQL.patch
|
|
@ -1,80 +0,0 @@
|
|||
From 092e86f5dedf3173be832f868b60b1c306c42bfa Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 14:25:40 +0200
|
||||
Subject: [PATCH 15/31] Rename qtmain to qt5main
|
||||
|
||||
Prevents conflict with mingw-w64-qt4 package
|
||||
---
|
||||
mkspecs/common/g++-win32.conf | 2 +-
|
||||
mkspecs/features/create_cmake.prf | 8 ++++----
|
||||
mkspecs/features/win32/windows.prf | 4 ++--
|
||||
src/winmain/winmain.pro | 2 +-
|
||||
4 files changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/mkspecs/common/g++-win32.conf b/mkspecs/common/g++-win32.conf
|
||||
index d852ccc2ad..11249c1470 100644
|
||||
--- a/mkspecs/common/g++-win32.conf
|
||||
+++ b/mkspecs/common/g++-win32.conf
|
||||
@@ -82,7 +82,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
|
||||
-QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
|
||||
+QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqt5main
|
||||
|
||||
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 24ed125f12..593161f362 100644
|
||||
--- a/mkspecs/features/create_cmake.prf
|
||||
+++ b/mkspecs/features/create_cmake.prf
|
||||
@@ -329,14 +329,14 @@ mac {
|
||||
}
|
||||
|
||||
mingw {
|
||||
- CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqtmain$${QT_LIBINFIX}$${debug_suffix}.a
|
||||
- CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqtmain$${QT_LIBINFIX}.a
|
||||
+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}$${debug_suffix}.a
|
||||
+ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
|
||||
|
||||
CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.a
|
||||
CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
|
||||
} else {
|
||||
- CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qtmain$${QT_LIBINFIX}$${debug_suffix}.lib
|
||||
- CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qtmain$${QT_LIBINFIX}.lib
|
||||
+ CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qt5main$${QT_LIBINFIX}$${debug_suffix}.lib
|
||||
+ CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qt5main$${QT_LIBINFIX}.lib
|
||||
|
||||
CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}$${debug_suffix}.lib
|
||||
CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
|
||||
diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf
|
||||
index 272170d428..17f3ef9c2d 100644
|
||||
--- a/mkspecs/features/win32/windows.prf
|
||||
+++ b/mkspecs/features/win32/windows.prf
|
||||
@@ -5,8 +5,8 @@ contains(TEMPLATE, ".*app") {
|
||||
mingw:DEFINES += QT_NEEDS_QMAIN
|
||||
|
||||
qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
|
||||
- isEqual(entryLib, -lqtmain) {
|
||||
- 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 1f54c846ec..162e7a4b1b 100644
|
||||
--- a/src/winmain/winmain.pro
|
||||
+++ b/src/winmain/winmain.pro
|
||||
@@ -2,7 +2,7 @@
|
||||
!win32:error("$$_FILE_ is intended only for Windows!")
|
||||
|
||||
TEMPLATE = lib
|
||||
-TARGET = qtmain
|
||||
+TARGET = qt5main
|
||||
DESTDIR = $$QT.core.libs
|
||||
|
||||
CONFIG += static
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0015-Rename-qtmain-to-qt5main.patch
|
|
@ -1,37 +0,0 @@
|
|||
From fc76d4187ab337a5efb96d6b80099f5075df69ee Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 17:59:27 +0200
|
||||
Subject: [PATCH 16/31] Enable rpath for build tools
|
||||
|
||||
- Required because various tools depend on libQt5Bootstrap.so which resides
|
||||
in folder /usr/${_arch}/lib
|
||||
- Can't use regular lib dir because it would conflict with the native package
|
||||
|
||||
Change-Id: I9808062a66406cdec7446a75150b40b2f30038c7
|
||||
---
|
||||
mkspecs/features/qt_app.prf | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
|
||||
index 8354f30eea..30e8cf18c5 100644
|
||||
--- a/mkspecs/features/qt_app.prf
|
||||
+++ b/mkspecs/features/qt_app.prf
|
||||
@@ -21,6 +21,7 @@ isEmpty(QMAKE_TARGET_DESCRIPTION): \
|
||||
isEmpty(QMAKE_INFO_PLIST): CONFIG -= app_bundle
|
||||
|
||||
host_build: QT -= gui # no host tool will ever use gui
|
||||
+host_build: QMAKE_RPATHDIR += $$[QT_INSTALL_LIBS/dev] # force rpath
|
||||
host_build:force_bootstrap {
|
||||
!build_pass:qtConfig(release_tools): CONFIG += release
|
||||
contains(QT, core(-private)?|xml) {
|
||||
@@ -31,7 +32,6 @@ host_build:force_bootstrap {
|
||||
} else {
|
||||
!build_pass:qtConfig(debug_and_release): CONFIG += release
|
||||
target.path = $$[QT_INSTALL_BINS]
|
||||
- CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable
|
||||
}
|
||||
INSTALLS += target
|
||||
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0016-Enable-rpath-for-build-tools.patch
|
|
@ -1,27 +0,0 @@
|
|||
From 2e0b11f0f0ba3e756f010b5948b24089be5e3aed Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:04:42 +0200
|
||||
Subject: [PATCH 17/31] Use system zlib for build tools
|
||||
|
||||
---
|
||||
src/tools/bootstrap/bootstrap.pro | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
|
||||
index 24862a07db..698e6cfb95 100644
|
||||
--- a/src/tools/bootstrap/bootstrap.pro
|
||||
+++ b/src/tools/bootstrap/bootstrap.pro
|
||||
@@ -158,7 +158,9 @@ macx {
|
||||
../../corelib/io/qstandardpaths_win.cpp
|
||||
}
|
||||
|
||||
-!qtConfig(system-zlib)|cross_compile {
|
||||
+cross_compile {
|
||||
+ LIBS += -lz
|
||||
+} else:!qtConfig(system-zlib) {
|
||||
include(../../3rdparty/zlib.pri)
|
||||
} else {
|
||||
CONFIG += no_core_dep
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0017-Use-system-zlib-for-build-tools.patch
|
|
@ -1,208 +0,0 @@
|
|||
From bd22c9c095f87d358ea2269bfdd19cc31078b0b1 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:45:08 +0200
|
||||
Subject: [PATCH 18/31] Merge shared and static library trees
|
||||
|
||||
Allow installation of shared and static build in the same prefix
|
||||
|
||||
Change-Id: I1de08df42d83d411aae519691cd3cde1fd6f3d1d
|
||||
---
|
||||
configure.pri | 16 +++++++++++++++-
|
||||
mkspecs/features/default_post.prf | 11 +++++++++++
|
||||
mkspecs/features/device_config.prf | 9 ++++++++-
|
||||
mkspecs/features/qt.prf | 17 +++++++++++++++++
|
||||
mkspecs/features/spec_pre.prf | 11 ++++++++---
|
||||
qmake/generators/makefile.cpp | 11 +++++++----
|
||||
qtbase.pro | 10 ++++++++--
|
||||
7 files changed, 74 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/configure.pri b/configure.pri
|
||||
index 49755f7abf..53c67f885b 100644
|
||||
--- a/configure.pri
|
||||
+++ b/configure.pri
|
||||
@@ -659,7 +659,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
|
||||
@@ -1398,3 +1403,12 @@ defineTest(createConfigStatus) {
|
||||
|
||||
QMAKE_POST_CONFIGURE += \
|
||||
"createConfigStatus()"
|
||||
+
|
||||
+# merge shared and static library trees
|
||||
+contains(CONFIG, static) {
|
||||
+ CONFIG -= shared
|
||||
+ QT_CONFIG += static jpeg gif
|
||||
+ QT_CONFIG -= shared
|
||||
+ # prevent smart library merge from messing cyclic dependency between freetype2 and harfbuzz
|
||||
+ CONFIG += no_smart_library_merge
|
||||
+}
|
||||
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
|
||||
index 1d79f5c958..48f6e710b6 100644
|
||||
--- a/mkspecs/features/default_post.prf
|
||||
+++ b/mkspecs/features/default_post.prf
|
||||
@@ -1,5 +1,16 @@
|
||||
# This file is loaded by qmake right after loading the actual project file.
|
||||
|
||||
+win32:contains(CONFIG, static) {
|
||||
+ # Ensure defines are set correctly for static build
|
||||
+ DEFINES -= QT_SHARED
|
||||
+ DEFINES *= QT_STATIC QT_DESIGNER_STATIC
|
||||
+ contains(QT_CONFIG, angle): DEFINES *= QT_OPENGL_ES_2_ANGLE_STATIC
|
||||
+ # Ensure we link against all dependencies statically
|
||||
+ QMAKE_LFLAGS += -static -static-libstdc++ -static-libgcc
|
||||
+ # Prevent qmake from finding the prl file for shared libs
|
||||
+ QMAKE_EXT_PRL = .static.prl
|
||||
+}
|
||||
+
|
||||
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 69d1954306..2bc7b1dedd 100644
|
||||
--- a/mkspecs/features/qt.prf
|
||||
+++ b/mkspecs/features/qt.prf
|
||||
@@ -235,6 +235,23 @@ for(ever) {
|
||||
!isEmpty(MODULE_WINRT_CAPABILITIES_DEVICE): \
|
||||
WINRT_MANIFEST.capabilities_device_default += $$MODULE_WINRT_CAPABILITIES_DEVICE
|
||||
}
|
||||
+
|
||||
+ # Ensure linking against all required static libraries as defined in mingw-w64-g++ mkspec
|
||||
+ win32:contains(CONFIG, static) {
|
||||
+ isEqual(MODULE_NAME, QtCore) {
|
||||
+ LIBS$$var_sfx += $$QMAKE_LIBS_CORE
|
||||
+ } else:isEqual(MODULE_NAME, QtGui) {
|
||||
+ LIBS$$var_sfx += $$QMAKE_LIBS_GUI_STATIC
|
||||
+ } else:isEqual(MODULE_NAME, QtNetwork) {
|
||||
+ LIBS$$var_sfx += $$QMAKE_LIBS_NETWORK_STATIC
|
||||
+ } else:isEqual(MODULE_NAME, QtDBus) {
|
||||
+ LIBS$$var_sfx += $$QMAKE_LIBS_DBUS_STATIC
|
||||
+ } else:isEqual(MODULE_NAME, QtWidgets) {
|
||||
+ LIBS$$var_sfx += $$QMAKE_LIBS_WIDGETS_STATIC
|
||||
+ } else:isEqual(MODULE_NAME, QtOpenGL) {
|
||||
+ LIBS$$var_sfx += $$QMAKE_LIBS_OPENGL
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
!isEmpty(BAD_QT):error("Unknown module(s) in QT$$var_sfx: $$replace(BAD_QT, _private$, -private)")
|
||||
|
||||
diff --git a/mkspecs/features/spec_pre.prf b/mkspecs/features/spec_pre.prf
|
||||
index 51ea3a8321..275e080ae4 100644
|
||||
--- a/mkspecs/features/spec_pre.prf
|
||||
+++ b/mkspecs/features/spec_pre.prf
|
||||
@@ -14,9 +14,14 @@ QMAKE_EXT_H = .h .hpp .hh .hxx
|
||||
QMAKE_EXT_H_MOC = .cpp
|
||||
QMAKE_EXT_JS = .js
|
||||
QMAKE_EXT_LEX = .l
|
||||
-QMAKE_EXT_LIBTOOL = .la
|
||||
-QMAKE_EXT_PKGCONFIG = .pc
|
||||
-QMAKE_EXT_PRL = .prl
|
||||
+QMAKE_EXT_PKGCONFIG = .pc
|
||||
+contains(CONFIG, static) {
|
||||
+ QMAKE_EXT_LIBTOOL = .static.la
|
||||
+ QMAKE_EXT_PRL = .static.prl
|
||||
+} else {
|
||||
+ QMAKE_EXT_LIBTOOL = .la
|
||||
+ QMAKE_EXT_PRL = .prl
|
||||
+}
|
||||
QMAKE_EXT_UI = .ui
|
||||
QMAKE_EXT_YACC = .y
|
||||
|
||||
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
|
||||
index 8e4d11484f..c73b19c144 100644
|
||||
--- a/qmake/generators/makefile.cpp
|
||||
+++ b/qmake/generators/makefile.cpp
|
||||
@@ -3228,6 +3228,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
|
||||
if (project->isActiveConfig("debug")) {
|
||||
ret += "d";
|
||||
}
|
||||
+ if (project->isActiveConfig("staticlib")) {
|
||||
+ ret.insert(0, QStringLiteral("Static"));
|
||||
+ }
|
||||
ret += Option::pkgcfg_ext;
|
||||
QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
|
||||
if(!subdir.isEmpty()) {
|
||||
@@ -3404,11 +3407,11 @@ MakefileGenerator::writePkgConfigFile()
|
||||
t << Qt::endl;
|
||||
|
||||
// requires
|
||||
- const QString requiresString = project->values("QMAKE_PKGCONFIG_REQUIRES").join(' ');
|
||||
- if (!requiresString.isEmpty()) {
|
||||
- t << "Requires: " << requiresString << Qt::endl;
|
||||
+ t << "Requires:";
|
||||
+ const auto pkgconfigRequires = project->values("QMAKE_PKGCONFIG_REQUIRES");
|
||||
+ for (const auto &required : pkgconfigRequires) {
|
||||
+ t << (project->isActiveConfig("staticlib") ? QStringLiteral(" Static") : QStringLiteral(" ")) << required.toQString();
|
||||
}
|
||||
-
|
||||
t << Qt::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.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0018-Merge-shared-and-static-library-trees.patch
|
|
@ -1,98 +0,0 @@
|
|||
From ae893f34a059c78cf274d1ed05c2d4c4bfb66218 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:26:18 +0200
|
||||
Subject: [PATCH 19/31] Use *.dll.a as import lib extension
|
||||
|
||||
The variables used here are provided by
|
||||
g++-win32.conf
|
||||
|
||||
Change-Id: I40acb56685628ed52b3e6b89aab7f53f9a872b1a
|
||||
---
|
||||
mkspecs/features/create_cmake.prf | 5 +++--
|
||||
mkspecs/features/qt.prf | 15 ++++++++++++---
|
||||
qmake/generators/win32/winmakefile.cpp | 15 +++++++++++----
|
||||
3 files changed, 26 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
|
||||
index 593161f362..37689938eb 100644
|
||||
--- a/mkspecs/features/create_cmake.prf
|
||||
+++ b/mkspecs/features/create_cmake.prf
|
||||
@@ -332,8 +332,9 @@ mac {
|
||||
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}$${debug_suffix}.a
|
||||
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
|
||||
|
||||
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.a
|
||||
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
|
||||
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a
|
||||
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}$${debug_suffix}.$${QMAKE_EXTENSION_IMPORTLIB}
|
||||
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB}
|
||||
} else {
|
||||
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = qt5main$${QT_LIBINFIX}$${debug_suffix}.lib
|
||||
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = qt5main$${QT_LIBINFIX}.lib
|
||||
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
|
||||
index 2bc7b1dedd..b79b324b88 100644
|
||||
--- a/mkspecs/features/qt.prf
|
||||
+++ b/mkspecs/features/qt.prf
|
||||
@@ -216,12 +216,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 183cef2908..03732df4a8 100644
|
||||
--- a/qmake/generators/win32/winmakefile.cpp
|
||||
+++ b/qmake/generators/win32/winmakefile.cpp
|
||||
@@ -99,9 +99,13 @@ private:
|
||||
bool
|
||||
Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
|
||||
{
|
||||
- ProStringList impexts = project->values("QMAKE_LIB_EXTENSIONS");
|
||||
- if (impexts.isEmpty())
|
||||
- impexts = project->values("QMAKE_EXTENSION_STATICLIB");
|
||||
+ ProStringList impexts;
|
||||
+ if (project->isActiveConfig("staticlib")) {
|
||||
+ impexts.append(project->values("QMAKE_EXTENSION_STATICLIB"));
|
||||
+ } else {
|
||||
+ impexts.append(project->values("QMAKE_EXTENSION_IMPORTLIB"));
|
||||
+ impexts.append(project->values("QMAKE_EXTENSION_STATICLIB"));
|
||||
+ }
|
||||
QVector<LibrarySearchPath> dirs;
|
||||
int libidx = 0;
|
||||
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
|
||||
@@ -283,9 +287,12 @@ void Win32MakefileGenerator::fixTargetExt()
|
||||
if (!project->values("QMAKE_APP_FLAG").isEmpty()) {
|
||||
project->values("TARGET_EXT").append(".exe");
|
||||
} else if (project->isActiveConfig("shared")) {
|
||||
+ ProString impext = project->first("QMAKE_EXTENSION_IMPORTLIB");
|
||||
+ if (impext.isEmpty())
|
||||
+ impext = project->first("QMAKE_PREFIX_STATICLIB");
|
||||
project->values("LIB_TARGET").prepend(project->first("QMAKE_PREFIX_STATICLIB")
|
||||
+ project->first("TARGET") + project->first("TARGET_VERSION_EXT")
|
||||
- + '.' + project->first("QMAKE_EXTENSION_STATICLIB"));
|
||||
+ + '.' + impext);
|
||||
project->values("TARGET_EXT").append(project->first("TARGET_VERSION_EXT") + "."
|
||||
+ project->first("QMAKE_EXTENSION_SHLIB"));
|
||||
project->values("TARGET").first() = project->first("QMAKE_PREFIX_SHLIB") + project->first("TARGET");
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0019-Use-.dll.a-as-import-lib-extension.patch
|
|
@ -1,505 +0,0 @@
|
|||
From 1b69d19dd9ef7d00a5eec9a22961c3232e19e5b1 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:32:00 +0200
|
||||
Subject: [PATCH 20/31] Pull dependencies of static libraries in CMake modules
|
||||
|
||||
When doing a static build of Qt, the dependencies of the Qt
|
||||
libraries and plugins itself must be specified when linking
|
||||
the final application.
|
||||
|
||||
With Qt 5.13.0 the support for doing that has been re-added.
|
||||
However, some pieces are still missing and that's what this
|
||||
patch provides:
|
||||
|
||||
1. Take dependencies of static plugins into account as well
|
||||
2. Create imported targets for the dependencies to prevent
|
||||
CMake from adding wrong `-Wl,-Bstatic` and `-Wl,-Bdynamic`
|
||||
linker flags
|
||||
|
||||
This patch has been harmonized with official changes, e.g. to
|
||||
use QMAKE_PRL_LIBS instead of QMAKE_PRL_LIBS_FOR_CMAKE.
|
||||
|
||||
See https://github.com/Martchus/PKGBUILDs/issues/86#issuecomment-476840055
|
||||
for further details on 2.
|
||||
|
||||
With Qt 5.14.0 the support for using static libraries seems
|
||||
to be further improved. I had not time to test whether it
|
||||
actually works so I keep using my own implemention for now.
|
||||
That's why this patch now removes a lot of the 5.14.0 and 5.15.0
|
||||
additions in favour of 'how it used to work'.
|
||||
|
||||
Change-Id: I75a9c91e9ab0dc06a941b576c28f87aef254669c
|
||||
---
|
||||
.../data/cmake/Qt5BasicConfig.cmake.in | 242 +++++++++---------
|
||||
.../data/cmake/Qt5PluginTarget.cmake.in | 93 +------
|
||||
2 files changed, 133 insertions(+), 202 deletions(-)
|
||||
|
||||
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
|
||||
index db18dbece6..5a5bc4d61d 100644
|
||||
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
|
||||
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
|
||||
@@ -52,6 +52,10 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
|
||||
set(_lib_deps)
|
||||
set(_link_flags)
|
||||
|
||||
+ # prefer static libs
|
||||
+ set(CMAKE_FIND_LIBRARY_SUFFIXES .a .lib)
|
||||
+ set(CMAKE_FIND_LIBRARY_PREFIXES lib \"\")
|
||||
+
|
||||
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
||||
set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}\")
|
||||
!!ELSE
|
||||
@@ -60,6 +64,10 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
|
||||
|
||||
if(EXISTS \"${prl_file_location}\")
|
||||
file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=\")
|
||||
+ if(NOT _prl_strings)
|
||||
+ message(WARNING \"Prl file for Qt 5 module $${CMAKE_MODULE_NAME} does not contain QMAKE_PRL_LIBS_FOR_CMAKE. Was looking at \\\"${prl_file_location}\\\".\")
|
||||
+ return()
|
||||
+ endif()
|
||||
|
||||
# file(STRINGS) replaces all semicolons read from the file with backslash semicolons.
|
||||
# We need to do a reverse transformation in CMake. For that we replace all backslash
|
||||
@@ -91,7 +99,7 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
|
||||
# Handle normal libraries passed as -lfoo
|
||||
set(_lib \"${CMAKE_MATCH_1}\")
|
||||
foreach(_standard_library ${_standard_libraries})
|
||||
- if(_standard_library MATCHES \"^${_lib}(\\\\.lib)?$\")
|
||||
+ if(_standard_library MATCHES \"^${_lib}(\\\\.lib|\\\\.a)?$\")
|
||||
set(_lib_is_default_linked TRUE)
|
||||
break()
|
||||
endif()
|
||||
@@ -138,6 +146,37 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
|
||||
set(${lib_deps} ${_lib_deps} PARENT_SCOPE)
|
||||
set(${link_flags} \"SHELL:${_link_flags}\" PARENT_SCOPE)
|
||||
endfunction()
|
||||
+
|
||||
+if(NOT COMMAND _qt5_add_dependencies)
|
||||
+ # add dependencies via imported targets so CMake does not mess with their (absolute) file path
|
||||
+ # which can be problematic with unwanted -Wl,-Bstatic or -Wl,-Bdynamic in the linker line
|
||||
+ function(_qt5_add_dependencies IMPORTED_TARGET_NAME IMPORTED_TARGET_CONFIG STATIC_DEPENDENCIES)
|
||||
+ set(DEPENDENCY_INDEX 0)
|
||||
+ unset(EXTRA_PATHS)
|
||||
+ unset(DEPENDENCY_TARGETS)
|
||||
+
|
||||
+ foreach(LIBRARY_LOCATION ${STATIC_DEPENDENCIES})
|
||||
+ if (TARGET \"${LIBRARY_LOCATION}\")
|
||||
+ list(APPEND DEPENDENCY_TARGETS \"${LIBRARY_LOCATION}\")
|
||||
+ continue()
|
||||
+ endif()
|
||||
+ set(DEPENDENCY_NAME ${IMPORTED_TARGET_NAME}_DEPENDENCY_${DEPENDENCY_INDEX})
|
||||
+ if (NOT TARGET \"${DEPENDENCY_NAME}\")
|
||||
+ add_library(${DEPENDENCY_NAME} STATIC IMPORTED)
|
||||
+ set_property(TARGET ${DEPENDENCY_NAME} PROPERTY IMPORTED_LOCATION ${LIBRARY_LOCATION})
|
||||
+ endif()
|
||||
+ list(APPEND DEPENDENCY_TARGETS ${DEPENDENCY_NAME})
|
||||
+ math(EXPR DEPENDENCY_INDEX \"${DEPENDENCY_INDEX} + 1\")
|
||||
+ endforeach()
|
||||
+
|
||||
+ if (\"${IMPORTED_TARGET_CONFIG}\" STREQUAL \"ALL\" OR \"${IMPORTED_TARGET_CONFIG}\" STREQUAL \"RELEASE\")
|
||||
+ set_property(TARGET ${IMPORTED_TARGET_NAME} PROPERTY INTERFACE_LINK_LIBRARIES ${DEPENDENCY_TARGETS})
|
||||
+ endif()
|
||||
+ if (NOT \"${IMPORTED_TARGET_CONFIG}\" STREQUAL \"ALL\")
|
||||
+ set_property(TARGET ${IMPORTED_TARGET_NAME} PROPERTY INTERFACE_LINK_LIBRARIES_${IMPORTED_TARGET_CONFIG} ${DEPENDENCY_TARGETS})
|
||||
+ endif()
|
||||
+ endfunction()
|
||||
+endif()
|
||||
!!ENDIF
|
||||
|
||||
!!IF !equals(TEMPLATE, aux)
|
||||
@@ -153,59 +192,36 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
|
||||
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
|
||||
set(_deps
|
||||
${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}
|
||||
- )
|
||||
- set(_static_deps
|
||||
!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
||||
${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LIB_DEPENDENCIES}
|
||||
!!ENDIF
|
||||
)
|
||||
|
||||
+ # FIXME: handle IsDebugAndRelease like in official version
|
||||
+
|
||||
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
||||
set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
|
||||
\"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
|
||||
!!IF !isEmpty(CMAKE_LIB_SONAME)
|
||||
\"IMPORTED_SONAME_${Configuration}\" \"$${CMAKE_LIB_SONAME}\"
|
||||
!!ENDIF
|
||||
- # For backward compatibility with CMake < 2.8.12
|
||||
- \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_deps};${_static_deps}\"
|
||||
)
|
||||
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||
- \"${_deps}\"
|
||||
- )
|
||||
-
|
||||
-!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
||||
- if(NOT "${IsDebugAndRelease}")
|
||||
- set(_genex_condition \"1\")
|
||||
- else()
|
||||
- if("${Configuration}" STREQUAL "DEBUG")
|
||||
- set(_genex_condition \"$<CONFIG:Debug>\")
|
||||
- else()
|
||||
- set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
|
||||
- endif()
|
||||
- endif()
|
||||
-
|
||||
- if(_static_deps)
|
||||
- set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
|
||||
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||
- \"${_static_deps_genex}\"
|
||||
+ _qt5_add_dependencies(Qt5::$${CMAKE_MODULE_NAME} \"${Configuration}\" \"${_deps}\")
|
||||
+ if(NOT CMAKE_VERSION VERSION_LESS \"3.13\")
|
||||
+ set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
|
||||
+ \"INTERFACE_LINK_OPTIONS\" \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LINK_FLAGS}\"
|
||||
)
|
||||
endif()
|
||||
-
|
||||
- set(_static_link_flags \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_${Configuration}_LINK_FLAGS}\")
|
||||
- if(_static_link_flags)
|
||||
- set(_static_link_flags_genex \"$<${_genex_condition}:${_static_link_flags}>\")
|
||||
- if(NOT CMAKE_VERSION VERSION_LESS \"3.13\")
|
||||
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_OPTIONS
|
||||
- \"${_static_link_flags_genex}\"
|
||||
- )
|
||||
- else()
|
||||
- # Abuse INTERFACE_LINK_LIBRARIES to add link flags when CMake version is too low.
|
||||
- # Strip out SHELL:, because it is not supported in this property. And hope for the best.
|
||||
- string(REPLACE \"SHELL:\" \"\" _static_link_flags_genex \"${_static_link_flags_genex}\")
|
||||
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||
- \"${_static_link_flags_genex}\"
|
||||
- )
|
||||
- endif()
|
||||
- endif()
|
||||
+!!ELSE
|
||||
+ set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
|
||||
+ \"INTERFACE_LINK_LIBRARIES_${Configuration}\" \"${_deps}\"
|
||||
+ \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
|
||||
+!!IF !isEmpty(CMAKE_LIB_SONAME)
|
||||
+ \"IMPORTED_SONAME_${Configuration}\" \"$${CMAKE_LIB_SONAME}\"
|
||||
+!!ENDIF
|
||||
+ # For backward compatibility with CMake < 2.8.12
|
||||
+ \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_deps}\"
|
||||
+ )
|
||||
!!ENDIF
|
||||
|
||||
!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
|
||||
@@ -222,6 +238,15 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
|
||||
endif()
|
||||
!!ENDIF
|
||||
endmacro()
|
||||
+
|
||||
+macro(_populate_$${CMAKE_MODULE_NAME}_plugin_target_dependencies_from_prl_file PLUGIN_TARGET_NAME PRL_FILE_LOCATION CONFIGURATION LIB_DIRECTORY LIB_LOCATION)
|
||||
+ _qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
+ \"${PRL_FILE_LOCATION}\"
|
||||
+ \"${CONFIGURATION}\"
|
||||
+ _Qt5$${CMAKE_MODULE_NAME}_STATIC_PLUGIN_${CONFIGURATION}_LIB_DEPENDENCIES
|
||||
+ _Qt5$${CMAKE_MODULE_NAME}_STATIC_PLUGIN_${CONFIGURATION}_LINK_FLAGS)
|
||||
+ _qt5_add_dependencies(\"${PLUGIN_TARGET_NAME}\" ALL \"${_Qt5$${CMAKE_MODULE_NAME}_STATIC_PLUGIN_${CONFIGURATION}_LIB_DEPENDENCIES}\")
|
||||
+endmacro()
|
||||
!!ENDIF
|
||||
|
||||
if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
@@ -411,13 +436,14 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
|
||||
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
||||
!!ENDIF
|
||||
-!!ELSE
|
||||
+
|
||||
+!!ELSE // !isEmpty(CMAKE_STATIC_TYPE)
|
||||
!!IF equals(TEMPLATE, aux)
|
||||
add_library(Qt5::$${CMAKE_MODULE_NAME} INTERFACE IMPORTED)
|
||||
!!ELSE
|
||||
add_library(Qt5::$${CMAKE_MODULE_NAME} SHARED IMPORTED)
|
||||
!!ENDIF
|
||||
-!!ENDIF
|
||||
+!!ENDIF // !isEmpty(CMAKE_STATIC_TYPE)
|
||||
|
||||
!!IF !equals(TEMPLATE, aux)
|
||||
!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
|
||||
@@ -449,6 +475,56 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
|
||||
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY INTERFACE_QT_PLUGIN_TYPES \"$${CMAKE_MODULE_PLUGIN_TYPES}\")
|
||||
|
||||
+ # Find plugin targets
|
||||
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/*Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
|
||||
+ unset(pluginTargets)
|
||||
+ if(pluginTargetsMaybe)
|
||||
+ foreach(pluginTarget ${pluginTargetsMaybe})
|
||||
+ file(STRINGS ${pluginTarget} matched REGEX Qt5$${CMAKE_MODULE_NAME}_PLUGINS)
|
||||
+ if(matched)
|
||||
+ list(APPEND pluginTargets ${pluginTarget})
|
||||
+ endif()
|
||||
+ endforeach()
|
||||
+ endif()
|
||||
+
|
||||
+ macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties TARGET_NAME PLUGIN_TARGET_NAME PLUGIN_NAME CONFIG PLUGIN_LOCATION)
|
||||
+ set_property(TARGET ${PLUGIN_TARGET_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${CONFIG})
|
||||
+
|
||||
+!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
|
||||
+ set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
|
||||
+!!ELSE
|
||||
+ set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
|
||||
+!!ENDIF
|
||||
+ _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
|
||||
+ set_target_properties(${PLUGIN_TARGET_NAME} PROPERTIES
|
||||
+ \"IMPORTED_LOCATION_${CONFIG}\" ${imported_location}
|
||||
+ )
|
||||
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
||||
+ set_property(TARGET ${TARGET_NAME} APPEND PROPERTY STATIC_PLUGINS ${PLUGIN_NAME})
|
||||
+ get_filename_component(_PLUGIN_DIR ${PLUGIN_LOCATION} PATH)
|
||||
+ get_filename_component(_PLUGIN_DIR_NAME ${_PLUGIN_DIR} NAME)
|
||||
+ get_filename_component(_PLUGIN_NAME ${PLUGIN_LOCATION} NAME)
|
||||
+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_PLUGIN_DIR_NAME}/\\\\1.static.prl\" PLUGIN_PRL_FILE_LOCATION ${_PLUGIN_NAME})
|
||||
+ if(NOT EXISTS ${PLUGIN_PRL_FILE_LOCATION})
|
||||
+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_PLUGIN_DIR_NAME}/\\\\1.prl\" PLUGIN_PRL_FILE_LOCATION ${_PLUGIN_NAME})
|
||||
+ endif()
|
||||
+ if(NOT EXISTS ${PLUGIN_PRL_FILE_LOCATION})
|
||||
+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_PLUGIN_DIR_NAME}/lib\\\\1.prl\" PLUGIN_PRL_FILE_LOCATION ${_PLUGIN_NAME})
|
||||
+ endif()
|
||||
+ if(NOT EXISTS ${PLUGIN_PRL_FILE_LOCATION})
|
||||
+ message(FATAL_ERROR "The prl file containing dependencies of static plugin ${PLUGIN_TARGET_NAME} of ${TARGET_NAME} could not be found.")
|
||||
+ endif()
|
||||
+ _populate_$${CMAKE_MODULE_NAME}_plugin_target_dependencies_from_prl_file(${PLUGIN_TARGET_NAME} ${PLUGIN_PRL_FILE_LOCATION} ${CONFIG} \"lib/qt/plugins\" ${PLUGIN_LOCATION})
|
||||
+!!ENDIF
|
||||
+
|
||||
+ endmacro()
|
||||
+
|
||||
+ if(pluginTargets)
|
||||
+ foreach(pluginTarget ${pluginTargets})
|
||||
+ include(${pluginTarget})
|
||||
+ endforeach()
|
||||
+ endif()
|
||||
+
|
||||
set(_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIRS_EXIST TRUE)
|
||||
foreach (_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR ${Qt5$${CMAKE_MODULE_NAME}_OWN_PRIVATE_INCLUDE_DIRS})
|
||||
if (NOT EXISTS ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATE_DIR})
|
||||
@@ -467,6 +543,9 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
list(APPEND _Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS ${dep}Private)
|
||||
endif()
|
||||
endforeach()
|
||||
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
||||
+ _qt5_add_dependencies(Qt5::$${CMAKE_MODULE_NAME}Private ALL \"Qt5::$${CMAKE_MODULE_NAME};${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS}\")
|
||||
+!!ELSE
|
||||
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME}Private PROPERTY
|
||||
INTERFACE_LINK_LIBRARIES Qt5::$${CMAKE_MODULE_NAME} ${_Qt5$${CMAKE_MODULE_NAME}_PRIVATEDEPS}
|
||||
)
|
||||
@@ -478,6 +557,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
INTERFACE_LINK_LIBRARIES \"Qt5::$${CMAKE_MODULE_NAME}Private\"
|
||||
)
|
||||
endif()
|
||||
+!!ENDIF // CMAKE_STATIC_TYPE
|
||||
endif()
|
||||
|
||||
!!IF !equals(TEMPLATE, aux)
|
||||
@@ -547,9 +627,11 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
!!ELSE
|
||||
\"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
|
||||
!!ENDIF
|
||||
- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
|
||||
-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
|
||||
+ _populate_$${CMAKE_MODULE_NAME}_target_properties(Qt5::$${CMAKE_MODULE_NAME} RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
|
||||
endif()
|
||||
+!!ENDIF // CMAKE_STATIC_TYPE
|
||||
+
|
||||
+
|
||||
!!ENDIF // CMAKE_RELEASE_TYPE
|
||||
!!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
|
||||
|
||||
@@ -560,76 +642,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
|
||||
)
|
||||
!!ENDIF // TEMPLATE != aux
|
||||
|
||||
-!!IF isEmpty(CMAKE_INTERNAL_MODULE)
|
||||
- # In Qt 5.15 the glob pattern was relaxed to also catch plugins not literally named "Plugin".
|
||||
- # Define QT5_STRICT_PLUGIN_GLOB or ModuleName_STRICT_PLUGIN_GLOB to revert to old behavior.
|
||||
- if (QT5_STRICT_PLUGIN_GLOB OR Qt5$${CMAKE_MODULE_NAME}_STRICT_PLUGIN_GLOB)
|
||||
- file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\")
|
||||
- else()
|
||||
- file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
|
||||
- endif()
|
||||
-
|
||||
- macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION
|
||||
- IsDebugAndRelease)
|
||||
- set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
|
||||
-
|
||||
-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
|
||||
- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
|
||||
-!!ELSE
|
||||
- set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
|
||||
-!!ENDIF
|
||||
- _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
|
||||
- set_target_properties(Qt5::${Plugin} PROPERTIES
|
||||
- \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
|
||||
- )
|
||||
-
|
||||
-!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
||||
- set(_static_deps
|
||||
- ${_Qt5${Plugin}_STATIC_${Configuration}_LIB_DEPENDENCIES}
|
||||
- )
|
||||
-
|
||||
- if(NOT "${IsDebugAndRelease}")
|
||||
- set(_genex_condition \"1\")
|
||||
- else()
|
||||
- if("${Configuration}" STREQUAL "DEBUG")
|
||||
- set(_genex_condition \"$<CONFIG:Debug>\")
|
||||
- else()
|
||||
- set(_genex_condition \"$<NOT:$<CONFIG:Debug>>\")
|
||||
- endif()
|
||||
- endif()
|
||||
- if(_static_deps)
|
||||
- set(_static_deps_genex \"$<${_genex_condition}:${_static_deps}>\")
|
||||
- set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||
- \"${_static_deps_genex}\"
|
||||
- )
|
||||
- endif()
|
||||
-
|
||||
- set(_static_link_flags \"${_Qt5${Plugin}_STATIC_${Configuration}_LINK_FLAGS}\")
|
||||
- if(_static_link_flags)
|
||||
- set(_static_link_flags_genex \"$<${_genex_condition}:${_static_link_flags}>\")
|
||||
- if(NOT CMAKE_VERSION VERSION_LESS \"3.13\")
|
||||
- set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_OPTIONS
|
||||
- \"${_static_link_flags_genex}\"
|
||||
- )
|
||||
- else()
|
||||
- # Abuse INTERFACE_LINK_LIBRARIES to add link flags when CMake version is too low.
|
||||
- # Strip out SHELL:, because it is not supported in this property. And hope for the best.
|
||||
- string(REPLACE \"SHELL:\" \"\" _static_link_flags_genex \"${_static_link_flags_genex}\")
|
||||
- set_property(TARGET Qt5::${Plugin} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||
- \"${_static_link_flags_genex}\"
|
||||
- )
|
||||
- endif()
|
||||
- endif()
|
||||
-!!ENDIF
|
||||
- endmacro()
|
||||
-
|
||||
- if (pluginTargets)
|
||||
- foreach(pluginTarget ${pluginTargets})
|
||||
- include(${pluginTarget})
|
||||
- endforeach()
|
||||
- endif()
|
||||
-!!ENDIF // isEmpty(CMAKE_INTERNAL_MODULE)
|
||||
-
|
||||
!!IF !isEmpty(CMAKE_MODULE_EXTRAS)
|
||||
include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\")
|
||||
!!ENDIF
|
||||
diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
|
||||
index b550a52c60..acbe1cc33b 100644
|
||||
--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
|
||||
+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
|
||||
@@ -1,5 +1,6 @@
|
||||
-
|
||||
-add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
|
||||
+# Some Qt modules also load plugin target in extra config, so check whether the target already exists
|
||||
+if(NOT TARGET Qt5::$$CMAKE_PLUGIN_NAME)
|
||||
+ add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
|
||||
|
||||
!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
||||
set(_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES \"$${CMAKE_PLUGIN_MODULE_DEPS}\")
|
||||
@@ -16,99 +17,17 @@ foreach(_module_dep ${_Qt5$${CMAKE_PLUGIN_NAME}_MODULE_DEPENDENCIES})
|
||||
endforeach()
|
||||
|
||||
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
|
||||
-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
||||
-_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LINK_FLAGS
|
||||
-)
|
||||
-!!ELSE
|
||||
-_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
- \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_RELEASE}\" RELEASE
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LIB_DEPENDENCIES
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_RELEASE_LINK_FLAGS
|
||||
-)
|
||||
+ _populate_$${CMAKE_MODULE_NAME}_plugin_properties(Qt5::$$CMAKE_MODULE_NAME Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
|
||||
!!ENDIF
|
||||
!!ENDIF
|
||||
|
||||
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
|
||||
-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
||||
-_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LINK_FLAGS
|
||||
-)
|
||||
-!!ELSE
|
||||
-_qt5_$${CMAKE_MODULE_NAME}_process_prl_file(
|
||||
- \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PRL_FILE_LOCATION_DEBUG}\" DEBUG
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LIB_DEPENDENCIES
|
||||
- _Qt5$${CMAKE_PLUGIN_NAME}_STATIC_DEBUG_LINK_FLAGS
|
||||
-)
|
||||
-!!ENDIF
|
||||
-!!ENDIF
|
||||
-
|
||||
-set_property(TARGET Qt5::$$CMAKE_PLUGIN_NAME PROPERTY INTERFACE_SOURCES
|
||||
- \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_$${CMAKE_PLUGIN_NAME}_Import.cpp\"
|
||||
-)
|
||||
-!!ENDIF
|
||||
-
|
||||
-!!IF !isEmpty(CMAKE_RELEASE_TYPE)
|
||||
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
|
||||
-!!ENDIF
|
||||
-!!IF !isEmpty(CMAKE_DEBUG_TYPE)
|
||||
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
|
||||
+ _populate_$${CMAKE_MODULE_NAME}_plugin_properties(Qt5::$$CMAKE_MODULE_NAME Qt5::$$CMAKE_PLUGIN_NAME $$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
|
||||
!!ENDIF
|
||||
|
||||
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
|
||||
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY QT_ALL_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED} Qt5::$${CMAKE_PLUGIN_NAME})
|
||||
-!!IF !isEmpty(CMAKE_STATIC_TYPE)
|
||||
-# $<GENEX_EVAL:...> wasn\'t added until CMake 3.12, so put a version guard around it
|
||||
-if(CMAKE_VERSION VERSION_LESS \"3.12\")
|
||||
- set(_manual_plugins_genex \"$<TARGET_PROPERTY:QT_PLUGINS>\")
|
||||
- set(_plugin_type_genex \"$<TARGET_PROPERTY:QT_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED}>\")
|
||||
- set(_no_plugins_genex \"$<TARGET_PROPERTY:QT_NO_PLUGINS>\")
|
||||
-else()
|
||||
- set(_manual_plugins_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_PLUGINS>>\")
|
||||
- set(_plugin_type_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_PLUGINS_$${CMAKE_PLUGIN_TYPE_ESCAPED}>>\")
|
||||
- set(_no_plugins_genex \"$<GENEX_EVAL:$<TARGET_PROPERTY:QT_NO_PLUGINS>>\")
|
||||
-endif()
|
||||
-set(_user_specified_genex
|
||||
- \"$<IN_LIST:Qt5::$$CMAKE_PLUGIN_NAME,${_manual_plugins_genex};${_plugin_type_genex}>\"
|
||||
-)
|
||||
-set(_user_specified_genex_versionless
|
||||
- \"$<IN_LIST:Qt::$$CMAKE_PLUGIN_NAME,${_manual_plugins_genex};${_plugin_type_genex}>\"
|
||||
-)
|
||||
-string(CONCAT _plugin_genex
|
||||
- \"$<$<OR:\"
|
||||
- # Add this plugin if it\'s in the list of manually specified plugins or in the list of
|
||||
- # explicitly included plugin types.
|
||||
- \"${_user_specified_genex},\"
|
||||
- \"${_user_specified_genex_versionless},\"
|
||||
- # Add this plugin if all of the following are true:
|
||||
- # 1) the list of explicitly included plugin types is empty
|
||||
- # 2) the QT_PLUGIN_EXTENDS property for the plugin is empty or equal to the current
|
||||
- # module name
|
||||
- # 3) the user hasn\'t explicitly excluded the plugin.
|
||||
- \"$<AND:\"
|
||||
- \"$<STREQUAL:${_plugin_type_genex},>,\"
|
||||
- \"$<OR:\"
|
||||
- # FIXME: The value of CMAKE_MODULE_NAME seems to be wrong (e.g for Svg plugin
|
||||
- # it should be Qt::Svg instead of Qt::Gui).
|
||||
- \"$<STREQUAL:$<TARGET_PROPERTY:Qt5::$${CMAKE_PLUGIN_NAME},QT_PLUGIN_EXTENDS>,Qt::$${CMAKE_MODULE_NAME}>,\"
|
||||
- \"$<STREQUAL:$<TARGET_PROPERTY:Qt5::$${CMAKE_PLUGIN_NAME},QT_PLUGIN_EXTENDS>,>\"
|
||||
- \">,\"
|
||||
- \"$<NOT:$<IN_LIST:Qt5::$${CMAKE_PLUGIN_NAME},${_no_plugins_genex}>>,\"
|
||||
- \"$<NOT:$<IN_LIST:Qt::$${CMAKE_PLUGIN_NAME},${_no_plugins_genex}>>\"
|
||||
- \">\"
|
||||
- \">:Qt5::$$CMAKE_PLUGIN_NAME>\"
|
||||
-)
|
||||
-set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||
- ${_plugin_genex}
|
||||
-)
|
||||
-set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} APPEND PROPERTY INTERFACE_LINK_LIBRARIES
|
||||
- \"$${CMAKE_PLUGIN_QT5_MODULE_DEPS}\"
|
||||
-)
|
||||
-!!ENDIF
|
||||
set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_TYPE \"$$CMAKE_PLUGIN_TYPE\")
|
||||
set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_EXTENDS \"$$CMAKE_PLUGIN_EXTENDS\")
|
||||
set_property(TARGET Qt5::$${CMAKE_PLUGIN_NAME} PROPERTY QT_PLUGIN_CLASS_NAME \"$$CMAKE_PLUGIN_NAME\")
|
||||
+endif()
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0020-Pull-dependencies-of-static-libraries-in-CMake-modul.patch
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0021-Allow-usage-of-static-version-with-CMake.patch
|
|
@ -1,31 +0,0 @@
|
|||
From 0f44180723f14ae9861b406238d973e0ca20c405 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 2 Jun 2017 16:42:07 +0200
|
||||
Subject: [PATCH 22/31] Adjust linker flags for static build with
|
||||
cmake/mingw-w64
|
||||
|
||||
It is not clear anymore where I picked that change up and for
|
||||
what reason. Never touch a running system so let's keep it.
|
||||
|
||||
Change-Id: Iad665f18da5b4540f0899829a0165e1d3aa4ea60
|
||||
---
|
||||
src/corelib/Qt5CoreConfigExtras.cmake.in | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
|
||||
index 9da1361c95..5e802dea4c 100644
|
||||
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
|
||||
+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
|
||||
@@ -206,3 +206,9 @@ if(NOT \"${QT_NO_CREATE_VERSIONLESS_TARGETS}\" AND NOT TARGET Qt::WinMain)
|
||||
)
|
||||
endif()
|
||||
!!ENDIF
|
||||
+
|
||||
+!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
|
||||
+set(_isExe $<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>)
|
||||
+# INTERFACE_LINK_LIBRARIES is used to pass a linker flag '-static' and library ws2_32
|
||||
+set_target_properties(${IMPORTED_TARGET_NAME} PROPERTIES \"INTERFACE_LINK_LIBRARIES\" \"$<${_isExe}:-static;ws2_32>\")
|
||||
+unset(_isExe)
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0022-Adjust-linker-flags-for-static-build-with-cmake-ming.patch
|
|
@ -1,26 +0,0 @@
|
|||
From 0084c7966f46b5a64cac040a8c50c793ba680930 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:50:21 +0200
|
||||
Subject: [PATCH 23/31] Use correct pkg-config --static flag
|
||||
|
||||
---
|
||||
configure.pri | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/configure.pri b/configure.pri
|
||||
index 53c67f885b..8934b72291 100644
|
||||
--- a/configure.pri
|
||||
+++ b/configure.pri
|
||||
@@ -351,6 +351,9 @@ defineTest(qtConfTest_detectPkgConfig) {
|
||||
qtLog("Found pkg-config from path: $$pkgConfig")
|
||||
}
|
||||
}
|
||||
+ !isEmpty(pkgConfig):qtConfig(static) {
|
||||
+ pkgConfig = "$$pkgConfig --static"
|
||||
+ }
|
||||
|
||||
$$qtConfEvaluate("features.cross_compile") {
|
||||
# cross compiling, check that pkg-config is set up sanely
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0023-Use-correct-pkg-config-static-flag.patch
|
|
@ -1,74 +0,0 @@
|
|||
From e5389013ff78085fdfdfbf1da5b0644e784c916d Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 4 Dec 2016 20:35:47 +0100
|
||||
Subject: [PATCH 24/31] Fix macro invoking moc, rcc and uic
|
||||
|
||||
* Otherwise the arguments aren't passed correctly leading to errors like
|
||||
```
|
||||
[ 3%] Generating qca_core.moc
|
||||
moc: Too many input files specified: 'Qt5::moc' '/build/qca-qt5/src/qca-2.1.3/include/QtCrypto/qca_safetimer.h'
|
||||
```
|
||||
* Just a workaround, not sure what is causing the issue (maybe a CMake bug?)
|
||||
* See https://github.com/Martchus/PKGBUILDs/issues/11
|
||||
|
||||
Change-Id: I6fde86d0a3ade37b4376604a1eb6d5723eda8b4c
|
||||
---
|
||||
src/corelib/Qt5CoreMacros.cmake | 9 ++++++---
|
||||
src/widgets/Qt5WidgetsMacros.cmake | 3 ++-
|
||||
2 files changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake
|
||||
index f5766f8775..2403717802 100644
|
||||
--- a/src/corelib/Qt5CoreMacros.cmake
|
||||
+++ b/src/corelib/Qt5CoreMacros.cmake
|
||||
@@ -153,8 +153,9 @@ function(qt5_create_moc_command infile outfile moc_flags moc_options moc_target
|
||||
endif()
|
||||
|
||||
set(_moc_extra_parameters_file @${_moc_parameters_file})
|
||||
+ get_target_property(MOC_LOC ${Qt5Core_MOC_EXECUTABLE} IMPORTED_LOCATION)
|
||||
add_custom_command(OUTPUT ${outfile}
|
||||
- COMMAND ${Qt5Core_MOC_EXECUTABLE} ${_moc_extra_parameters_file}
|
||||
+ COMMAND ${MOC_LOC} ${_moc_extra_parameters_file}
|
||||
DEPENDS ${infile} ${moc_depends}
|
||||
${_moc_working_dir}
|
||||
VERBATIM)
|
||||
@@ -295,8 +296,9 @@ function(qt5_add_binary_resources target)
|
||||
set(rc_depends ${rc_depends} ${_rc_depends})
|
||||
endforeach()
|
||||
|
||||
+ get_target_property(RCC_LOC ${Qt5Core_RCC_EXECUTABLE} IMPORTED_LOCATION)
|
||||
add_custom_command(OUTPUT ${rcc_destination}
|
||||
- COMMAND ${Qt5Core_RCC_EXECUTABLE}
|
||||
+ COMMAND ${RCC_LOC}
|
||||
ARGS ${rcc_options} --binary --name ${target} --output ${rcc_destination} ${infiles}
|
||||
DEPENDS ${rc_depends} ${out_depends} ${infiles} VERBATIM)
|
||||
add_custom_target(${target} ALL DEPENDS ${rcc_destination})
|
||||
@@ -339,8 +341,9 @@ function(qt5_add_resources outfiles)
|
||||
_qt5_parse_qrc_file(${infile} _out_depends _rc_depends)
|
||||
set_source_files_properties(${infile} PROPERTIES SKIP_AUTORCC ON)
|
||||
|
||||
+ get_target_property(MOC_LOC ${Qt5Core_RCC_EXECUTABLE} IMPORTED_LOCATION)
|
||||
add_custom_command(OUTPUT ${outfile}
|
||||
- COMMAND ${Qt5Core_RCC_EXECUTABLE}
|
||||
+ COMMAND ${MOC_LOC}
|
||||
ARGS ${rcc_options} --name ${outfilename} --output ${outfile} ${infile}
|
||||
MAIN_DEPENDENCY ${infile}
|
||||
DEPENDS ${_rc_depends} "${_out_depends}" VERBATIM)
|
||||
diff --git a/src/widgets/Qt5WidgetsMacros.cmake b/src/widgets/Qt5WidgetsMacros.cmake
|
||||
index 35d2a2dc54..99f061f1b8 100644
|
||||
--- a/src/widgets/Qt5WidgetsMacros.cmake
|
||||
+++ b/src/widgets/Qt5WidgetsMacros.cmake
|
||||
@@ -55,8 +55,9 @@ function(qt5_wrap_ui outfiles )
|
||||
get_filename_component(outfile ${it} NAME_WE)
|
||||
get_filename_component(infile ${it} ABSOLUTE)
|
||||
set(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h)
|
||||
+ get_target_property(UIC_LOC ${Qt5Widgets_UIC_EXECUTABLE} IMPORTED_LOCATION)
|
||||
add_custom_command(OUTPUT ${outfile}
|
||||
- COMMAND ${Qt5Widgets_UIC_EXECUTABLE}
|
||||
+ COMMAND ${UIC_LOC}
|
||||
ARGS ${ui_options} -o ${outfile} ${infile}
|
||||
MAIN_DEPENDENCY ${infile} VERBATIM)
|
||||
set_source_files_properties(${infile} PROPERTIES SKIP_AUTOUIC ON)
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0024-Fix-macro-invoking-moc-rcc-and-uic.patch
|
|
@ -1,36 +0,0 @@
|
|||
From d29a2b44643831e439755d11348b69dc9ed6d60b Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Wed, 25 Jan 2017 20:59:54 +0100
|
||||
Subject: [PATCH 25/31] Ignore errors about missing feature static
|
||||
|
||||
Not sure why this error occurs, let's hope for the best
|
||||
---
|
||||
mkspecs/features/qt_build_config.prf | 2 +-
|
||||
mkspecs/features/qt_functions.prf | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
|
||||
index 511b158b91..39760d5ce4 100644
|
||||
--- a/mkspecs/features/qt_build_config.prf
|
||||
+++ b/mkspecs/features/qt_build_config.prf
|
||||
@@ -153,5 +153,5 @@ defineTest(qtConfig) {
|
||||
contains(QT.$${module}.disabled_features, $$1): \
|
||||
return(false)
|
||||
}
|
||||
- error("Could not find feature $${1}.")
|
||||
+ !equals($$1, "static"): error("Could not find feature $${1}.")
|
||||
}
|
||||
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
|
||||
index 7777e615bd..5f30366660 100644
|
||||
--- a/mkspecs/features/qt_functions.prf
|
||||
+++ b/mkspecs/features/qt_functions.prf
|
||||
@@ -370,5 +370,5 @@ defineTest(qtConfig) {
|
||||
contains(QT.$${module}.disabled_features, $$1): \
|
||||
return(false)
|
||||
}
|
||||
- error("Could not find feature $${1}.")
|
||||
+ !equals($$1, "static"): error("Could not find feature $${1}.")
|
||||
}
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0025-Ignore-errors-about-missing-feature-static.patch
|
|
@ -1,78 +0,0 @@
|
|||
From becf49560bdf91b82df7bec0bc06c54d7ab8c948 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Wed, 25 Jan 2017 21:08:20 +0100
|
||||
Subject: [PATCH 26/31] Enable and fix use of iconv
|
||||
|
||||
Change-Id: I5f0ab27afca0800dec11c7af74d196190820ae5c
|
||||
---
|
||||
src/corelib/codecs/qiconvcodec.cpp | 7 +++----
|
||||
src/corelib/configure.json | 6 +++---
|
||||
2 files changed, 6 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/codecs/qiconvcodec.cpp b/src/corelib/codecs/qiconvcodec.cpp
|
||||
index 9c39727946..cc14036b25 100644
|
||||
--- a/src/corelib/codecs/qiconvcodec.cpp
|
||||
+++ b/src/corelib/codecs/qiconvcodec.cpp
|
||||
@@ -47,7 +47,6 @@
|
||||
#include <errno.h>
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
-#include <dlfcn.h>
|
||||
|
||||
// unistd.h is needed for the _XOPEN_UNIX macro
|
||||
#include <unistd.h>
|
||||
@@ -180,7 +179,7 @@ QString QIconvCodec::convertToUnicode(const char* chars, int len, ConverterState
|
||||
IconvState *state = *pstate;
|
||||
size_t inBytesLeft = len;
|
||||
// best case assumption, each byte is converted into one UTF-16 character, plus 2 bytes for the BOM
|
||||
-#if !QT_CONFIG(posix_libiconv)
|
||||
+#if !QT_CONFIG(posix_libiconv) && !defined(Q_OS_WIN)
|
||||
// GNU doesn't disagree with POSIX :/
|
||||
const char *inBytes = chars;
|
||||
#else
|
||||
@@ -279,7 +278,7 @@ static bool setByteOrder(iconv_t cd)
|
||||
size_t outBytesLeft = sizeof buf;
|
||||
size_t inBytesLeft = sizeof bom;
|
||||
|
||||
-#if !QT_CONFIG(posix_libiconv)
|
||||
+#if !QT_CONFIG(posix_libiconv) && !defined(Q_OS_WIN)
|
||||
const char **inBytesPtr = const_cast<const char **>(&inBytes);
|
||||
#else
|
||||
char **inBytesPtr = &inBytes;
|
||||
@@ -301,7 +300,7 @@ QByteArray QIconvCodec::convertFromUnicode(const QChar *uc, int len, ConverterSt
|
||||
char *outBytes;
|
||||
size_t inBytesLeft;
|
||||
|
||||
-#if !QT_CONFIG(posix_libiconv)
|
||||
+#if !QT_CONFIG(posix_libiconv) && !defined(Q_OS_WIN)
|
||||
const char **inBytesPtr = const_cast<const char **>(&inBytes);
|
||||
#else
|
||||
char **inBytesPtr = &inBytes;
|
||||
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
|
||||
index c5e0423273..0b12e22351 100644
|
||||
--- a/src/corelib/configure.json
|
||||
+++ b/src/corelib/configure.json
|
||||
@@ -72,7 +72,7 @@
|
||||
"test": {
|
||||
"main": [
|
||||
"iconv_t x = iconv_open(\"\", \"\");",
|
||||
- "const char *inp;",
|
||||
+ "char *inp;",
|
||||
"char *outp;",
|
||||
"size_t inbytes, outbytes;",
|
||||
"iconv(x, &inp, &inbytes, &outp, &outbytes);",
|
||||
@@ -673,9 +673,9 @@
|
||||
},
|
||||
"gnu-libiconv": {
|
||||
"label": "GNU iconv",
|
||||
- "enable": "input.iconv == 'gnu'",
|
||||
+ "enable": "'enabling via -gnu-iconv fails' == 'enabling via -gnu-iconv fails'",
|
||||
"disable": "input.iconv == 'posix' || input.iconv == 'sun' || input.iconv == 'no'",
|
||||
- "condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && !features.posix-libiconv && !features.sun-libiconv && libs.gnu_iconv",
|
||||
+ "condition": "!config.qnx && !config.android && !config.darwin && !features.posix-libiconv && !features.sun-libiconv && libs.gnu_iconv",
|
||||
"output": [ "privateFeature" ]
|
||||
},
|
||||
"icu": {
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0026-Enable-and-fix-use-of-iconv.patch
|
|
@ -1,25 +0,0 @@
|
|||
From 2fd3c54980c0be5efa03f64c8998287d683ff54f Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Wed, 25 Jan 2017 21:08:48 +0100
|
||||
Subject: [PATCH 27/31] Ignore failing pkg-config test
|
||||
|
||||
Didn't investigate why it fails, let's hope for the best
|
||||
---
|
||||
configure.json | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/configure.json b/configure.json
|
||||
index 2fa3c08440..d96d2a6ecb 100644
|
||||
--- a/configure.json
|
||||
+++ b/configure.json
|
||||
@@ -772,7 +772,6 @@
|
||||
"pkg-config": {
|
||||
"label": "Using pkg-config",
|
||||
"autoDetect": "!config.darwin && !config.win32",
|
||||
- "condition": "tests.pkg-config",
|
||||
"output": [
|
||||
"publicFeature",
|
||||
{ "type": "publicQtConfig", "negative": true },
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0027-Ignore-failing-pkg-config-test.patch
|
|
@ -1,45 +0,0 @@
|
|||
From e6e16f20966d91dd3c0020d4784d04e79b95613f Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Tue, 7 Feb 2017 18:25:28 +0100
|
||||
Subject: [PATCH 28/31] Prevent qmake from messing static lib dependencies
|
||||
|
||||
In particular, it messes resolving cyclic dependency between
|
||||
static freetype2 and harfbuzz
|
||||
|
||||
Change-Id: Ie5a4e2ad96bd613ae4c26486edb30c74929459b0
|
||||
---
|
||||
qmake/generators/unix/unixmake.cpp | 3 +++
|
||||
qmake/generators/win32/winmakefile.cpp | 3 +++
|
||||
2 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
|
||||
index f7bd6dc663..b76c444012 100644
|
||||
--- a/qmake/generators/unix/unixmake.cpp
|
||||
+++ b/qmake/generators/unix/unixmake.cpp
|
||||
@@ -391,6 +391,9 @@ UnixMakefileGenerator::fixLibFlag(const ProString &lib)
|
||||
bool
|
||||
UnixMakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
|
||||
{
|
||||
+ if(project->isActiveConfig("staticlib")) {
|
||||
+ return false; // prevent qmake from messing static lib dependencies
|
||||
+ }
|
||||
QVector<QMakeLocalFileName> libdirs, frameworkdirs;
|
||||
int libidx = 0, fwidx = 0;
|
||||
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
|
||||
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
|
||||
index 03732df4a8..602f7609f5 100644
|
||||
--- a/qmake/generators/win32/winmakefile.cpp
|
||||
+++ b/qmake/generators/win32/winmakefile.cpp
|
||||
@@ -106,6 +106,9 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
|
||||
impexts.append(project->values("QMAKE_EXTENSION_IMPORTLIB"));
|
||||
impexts.append(project->values("QMAKE_EXTENSION_STATICLIB"));
|
||||
}
|
||||
+ if(project->isActiveConfig("staticlib")) {
|
||||
+ return false; // prevent qmake from messing static lib dependencies
|
||||
+ }
|
||||
QVector<LibrarySearchPath> dirs;
|
||||
int libidx = 0;
|
||||
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0028-Prevent-qmake-from-messing-static-lib-dependencies.patch
|
|
@ -1,176 +0,0 @@
|
|||
From d7d5e89ed1d5b7ea3962588eb719a85c85356f09 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Wed, 25 Jan 2017 23:42:30 +0100
|
||||
Subject: [PATCH 29/31] Hardcode linker flags for platform plugins
|
||||
|
||||
Otherwise incorrect order of libs leads to errors
|
||||
when building libqminimal.dll, libqoffscreen.dll,
|
||||
libqwindows.dll and libqdirect2d.dll
|
||||
|
||||
Change-Id: Ibff901ecce864ae8d5ca2adbe37bcec28e5912f3
|
||||
---
|
||||
src/plugins/platforms/direct2d/direct2d.pro | 39 +++++++++++++++---
|
||||
src/plugins/platforms/minimal/minimal.pro | 17 +++++++-
|
||||
src/plugins/platforms/offscreen/offscreen.pro | 16 +++++++-
|
||||
src/plugins/platforms/windows/windows.pro | 40 ++++++++++++++-----
|
||||
4 files changed, 93 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/direct2d/direct2d.pro b/src/plugins/platforms/direct2d/direct2d.pro
|
||||
index 6e73bd14f9..0829c75bd2 100644
|
||||
--- a/src/plugins/platforms/direct2d/direct2d.pro
|
||||
+++ b/src/plugins/platforms/direct2d/direct2d.pro
|
||||
@@ -1,12 +1,41 @@
|
||||
TARGET = qdirect2d
|
||||
|
||||
QT += \
|
||||
- core-private gui-private \
|
||||
- eventdispatcher_support-private \
|
||||
- fontdatabase_support-private theme_support-private
|
||||
+ core-private gui-private
|
||||
|
||||
-qtConfig(accessibility): QT += accessibility_support-private
|
||||
-qtConfig(vulkan): QT += vulkan_support-private
|
||||
+# Fix linker error when building libqdirect2d.dll by specifying linker flags for
|
||||
+# required modules manually (otherwise order is messed)
|
||||
+LIBS += \
|
||||
+ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \
|
||||
+ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \
|
||||
+ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5ThemeSupport.$${QMAKE_EXTENSION_STATICLIB} \
|
||||
+ -lfreetype -lole32 -lgdi32 -luuid
|
||||
+# However, this workaround leads to the necessity of specifying include dirs manually
|
||||
+INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION}/QtThemeSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION}
|
||||
+# Same for private support libs for accessibility and vulkan, if those are enabled
|
||||
+qtConfig(accessibility) {
|
||||
+ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5AccessibilitySupport.$${QMAKE_EXTENSION_STATICLIB}
|
||||
+ INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION}/Qt5AccessibilitySupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION}
|
||||
+}
|
||||
+qtConfig(vulkan) {
|
||||
+ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5VulkanSupport.$${QMAKE_EXTENSION_STATICLIB}
|
||||
+ INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION}/Qt5VulkanSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION}
|
||||
+}
|
||||
+# Also add Qt5WindowsUIAutomationSupport - it seems to link against it
|
||||
+LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5WindowsUIAutomationSupport.$${QMAKE_EXTENSION_STATICLIB}
|
||||
+INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/Qt5WindowsUIAutomationSupport/$${QT_VERSION}/Qt5WindowsUIAutomationSupport \
|
||||
+ $$QT_SOURCE_TREE/include/Qt5WindowsUIAutomationSupport/$${QT_VERSION}
|
||||
|
||||
LIBS += -ldwmapi -lversion
|
||||
QMAKE_USE_PRIVATE += gdi32 dwrite_1 d2d1_1 d3d11_1 dxgi1_2
|
||||
diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro
|
||||
index a1a2da547b..74ced58662 100644
|
||||
--- a/src/plugins/platforms/minimal/minimal.pro
|
||||
+++ b/src/plugins/platforms/minimal/minimal.pro
|
||||
@@ -1,8 +1,21 @@
|
||||
TARGET = qminimal
|
||||
|
||||
QT += \
|
||||
- core-private gui-private \
|
||||
- eventdispatcher_support-private fontdatabase_support-private
|
||||
+ core-private gui-private
|
||||
+
|
||||
+# Fix linker error when building libqminimal.dll by specifying linker flags for
|
||||
+# required modules manually (otherwise order is messed)
|
||||
+LIBS += \
|
||||
+ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \
|
||||
+ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \
|
||||
+ -lfreetype -lole32 -lgdi32 -luuid
|
||||
+# However, this workaround leads to the necessity of specifying include dirs manually
|
||||
+INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}
|
||||
+
|
||||
|
||||
DEFINES += QT_NO_FOREACH
|
||||
|
||||
diff --git a/src/plugins/platforms/offscreen/offscreen.pro b/src/plugins/platforms/offscreen/offscreen.pro
|
||||
index f226132592..cac8a007b8 100644
|
||||
--- a/src/plugins/platforms/offscreen/offscreen.pro
|
||||
+++ b/src/plugins/platforms/offscreen/offscreen.pro
|
||||
@@ -1,8 +1,20 @@
|
||||
TARGET = qoffscreen
|
||||
|
||||
QT += \
|
||||
- core-private gui-private \
|
||||
- eventdispatcher_support-private fontdatabase_support-private
|
||||
+ core-private gui-private
|
||||
+
|
||||
+# Fix linker error when building libqoffscreen.dll by specifying linker flags for
|
||||
+# required modules manually (otherwise order is messed)
|
||||
+LIBS += \
|
||||
+ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \
|
||||
+ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \
|
||||
+ -lfreetype -lole32 -lgdi32 -luuid
|
||||
+# However, this workaround leads to the necessity of specifying include dirs manually
|
||||
+INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}
|
||||
|
||||
DEFINES += QT_NO_FOREACH
|
||||
|
||||
diff --git a/src/plugins/platforms/windows/windows.pro b/src/plugins/platforms/windows/windows.pro
|
||||
index 50a3bb41a9..53c011642f 100644
|
||||
--- a/src/plugins/platforms/windows/windows.pro
|
||||
+++ b/src/plugins/platforms/windows/windows.pro
|
||||
@@ -1,15 +1,35 @@
|
||||
TARGET = qwindows
|
||||
|
||||
-QT += \
|
||||
- core-private gui-private \
|
||||
- eventdispatcher_support-private \
|
||||
- fontdatabase_support-private theme_support-private
|
||||
-
|
||||
-qtConfig(accessibility): QT += accessibility_support-private
|
||||
-qtConfig(vulkan): QT += vulkan_support-private
|
||||
-
|
||||
-LIBS += -ldwmapi
|
||||
-QMAKE_USE_PRIVATE += gdi32
|
||||
+QT += core-private gui-private
|
||||
+
|
||||
+# Fix linker error when building libqwindows.dll by specifying linker flags for
|
||||
+# required modules manually (otherwise order is messed)
|
||||
+LIBS += \
|
||||
+ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5EventDispatcherSupport.$${QMAKE_EXTENSION_STATICLIB} \
|
||||
+ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5FontDatabaseSupport.$${QMAKE_EXTENSION_STATICLIB} \
|
||||
+ $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5ThemeSupport.$${QMAKE_EXTENSION_STATICLIB} \
|
||||
+ -lfreetype -lole32 -lgdi32 -ldwmapi
|
||||
+# However, this workaround leads to the necessity of specifying include dirs manually
|
||||
+INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION}/QtThemeSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION}
|
||||
+# Same for private support libs for accessibility and vulkan, if those are enabled
|
||||
+qtConfig(accessibility) {
|
||||
+ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5AccessibilitySupport.$${QMAKE_EXTENSION_STATICLIB}
|
||||
+ INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION}/Qt5AccessibilitySupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION}
|
||||
+}
|
||||
+qtConfig(vulkan) {
|
||||
+ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5VulkanSupport.$${QMAKE_EXTENSION_STATICLIB}
|
||||
+ INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION}/Qt5VulkanSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION}
|
||||
+}
|
||||
|
||||
include(windows.pri)
|
||||
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0029-Hardcode-linker-flags-for-platform-plugins.patch
|
|
@ -1,37 +0,0 @@
|
|||
From cd3c5ceea13a08c8eea88eea90b24a2cacf816a3 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 25 Aug 2017 17:07:17 +0200
|
||||
Subject: [PATCH 30/31] Fix linking against static plugins with qmake
|
||||
|
||||
Required because qtConfig(static) does not work
|
||||
with 'Merge shared and static library trees'
|
||||
approach
|
||||
---
|
||||
mkspecs/features/qt.prf | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
|
||||
index b79b324b88..6a03b7a74b 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
|
||||
|
||||
QTPLUGIN = $$unique($$list($$lower($$QTPLUGIN)))
|
||||
|
||||
-import_plugins:qtConfig(static) {
|
||||
+import_plugins:static {
|
||||
manualplugs = $$QTPLUGIN # User may specify plugins. Mostly legacy.
|
||||
autoplugs = # Auto-added plugins.
|
||||
# First round: explicitly specified modules.
|
||||
@@ -142,7 +142,7 @@ import_plugins:qtConfig(static) {
|
||||
}
|
||||
|
||||
# Only link against plugins in static builds
|
||||
-!isEmpty(QTPLUGIN):qtConfig(static) {
|
||||
+!isEmpty(QTPLUGIN):static {
|
||||
for (plug, QTPLUGIN) {
|
||||
# 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.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0030-Fix-linking-against-static-plugins-with-qmake.patch
|
|
@ -1,37 +0,0 @@
|
|||
From 25a9b54ce96ea574fe18bc6df5dc2ee571d22c36 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Mon, 24 Jun 2019 13:51:02 +0200
|
||||
Subject: [PATCH 31/31] Prevent 'Cannot find feature windows_vulkan_sdk'
|
||||
|
||||
See https://bugreports.qt.io/browse/QTBUG-76660
|
||||
---
|
||||
mkspecs/common/windows-vulkan.conf | 2 +-
|
||||
mkspecs/features/qmake_use.prf | 4 +++-
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/mkspecs/common/windows-vulkan.conf b/mkspecs/common/windows-vulkan.conf
|
||||
index 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/qmake_use.prf b/mkspecs/features/qmake_use.prf
|
||||
index 8475e4111a..c0eb8faa17 100644
|
||||
--- a/mkspecs/features/qmake_use.prf
|
||||
+++ b/mkspecs/features/qmake_use.prf
|
||||
@@ -15,7 +15,9 @@ for(ever) {
|
||||
error("Library '$$lower($$replace(nu, _, -))' is not defined.")
|
||||
|
||||
DEFINES += $$eval(QMAKE_DEFINES_$${nu})
|
||||
- INCLUDEPATH += $$eval(QMAKE_INCDIR_$${nu})
|
||||
+ incdir = $$eval(QMAKE_INCDIR_$${nu})
|
||||
+ !contains(QMAKE_DEFAULT_INCDIRS, $$incdir): \
|
||||
+ INCLUDEPATH += $$incdir
|
||||
}
|
||||
LD_USES = $$resolve_depends(LD_USES, QMAKE_DEPENDS_, _LD)
|
||||
for (nu, LD_USES) {
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1 @@
|
|||
../mingw-w64/0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch
|
|
@ -17,8 +17,9 @@
|
|||
|
||||
_qt_module=qtbase
|
||||
pkgname=mingw-w64-qt5-base-static
|
||||
pkgver=5.15.2
|
||||
pkgver=5.15.2+kde+r172
|
||||
pkgrel=1
|
||||
_commit=cfa90a94f95510711e25920e7742b37faa2f4843
|
||||
pkgdesc='A cross-platform application and UI framework, native OpenGL backend (mingw-w64)'
|
||||
arch=('any')
|
||||
url='https://www.qt.io/'
|
||||
|
@ -31,11 +32,11 @@ optdepends=('mingw-w64-mesa: use LLVMpipe software rasterizer for Qt Quick'
|
|||
'mingw-w64-postgresql: PostgreSQL support'
|
||||
'mingw-w64-mariadb-connector-c: MySQL support')
|
||||
makedepends=('mingw-w64-gcc' 'mingw-w64-postgresql' 'mingw-w64-mariadb-connector-c'
|
||||
'mingw-w64-vulkan-headers' 'mingw-w64-pkg-config' 'mingw-w64-environment')
|
||||
'mingw-w64-vulkan-headers' 'mingw-w64-pkg-config' 'mingw-w64-environment' 'git')
|
||||
groups=('mingw-w64-qt5')
|
||||
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs')
|
||||
_pkgfqn="${_qt_module}-everywhere-src-${pkgver}"
|
||||
source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/submodules/${_pkgfqn}.tar.xz"
|
||||
_pkgfqn=${_qt_module}
|
||||
source=(git+https://invent.kde.org/qt/qt/$_pkgfqn#commit=$_commit
|
||||
'0001-Adjust-win32-g-profile-for-cross-compilation-with-mi.patch'
|
||||
'0002-Ensure-GLdouble-is-defined-when-using-dynamic-OpenGL.patch'
|
||||
'0003-Fix-too-many-sections-assemler-error-in-OpenGL-facto.patch'
|
||||
|
@ -67,53 +68,57 @@ source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${pkgver}/subm
|
|||
'0029-Hardcode-linker-flags-for-platform-plugins.patch'
|
||||
'0030-Fix-linking-against-static-plugins-with-qmake.patch'
|
||||
'0031-Prevent-Cannot-find-feature-windows_vulkan_sdk.patch')
|
||||
sha256sums=('909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8'
|
||||
'b3b49e5580f296f993a0aba0b34bd5ae2399f8d1809456878c1881451b14c27e'
|
||||
'833b8fc2dd8f0bb4a914fb7f5018b28954752b2d54cec2388332885c929a9266'
|
||||
'e49f91d9f8f56afc856a9e143feb4ad9cf54c804f773374e5ccb6d1fc264a7bc'
|
||||
'944288f57ac8cc9063a75a3a6b421c20a3e8b02a5fd5294f7da7df28c840302b'
|
||||
'b421b77303f6f03682c04f1bd1c2c63e07b120dc724de93a9248330d0080ee26'
|
||||
'595fe18bbefb6f7e271a9daeefbd008d6350ef44b16b4b72c4d3183ba14509ee'
|
||||
'238900f33394be14378b58445abe28dcd66343ed4f0760c8f944508c02ae831b'
|
||||
'bbde0b8ac3a9639a90e2937367deb769ea39ee55b036995a253ec8fdd1d2bd2c'
|
||||
'859c065f54819266b33bab6b57f76f8c21065a48ff36104b191e218e31f20f9e'
|
||||
'896c0b0d346f271f90609c6b49490ee86d3076ae620af1127503ee397a7664bb'
|
||||
'15c69cd06b6e28100ad118ed045abef670acd41609351cd8e2652f1aeec9c8c4'
|
||||
'499b3a1177e2340b5063553452b0a9a44f232e47839f03087939f52da38d0548'
|
||||
'bbe45a397cbc4c0303125937710e305c6dbb0e4a8713b4a520ff820208295ea8'
|
||||
'3fedd43cccc7000271766f7b4ff85efafc9c65ce3b9f40f4c443a0f352518631'
|
||||
'2b4854083457f85a82e8f05c23d3983095ff8aa1d1e0ea5cfe1f7e9731b061f8'
|
||||
'6d4dc98c2b9e0ed743332797e1511262bda3b240e4685c2150a40415650c78f0'
|
||||
'27b0eb4795713e1c6804dbb446970684c19cc2797f9e371eb2605c852d404b05'
|
||||
'0fa5c3b49425cfb357e9d04bf993e065174d8b44e450dd134aa24187ed66e0e1'
|
||||
'd990f99f04dcf52cae5d7f6dd4394aae778683c2d9ebcb41b485129af8c2cf2f'
|
||||
'7a395f7e9f26a650e09ad4b35563d5cb46c34dfae1c7de2f4dcf0e86f9dd1927'
|
||||
'd38cbc2d4566a3915475fa29ae2982173cd1339abdbff292f5cd520c7c741039'
|
||||
'2b90d5b001da77692805a8fc9f6ac77ed8d3bfce48f52c89be1b13e915b5ef7c'
|
||||
'5b973e490c3bbbc3aba7bf2b4fa704c38f92601c7736b483334025e2fc913285'
|
||||
'73683e5bc8672c09c7c4e86b4787bbb5792570a511768509db6c7a7f45a58109'
|
||||
'cc8d458974c5168a7956d4682a63b0c15f9918256820ae908b88e5dd18d95811'
|
||||
'3cb99ad9d910bad53ad8565d0be2fb6bb4a0d1075dbb73fd85cb2ffbe404d73e'
|
||||
'ea31c31ccbd47f6d77a1cf00768a9c247b368d79e3ba19dca4854c29f1a69a69'
|
||||
'e6ed01492dacf7367d8f444eb00e2bcdae1fc3b3f1648858e6e379b1565f8943'
|
||||
'd4cd03c966a6a1c37ce21f9e6bbd9deaadbb62f31a1a652ac12cd48a651fc47d'
|
||||
'd9f55e93cfde4bd6d46744697ae846490912342bdb84ad8c4ba0cf7689b472ab'
|
||||
'd5478d6cbcb1067bf1b8e3e52210f1416d734303e387facb165b92f281789436')
|
||||
sha256sums=('SKIP'
|
||||
'07ca76c848991c2e34e021626374812aad040e210413c84e1ab372f79bc5733b'
|
||||
'f271f7509c97e9f3de2d11c887c03be7e58c39b9eafd83691400a87143a86324'
|
||||
'3fedd054e1dd439664aec2225de903c2d235c62113be69d361908466838e8c55'
|
||||
'a57715bf58b66ffdb2e67d9ba5ae437a6f627a144cd759cfaa9726d2151a6a61'
|
||||
'934bd614407ff0e6c0366a765d93cd0854e23169cc2c6e69f789ef3d14095fea'
|
||||
'60def68fdbba857ab22eafc05d0e97b6aa43a0b13903e852902958d2cb847010'
|
||||
'3f8fcde556f9ed718e1c2fdc466ec787fc639f83afba4b71ba125dfc2b0e74d0'
|
||||
'ec12dff066a5af6e034cae56984a275576790a6c52512e78d792b0d14503b319'
|
||||
'26aaff027ba16ba61b7b4684a97f7595eef811c49e9263e5ba88ba6b51e4fcb9'
|
||||
'bde7b7b5e8d32814b26e5a46750c8d5e0e83047d335c94cbbc0b485e9b96a188'
|
||||
'00b5e1bce87c62bc61cac71654ee5dbe57ea005fc8e7ff7206c936699e199747'
|
||||
'93b2db5134581d8312996ae1eadc834ddc5fc394aaf88532554eea8f0936506f'
|
||||
'09bc39fa186fc4bed14cb3f589d8b77e10e3bf7a904dba43758805124e1d3787'
|
||||
'5e6ddbcd6ab35fcf3e75bb353bc10fe258e8e1753456ba55d65f8ba5667d1c7f'
|
||||
'd86b3cf81608819c7d371681f293f3168ce6198368441c916505f1efa1f6ad7d'
|
||||
'5d7eaaeec84a23b9db12e2998c099ceddd853d2d819018bbad472e77ecd72429'
|
||||
'8ec002dfe54c83be1fac8bf5a3badb611230fba8ce91eb33bd26cd06b6ecec63'
|
||||
'c06f2a6a2bfffffea82fef8023039821fa2869a95af4a31bfd4224ee50cfa78c'
|
||||
'6d3c73791781ba99f48658bf65f446e4e8b94b1327d901f3fa34e3cf9c07c176'
|
||||
'b9ddaa27fa95aeb8dce1fb38950ae095e5c60a5c9bcef4f46138fc1fa1824807'
|
||||
'bab619655a585095269a5250170900d0dbce7ac6b20586d3ca468e914c39a8d4'
|
||||
'3ebe50b4d7e436e0bdf396bba04f6c7dc79ca7e62b392cc2f3cdc8b898218682'
|
||||
'19e1b928c03fa58dca7b5e27d97b7829ee28af280cf857f520d1e6a04e528ad5'
|
||||
'77e7cf6a9ab87b76fd0d0f0e1c2948ad49db1fb1972887ad46a8ae179c627354'
|
||||
'232d3dcb1d13d4961ca6a35ff5897aa633bca12f4425a35eea990759124b238d'
|
||||
'51fb2c38a41133fc816a16bd74cc2ba93b1b8ca4e456bba42b2ffe3e36aa8e80'
|
||||
'f1148c997a0d727b7b640594543196d8226f2f8c7df5c849523c8bbe9c37ad45'
|
||||
'5a74594feb11c0c078ad4bbcefe662e54fc2a451ae7972a20247597ed392c1de'
|
||||
'70198d0a35338cb56c4aad5ad1789a915a5b628a3e3b780f2767fbd30ef7e31d'
|
||||
'7413278602ea7f9fc80d749d5008d029e775b191994c71ff78f5de5f780e2e3b'
|
||||
'1e2900354c1a6c38e87eff51a96099473827d6c70530dd63b036bdb7ba7ab2fa')
|
||||
|
||||
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
|
||||
|
||||
pkgver() {
|
||||
cd $_pkgfqn
|
||||
echo "5.15.2+kde+r"`git rev-list --count origin/5.15.2..$_commit`
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${_pkgfqn}"
|
||||
|
||||
git revert -n 6344955d17e17e2398720fe60c34cfc2a4a95208 # Revert version bump
|
||||
|
||||
# apply patches; further descriptions can be found in patch files itself
|
||||
for patch in "$srcdir/"*.patch; do
|
||||
msg2 "Applying patch $patch"
|
||||
patch -p1 -i "$patch"
|
||||
done
|
||||
|
||||
# make sure the Qt 5 build system uses our external PCRE library and zlib
|
||||
rm -rf src/3rdparty/{pcre,zlib}
|
||||
|
||||
# clear buildflags ('!buildflags' only effects build() but not prepare())
|
||||
unset CPPFLAGS CFLAGS CXXFLAGS LDFLAGS PKG_CONFIG_PATH
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8
|
||||
SKIP
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From ce90790a4f5c2dcf9398d846f63a6c6b50411dcb Mon Sep 17 00:00:00 2001
|
||||
From e598463de84a2fa54739b386acf64bef368e8089 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 3 Feb 2017 18:30:51 +0100
|
||||
Subject: [PATCH 01/31] Adjust win32-g++ profile for cross compilation with
|
||||
|
@ -161,5 +161,5 @@ index 5de482f23b..3c3d22c699 100644
|
|||
|
||||
QMAKE_LINK = $${CROSS_COMPILE}g++
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From adbb14a78c0091c81925e5e79644ff8361e7b8e9 Mon Sep 17 00:00:00 2001
|
||||
From e6fef0839710cdc28d5e5df0ae3189d16d629172 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 13:36:53 +0200
|
||||
Subject: [PATCH 02/31] Ensure GLdouble is defined when using dynamic OpenGL
|
||||
|
@ -23,5 +23,5 @@ index 4554291bbd..23d55bddeb 100644
|
|||
#ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG
|
||||
#include <stdio.h>
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 520b519d962852792bd4ac3c2d1206afa329b65e Mon Sep 17 00:00:00 2001
|
||||
From 434420a1da0cc19096d1877b662eb6844ceb97dd Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 13:48:51 +0200
|
||||
Subject: [PATCH 03/31] Fix too many sections assemler error in OpenGL factory
|
||||
|
@ -25,5 +25,5 @@ index 24758afdeb..aa04b4a672 100644
|
|||
HEADERS += opengl/qopengl.h \
|
||||
opengl/qopengl_p.h \
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 45491f6d0b4d828f3b4ce6b76ec3c7d68cec6b06 Mon Sep 17 00:00:00 2001
|
||||
From f041def0ede2e36edd35ddae430fb7c06186756e Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 13:54:12 +0200
|
||||
Subject: [PATCH 04/31] Make sure *.pc files are installed correctly
|
||||
|
@ -10,10 +10,10 @@ Subject: [PATCH 04/31] 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 5c61a3c65c..e94084381c 100644
|
||||
index a901332312..f1e8966123 100644
|
||||
--- a/qmake/generators/makefile.cpp
|
||||
+++ b/qmake/generators/makefile.cpp
|
||||
@@ -3211,7 +3211,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
|
||||
@@ -3218,7 +3218,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
|
||||
}
|
||||
|
||||
QString
|
||||
|
@ -22,7 +22,7 @@ index 5c61a3c65c..e94084381c 100644
|
|||
{
|
||||
QString ret = project->first("QMAKE_PKGCONFIG_FILE").toQString();
|
||||
if (ret.isEmpty()) {
|
||||
@@ -3236,7 +3236,11 @@ MakefileGenerator::pkgConfigFileName(bool fixify)
|
||||
@@ -3243,7 +3243,11 @@ MakefileGenerator::pkgConfigFileName(bool fixify)
|
||||
if(fixify) {
|
||||
if(QDir::isRelativePath(ret) && !project->isEmpty("DESTDIR"))
|
||||
ret.prepend(project->first("DESTDIR").toQString());
|
||||
|
@ -36,7 +36,7 @@ index 5c61a3c65c..e94084381c 100644
|
|||
return ret;
|
||||
}
|
||||
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
|
||||
index a96b9c54da..5a7913be7a 100644
|
||||
index dc612c392c..7bfd2e1953 100644
|
||||
--- a/qmake/generators/makefile.h
|
||||
+++ b/qmake/generators/makefile.h
|
||||
@@ -96,7 +96,7 @@ protected:
|
||||
|
@ -62,5 +62,5 @@ index 5e446bd7e2..183cef2908 100644
|
|||
uninst.append("\n\t");
|
||||
uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc));
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 806b631662ffebfa38085e1f9e708aee2c19f1d9 Mon Sep 17 00:00:00 2001
|
||||
From ed8bf76c5e770f8097a375b49f58bedd738f84f7 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 13:58:28 +0200
|
||||
Subject: [PATCH 05/31] Don't add resource files to LIBS parameter
|
||||
|
@ -24,5 +24,5 @@ index ee9a41838b..8d1dcae85b 100644
|
|||
if (project->isActiveConfig("dll")) {
|
||||
QString destDir = "";
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 3d816219968cfcaacfd30b6011263c8bb4d975c0 Mon Sep 17 00:00:00 2001
|
||||
From d77ce81ca24a85f10a0fb20a902f051c10662ea2 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 14:01:14 +0200
|
||||
Subject: [PATCH 06/31] Prevent debug library names in pkg-config files
|
||||
|
@ -15,10 +15,10 @@ files for the debug build an unique file name.
|
|||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
|
||||
index e94084381c..8e4d11484f 100644
|
||||
index f1e8966123..f45b6c9fd5 100644
|
||||
--- a/qmake/generators/makefile.cpp
|
||||
+++ b/qmake/generators/makefile.cpp
|
||||
@@ -3225,6 +3225,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
|
||||
@@ -3232,6 +3232,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
|
||||
if (dot != -1)
|
||||
ret = ret.left(dot);
|
||||
}
|
||||
|
@ -29,5 +29,5 @@ index e94084381c..8e4d11484f 100644
|
|||
QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
|
||||
if(!subdir.isEmpty()) {
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 77037d64693385c1cdcc2814890567e79548b40d Mon Sep 17 00:00:00 2001
|
||||
From 6838542142005d64b1447a1720109c82b2eb0434 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Thu, 26 Jan 2017 17:51:31 +0100
|
||||
Subject: [PATCH 07/31] Fix linking against shared/static libpng
|
||||
|
@ -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 c8c4864eca..be519a6d39 100644
|
||||
index 1f08795c57..7a5fc6ce7a 100644
|
||||
--- a/src/gui/configure.json
|
||||
+++ b/src/gui/configure.json
|
||||
@@ -399,8 +399,10 @@
|
||||
|
@ -26,5 +26,5 @@ index c8c4864eca..be519a6d39 100644
|
|||
],
|
||||
"use": [
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From be0366f6b3d32f5c80038eca7d0c7ddd5375aa85 Mon Sep 17 00:00:00 2001
|
||||
From 81a8053aafc7f2111ecdc0a07d4f5e062fd19f70 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 3 Feb 2017 19:36:25 +0100
|
||||
Subject: [PATCH 08/31] Fix linking against static D-Bus
|
||||
|
@ -9,7 +9,7 @@ Subject: [PATCH 08/31] Fix linking against static D-Bus
|
|||
2 files changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.json b/configure.json
|
||||
index c273aeeef1..57c40030d8 100644
|
||||
index 4a7c50f684..fedc80fa18 100644
|
||||
--- a/configure.json
|
||||
+++ b/configure.json
|
||||
@@ -190,18 +190,23 @@
|
||||
|
@ -54,5 +54,5 @@ index accaa4f5ed..4b11c74caa 100644
|
|||
# include <dbus/dbus.h>
|
||||
#else
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From adb495753f647c7b78d923bb512e18003cd309a4 Mon Sep 17 00:00:00 2001
|
||||
From 83ce093ca3e4ba1414395840e550bd1cb4dcce41 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 2 Jun 2017 18:28:10 +0200
|
||||
Subject: [PATCH 09/31] Don't try to use debug version of D-Bus library
|
||||
|
@ -12,7 +12,7 @@ Change-Id: Ic34e1025fda55f9659e065f5bbe9d51f55420adb
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.json b/configure.json
|
||||
index 57c40030d8..2fa3c08440 100644
|
||||
index fedc80fa18..e308b5b7d7 100644
|
||||
--- a/configure.json
|
||||
+++ b/configure.json
|
||||
@@ -203,7 +203,7 @@
|
||||
|
@ -25,5 +25,5 @@ index 57c40030d8..2fa3c08440 100644
|
|||
},
|
||||
"condition": "config.win32 && features.shared"
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 8a8da9fb5e44acf747985254b8e4a0e663397c15 Mon Sep 17 00:00:00 2001
|
||||
From 82af201a622c806d9a26e5f2710ad1391034a957 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 3 Feb 2017 20:51:19 +0100
|
||||
Subject: [PATCH 10/31] Fix linking against static freetype2
|
||||
|
@ -8,7 +8,7 @@ Subject: [PATCH 10/31] Fix linking against static freetype2
|
|||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gui/configure.json b/src/gui/configure.json
|
||||
index be519a6d39..d74fd3bc24 100644
|
||||
index 7a5fc6ce7a..b117f6fff6 100644
|
||||
--- a/src/gui/configure.json
|
||||
+++ b/src/gui/configure.json
|
||||
@@ -238,8 +238,11 @@
|
||||
|
@ -26,5 +26,5 @@ index be519a6d39..d74fd3bc24 100644
|
|||
{ "libs": "-lfreetype" }
|
||||
],
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 32692f0bf4ae8f35145d963fe95b82a11a20e6ca Mon Sep 17 00:00:00 2001
|
||||
From 781ee4c305c86f72fb851324e10b85ad113ca8d3 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 14:22:56 +0200
|
||||
Subject: [PATCH 11/31] Fix linking against static harfbuzz
|
||||
|
@ -8,7 +8,7 @@ Subject: [PATCH 11/31] Fix linking against static harfbuzz
|
|||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gui/configure.json b/src/gui/configure.json
|
||||
index d74fd3bc24..d6759ed96a 100644
|
||||
index b117f6fff6..2a0207920a 100644
|
||||
--- a/src/gui/configure.json
|
||||
+++ b/src/gui/configure.json
|
||||
@@ -306,7 +306,11 @@
|
||||
|
@ -25,5 +25,5 @@ index d74fd3bc24..d6759ed96a 100644
|
|||
},
|
||||
"imf": {
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 3bb30ee7403e468705aa03e1d92f797d6ce38332 Mon Sep 17 00:00:00 2001
|
||||
From 0bac31a16786b2ffac3b8623d6a9f28b5924fee9 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 14:24:01 +0200
|
||||
Subject: [PATCH 12/31] Fix linking against static pcre
|
||||
|
@ -24,5 +24,5 @@ index d7e3cc5ee2..e17c19fbae 100644
|
|||
#include <pcre2.h>
|
||||
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 5d301704de074aeee8464bf9933296a437353a6f Mon Sep 17 00:00:00 2001
|
||||
From 370cd6e5833f50acbd4fdfdef5d1b8465f369696 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:56:55 +0200
|
||||
Subject: [PATCH 13/31] Fix linking against shared/static MariaDB
|
||||
|
@ -22,5 +22,5 @@ index 28ccbeadcd..7262914c64 100644
|
|||
{ "type": "mysqlConfig", "query": "--libs", "cleanlibs": true },
|
||||
{ "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": false },
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 0f760f0e2b127ca9e765d2bbf4200b047bfa1a5e Mon Sep 17 00:00:00 2001
|
||||
From f1cce674c4e438e623387d8091bb9b3528c1210d Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:58:25 +0200
|
||||
Subject: [PATCH 14/31] Fix linking against shared/static PostgreSQL
|
||||
|
@ -24,5 +24,5 @@ index 7262914c64..852ba558be 100644
|
|||
]
|
||||
},
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 092e86f5dedf3173be832f868b60b1c306c42bfa Mon Sep 17 00:00:00 2001
|
||||
From 9aa2c124207494aaedfeead42851cc0cbf488237 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 14:25:40 +0200
|
||||
Subject: [PATCH 15/31] Rename qtmain to qt5main
|
||||
|
@ -76,5 +76,5 @@ index 1f54c846ec..162e7a4b1b 100644
|
|||
|
||||
CONFIG += static
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From fc76d4187ab337a5efb96d6b80099f5075df69ee Mon Sep 17 00:00:00 2001
|
||||
From 8d40dc38a6d42e0aa72d94dead17af04319345a6 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 17:59:27 +0200
|
||||
Subject: [PATCH 16/31] Enable rpath for build tools
|
||||
|
@ -33,5 +33,5 @@ index 8354f30eea..30e8cf18c5 100644
|
|||
INSTALLS += target
|
||||
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2e0b11f0f0ba3e756f010b5948b24089be5e3aed Mon Sep 17 00:00:00 2001
|
||||
From ec4a953eddc6fe6f19a8f932ef4bcbcb15868e63 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:04:42 +0200
|
||||
Subject: [PATCH 17/31] Use system zlib for build tools
|
||||
|
@ -23,5 +23,5 @@ index 24862a07db..698e6cfb95 100644
|
|||
} else {
|
||||
CONFIG += no_core_dep
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From bd22c9c095f87d358ea2269bfdd19cc31078b0b1 Mon Sep 17 00:00:00 2001
|
||||
From f0d6651cfac8231a7f57a0f70300d439f56ed5fc Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:45:08 +0200
|
||||
Subject: [PATCH 18/31] Merge shared and static library trees
|
||||
|
@ -139,10 +139,10 @@ index 51ea3a8321..275e080ae4 100644
|
|||
QMAKE_EXT_YACC = .y
|
||||
|
||||
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
|
||||
index 8e4d11484f..c73b19c144 100644
|
||||
index f45b6c9fd5..39221caf68 100644
|
||||
--- a/qmake/generators/makefile.cpp
|
||||
+++ b/qmake/generators/makefile.cpp
|
||||
@@ -3228,6 +3228,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
|
||||
@@ -3235,6 +3235,9 @@ MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
|
||||
if (project->isActiveConfig("debug")) {
|
||||
ret += "d";
|
||||
}
|
||||
|
@ -152,7 +152,7 @@ index 8e4d11484f..c73b19c144 100644
|
|||
ret += Option::pkgcfg_ext;
|
||||
QString subdir = project->first("QMAKE_PKGCONFIG_DESTDIR").toQString();
|
||||
if(!subdir.isEmpty()) {
|
||||
@@ -3404,11 +3407,11 @@ MakefileGenerator::writePkgConfigFile()
|
||||
@@ -3411,11 +3414,11 @@ MakefileGenerator::writePkgConfigFile()
|
||||
t << Qt::endl;
|
||||
|
||||
// requires
|
||||
|
@ -204,5 +204,5 @@ index c0ce0972ef..5a2deaf31d 100644
|
|||
mkspecs.files -= $$PWD/mkspecs/modules $$PWD/mkspecs/modules-inst
|
||||
INSTALLS += mkspecs
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From ae893f34a059c78cf274d1ed05c2d4c4bfb66218 Mon Sep 17 00:00:00 2001
|
||||
From de05a40cbb5e86f0a0217624f80cb1a1ad31351f Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:26:18 +0200
|
||||
Subject: [PATCH 19/31] Use *.dll.a as import lib extension
|
||||
|
@ -94,5 +94,5 @@ index 183cef2908..03732df4a8 100644
|
|||
+ project->first("QMAKE_EXTENSION_SHLIB"));
|
||||
project->values("TARGET").first() = project->first("QMAKE_PREFIX_SHLIB") + project->first("TARGET");
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 1b69d19dd9ef7d00a5eec9a22961c3232e19e5b1 Mon Sep 17 00:00:00 2001
|
||||
From 625df2d13ff194603a339e770c645489e2a52f9a Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:32:00 +0200
|
||||
Subject: [PATCH 20/31] Pull dependencies of static libraries in CMake modules
|
||||
|
@ -501,5 +501,5 @@ index b550a52c60..acbe1cc33b 100644
|
|||
+endif()
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 494194c5b6b2775e756e911f5befde85e9ce13e4 Mon Sep 17 00:00:00 2001
|
||||
From 195f06dc9b77f9c5db4cbab8af0b8dc2fac34427 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sat, 5 Aug 2017 21:14:26 +0200
|
||||
Subject: [PATCH 21/31] Allow usage of static version with CMake
|
||||
|
@ -1091,5 +1091,5 @@ index 2a575958ae..ca0e3be3b5 100644
|
|||
INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\"
|
||||
)
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 0f44180723f14ae9861b406238d973e0ca20c405 Mon Sep 17 00:00:00 2001
|
||||
From 70e76369ababd9f7c22cef148eaa2755e31c2b2b Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 2 Jun 2017 16:42:07 +0200
|
||||
Subject: [PATCH 22/31] Adjust linker flags for static build with
|
||||
|
@ -27,5 +27,5 @@ index 9da1361c95..5e802dea4c 100644
|
|||
+set_target_properties(${IMPORTED_TARGET_NAME} PROPERTIES \"INTERFACE_LINK_LIBRARIES\" \"$<${_isExe}:-static;ws2_32>\")
|
||||
+unset(_isExe)
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 0084c7966f46b5a64cac040a8c50c793ba680930 Mon Sep 17 00:00:00 2001
|
||||
From ee3bd9b4ff71e2f8f923245f61294284c7085d8a Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 18 Sep 2016 18:50:21 +0200
|
||||
Subject: [PATCH 23/31] Use correct pkg-config --static flag
|
||||
|
@ -22,5 +22,5 @@ index 53c67f885b..8934b72291 100644
|
|||
$$qtConfEvaluate("features.cross_compile") {
|
||||
# cross compiling, check that pkg-config is set up sanely
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From e5389013ff78085fdfdfbf1da5b0644e784c916d Mon Sep 17 00:00:00 2001
|
||||
From 292851da7011f84ffa9031cc653997b7a5a9822e Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Sun, 4 Dec 2016 20:35:47 +0100
|
||||
Subject: [PATCH 24/31] Fix macro invoking moc, rcc and uic
|
||||
|
@ -70,5 +70,5 @@ index 35d2a2dc54..99f061f1b8 100644
|
|||
MAIN_DEPENDENCY ${infile} VERBATIM)
|
||||
set_source_files_properties(${infile} PROPERTIES SKIP_AUTOUIC ON)
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From d29a2b44643831e439755d11348b69dc9ed6d60b Mon Sep 17 00:00:00 2001
|
||||
From 318d7e6283975013fc4eea21c5c2ac861849aafe Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Wed, 25 Jan 2017 20:59:54 +0100
|
||||
Subject: [PATCH 25/31] Ignore errors about missing feature static
|
||||
|
@ -32,5 +32,5 @@ index 7777e615bd..5f30366660 100644
|
|||
+ !equals($$1, "static"): error("Could not find feature $${1}.")
|
||||
}
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From becf49560bdf91b82df7bec0bc06c54d7ab8c948 Mon Sep 17 00:00:00 2001
|
||||
From 5e272dca9b420ada9e233a8b9134035b3747d8ee Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Wed, 25 Jan 2017 21:08:20 +0100
|
||||
Subject: [PATCH 26/31] Enable and fix use of iconv
|
||||
|
@ -49,7 +49,7 @@ index 9c39727946..cc14036b25 100644
|
|||
#else
|
||||
char **inBytesPtr = &inBytes;
|
||||
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
|
||||
index c5e0423273..0b12e22351 100644
|
||||
index 9b5d19d41b..f649a9f6ef 100644
|
||||
--- a/src/corelib/configure.json
|
||||
+++ b/src/corelib/configure.json
|
||||
@@ -72,7 +72,7 @@
|
||||
|
@ -74,5 +74,5 @@ index c5e0423273..0b12e22351 100644
|
|||
},
|
||||
"icu": {
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2fd3c54980c0be5efa03f64c8998287d683ff54f Mon Sep 17 00:00:00 2001
|
||||
From 407fc2e686c14cf64cc519225440439b783b15f6 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Wed, 25 Jan 2017 21:08:48 +0100
|
||||
Subject: [PATCH 27/31] Ignore failing pkg-config test
|
||||
|
@ -9,7 +9,7 @@ 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 2fa3c08440..d96d2a6ecb 100644
|
||||
index e308b5b7d7..928ee2afa1 100644
|
||||
--- a/configure.json
|
||||
+++ b/configure.json
|
||||
@@ -772,7 +772,6 @@
|
||||
|
@ -21,5 +21,5 @@ index 2fa3c08440..d96d2a6ecb 100644
|
|||
"publicFeature",
|
||||
{ "type": "publicQtConfig", "negative": true },
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From e6e16f20966d91dd3c0020d4784d04e79b95613f Mon Sep 17 00:00:00 2001
|
||||
From defdf39ad4a6d4c905e7416da5e4160b093b1fc5 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Tue, 7 Feb 2017 18:25:28 +0100
|
||||
Subject: [PATCH 28/31] Prevent qmake from messing static lib dependencies
|
||||
|
@ -41,5 +41,5 @@ index 03732df4a8..602f7609f5 100644
|
|||
int libidx = 0;
|
||||
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
From d7d5e89ed1d5b7ea3962588eb719a85c85356f09 Mon Sep 17 00:00:00 2001
|
||||
From 1af55162492b245d789b9d76234eeef3d0fed5f6 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Wed, 25 Jan 2017 23:42:30 +0100
|
||||
Subject: [PATCH 29/31] Hardcode linker flags for platform plugins
|
||||
|
||||
Otherwise incorrect order of libs leads to errors
|
||||
when building libqminimal.dll, libqoffscreen.dll,
|
||||
libqwindows.dll and libqdirect2d.dll
|
||||
libqwindows.dll and libqdirect2d.dll. Unfortunately
|
||||
this workaround leads to hardcoding include flags
|
||||
as well.
|
||||
|
||||
Change-Id: Ibff901ecce864ae8d5ca2adbe37bcec28e5912f3
|
||||
Change-Id: I1863d184cff744d2c02e15875e1d108d32ea7861
|
||||
---
|
||||
src/plugins/platforms/direct2d/direct2d.pro | 39 +++++++++++++++---
|
||||
src/plugins/platforms/minimal/minimal.pro | 17 +++++++-
|
||||
|
@ -16,7 +18,7 @@ Change-Id: Ibff901ecce864ae8d5ca2adbe37bcec28e5912f3
|
|||
4 files changed, 93 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/direct2d/direct2d.pro b/src/plugins/platforms/direct2d/direct2d.pro
|
||||
index 6e73bd14f9..0829c75bd2 100644
|
||||
index 6e73bd14f9..8046e73d61 100644
|
||||
--- a/src/plugins/platforms/direct2d/direct2d.pro
|
||||
+++ b/src/plugins/platforms/direct2d/direct2d.pro
|
||||
@@ -1,12 +1,41 @@
|
||||
|
@ -39,35 +41,35 @@ index 6e73bd14f9..0829c75bd2 100644
|
|||
+ -lfreetype -lole32 -lgdi32 -luuid
|
||||
+# However, this workaround leads to the necessity of specifying include dirs manually
|
||||
+INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION}/QtThemeSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION}
|
||||
+ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION} \
|
||||
+ $$QT_BUILD_TREE/include/QtThemeSupport/$${QT_VERSION}/QtThemeSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtThemeSupport/$${QT_VERSION}
|
||||
+# Same for private support libs for accessibility and vulkan, if those are enabled
|
||||
+qtConfig(accessibility) {
|
||||
+ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5AccessibilitySupport.$${QMAKE_EXTENSION_STATICLIB}
|
||||
+ INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION}/Qt5AccessibilitySupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION}
|
||||
+ $$QT_BUILD_TREE/include/QtAccessibilitySupport/$${QT_VERSION}/Qt5AccessibilitySupport \
|
||||
+ $$QT_BUILD_TREE/include/QtAccessibilitySupport/$${QT_VERSION}
|
||||
+}
|
||||
+qtConfig(vulkan) {
|
||||
+ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5VulkanSupport.$${QMAKE_EXTENSION_STATICLIB}
|
||||
+ INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION}/Qt5VulkanSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION}
|
||||
+ $$QT_BUILD_TREE/include/QtVulkanSupport/$${QT_VERSION}/Qt5VulkanSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtVulkanSupport/$${QT_VERSION}
|
||||
+}
|
||||
+# Also add Qt5WindowsUIAutomationSupport - it seems to link against it
|
||||
+LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5WindowsUIAutomationSupport.$${QMAKE_EXTENSION_STATICLIB}
|
||||
+INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/Qt5WindowsUIAutomationSupport/$${QT_VERSION}/Qt5WindowsUIAutomationSupport \
|
||||
+ $$QT_SOURCE_TREE/include/Qt5WindowsUIAutomationSupport/$${QT_VERSION}
|
||||
+ $$QT_BUILD_TREE/include/Qt5WindowsUIAutomationSupport/$${QT_VERSION}/Qt5WindowsUIAutomationSupport \
|
||||
+ $$QT_BUILD_TREE/include/Qt5WindowsUIAutomationSupport/$${QT_VERSION}
|
||||
|
||||
LIBS += -ldwmapi -lversion
|
||||
QMAKE_USE_PRIVATE += gdi32 dwrite_1 d2d1_1 d3d11_1 dxgi1_2
|
||||
diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro
|
||||
index a1a2da547b..74ced58662 100644
|
||||
index a1a2da547b..9fd5c4fca2 100644
|
||||
--- a/src/plugins/platforms/minimal/minimal.pro
|
||||
+++ b/src/plugins/platforms/minimal/minimal.pro
|
||||
@@ -1,8 +1,21 @@
|
||||
|
@ -86,16 +88,16 @@ index a1a2da547b..74ced58662 100644
|
|||
+ -lfreetype -lole32 -lgdi32 -luuid
|
||||
+# However, this workaround leads to the necessity of specifying include dirs manually
|
||||
+INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}
|
||||
+ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}
|
||||
+
|
||||
|
||||
DEFINES += QT_NO_FOREACH
|
||||
|
||||
diff --git a/src/plugins/platforms/offscreen/offscreen.pro b/src/plugins/platforms/offscreen/offscreen.pro
|
||||
index f226132592..cac8a007b8 100644
|
||||
index f226132592..592fa7406f 100644
|
||||
--- a/src/plugins/platforms/offscreen/offscreen.pro
|
||||
+++ b/src/plugins/platforms/offscreen/offscreen.pro
|
||||
@@ -1,8 +1,20 @@
|
||||
|
@ -114,15 +116,15 @@ index f226132592..cac8a007b8 100644
|
|||
+ -lfreetype -lole32 -lgdi32 -luuid
|
||||
+# However, this workaround leads to the necessity of specifying include dirs manually
|
||||
+INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}
|
||||
+ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}
|
||||
|
||||
DEFINES += QT_NO_FOREACH
|
||||
|
||||
diff --git a/src/plugins/platforms/windows/windows.pro b/src/plugins/platforms/windows/windows.pro
|
||||
index 50a3bb41a9..53c011642f 100644
|
||||
index 50a3bb41a9..02f74650a9 100644
|
||||
--- a/src/plugins/platforms/windows/windows.pro
|
||||
+++ b/src/plugins/platforms/windows/windows.pro
|
||||
@@ -1,15 +1,35 @@
|
||||
|
@ -149,28 +151,28 @@ index 50a3bb41a9..53c011642f 100644
|
|||
+ -lfreetype -lole32 -lgdi32 -ldwmapi
|
||||
+# However, this workaround leads to the necessity of specifying include dirs manually
|
||||
+INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtFontDatabaseSupport/$${QT_VERSION} \
|
||||
+ $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION}/QtThemeSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtThemeSupport/$${QT_VERSION}
|
||||
+ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION}/QtEventDispatcherSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtEventDispatcherSupport/$${QT_VERSION} \
|
||||
+ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION}/QtFontDatabaseSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtFontDatabaseSupport/$${QT_VERSION} \
|
||||
+ $$QT_BUILD_TREE/include/QtThemeSupport/$${QT_VERSION}/QtThemeSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtThemeSupport/$${QT_VERSION}
|
||||
+# Same for private support libs for accessibility and vulkan, if those are enabled
|
||||
+qtConfig(accessibility) {
|
||||
+ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5AccessibilitySupport.$${QMAKE_EXTENSION_STATICLIB}
|
||||
+ INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION}/Qt5AccessibilitySupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtAccessibilitySupport/$${QT_VERSION}
|
||||
+ $$QT_BUILD_TREE/include/QtAccessibilitySupport/$${QT_VERSION}/Qt5AccessibilitySupport \
|
||||
+ $$QT_BUILD_TREE/include/QtAccessibilitySupport/$${QT_VERSION}
|
||||
+}
|
||||
+qtConfig(vulkan) {
|
||||
+ LIBS += $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}Qt5VulkanSupport.$${QMAKE_EXTENSION_STATICLIB}
|
||||
+ INCLUDEPATH += \
|
||||
+ $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION}/Qt5VulkanSupport \
|
||||
+ $$QT_SOURCE_TREE/include/QtVulkanSupport/$${QT_VERSION}
|
||||
+ $$QT_BUILD_TREE/include/QtVulkanSupport/$${QT_VERSION}/Qt5VulkanSupport \
|
||||
+ $$QT_BUILD_TREE/include/QtVulkanSupport/$${QT_VERSION}
|
||||
+}
|
||||
|
||||
include(windows.pri)
|
||||
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From cd3c5ceea13a08c8eea88eea90b24a2cacf816a3 Mon Sep 17 00:00:00 2001
|
||||
From ff9e461f1fa6eab244ca2adafa4d5e2ac2d85e5b Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Fri, 25 Aug 2017 17:07:17 +0200
|
||||
Subject: [PATCH 30/31] Fix linking against static plugins with qmake
|
||||
|
@ -33,5 +33,5 @@ index b79b324b88..6a03b7a74b 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.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 25a9b54ce96ea574fe18bc6df5dc2ee571d22c36 Mon Sep 17 00:00:00 2001
|
||||
From f483f2d0cf4db82ba2302874c67923b77ae15cb9 Mon Sep 17 00:00:00 2001
|
||||
From: Martchus <martchus@gmx.net>
|
||||
Date: Mon, 24 Jun 2019 13:51:02 +0200
|
||||
Subject: [PATCH 31/31] Prevent 'Cannot find feature windows_vulkan_sdk'
|
||||
|
@ -33,5 +33,5 @@ index 8475e4111a..c0eb8faa17 100644
|
|||
LD_USES = $$resolve_depends(LD_USES, QMAKE_DEPENDS_, _LD)
|
||||
for (nu, LD_USES) {
|
||||
--
|
||||
2.29.2
|
||||
2.31.1
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue