96 lines
3.1 KiB
Diff
96 lines
3.1 KiB
Diff
|
From b61459fcd6a1fc51072f7633bccd3b05f3ba5b53 Mon Sep 17 00:00:00 2001
|
||
|
From: Martchus <martchus@gmx.net>
|
||
|
Date: Sun, 18 Sep 2016 18:45:08 +0200
|
||
|
Subject: [PATCH 21/25] Merge shared and static library trees
|
||
|
|
||
|
Allow installation of shared and static build in the same prefix
|
||
|
---
|
||
|
configure | 6 ++++++
|
||
|
mkspecs/features/default_post.prf | 8 ++++++++
|
||
|
mkspecs/features/qt.prf | 12 ++++++++++++
|
||
|
mkspecs/features/spec_pre.prf | 12 +++++++++---
|
||
|
4 files changed, 35 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/configure b/configure
|
||
|
index cf879ff..b4c75c6 100755
|
||
|
--- a/configure
|
||
|
+++ b/configure
|
||
|
@@ -7181,6 +7181,12 @@ host_build {
|
||
|
}
|
||
|
QT_CONFIG += $QT_CONFIG
|
||
|
|
||
|
+contains(CONFIG, static) {
|
||
|
+ CONFIG -= shared
|
||
|
+ QT_CONFIG += static jpeg gif
|
||
|
+ QT_CONFIG -= shared
|
||
|
+}
|
||
|
+
|
||
|
#versioning
|
||
|
QT_VERSION = $QT_VERSION
|
||
|
QT_MAJOR_VERSION = $QT_MAJOR_VERSION
|
||
|
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
|
||
|
index e7e9a5b..ed9b936 100644
|
||
|
--- a/mkspecs/features/default_post.prf
|
||
|
+++ b/mkspecs/features/default_post.prf
|
||
|
@@ -120,3 +120,11 @@ c++11|c++14|c++1z {
|
||
|
|
||
|
QMAKE_INCDIR += $$QMAKE_INCDIR_POST
|
||
|
QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
|
||
|
+
|
||
|
+win32:contains(CONFIG, static) {
|
||
|
+ DEFINES += QT_STATIC QT_DESIGNER_STATIC
|
||
|
+ DEFINES -= QT_SHARED
|
||
|
+ contains(QT_CONFIG, angle): DEFINES += QT_OPENGL_ES_2_ANGLE_STATIC
|
||
|
+ QMAKE_LFLAGS += -static -static-libstdc++ -static-libgcc
|
||
|
+ QMAKE_EXT_PRL=-static.prl # prevents qmake from finding the prl file for shared libs
|
||
|
+}
|
||
|
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
|
||
|
index 03ec36a..c4d7beb 100644
|
||
|
--- a/mkspecs/features/qt.prf
|
||
|
+++ b/mkspecs/features/qt.prf
|
||
|
@@ -150,6 +150,18 @@ for(ever) {
|
||
|
!isEmpty(MODULE_WINRT_CAPABILITIES_DEVICE): \
|
||
|
WINRT_MANIFEST.capabilities_device_default += $$MODULE_WINRT_CAPABILITIES_DEVICE
|
||
|
}
|
||
|
+
|
||
|
+ win32:CONFIG(static) {
|
||
|
+ isEqual(MODULE_NAME, QtCore) {
|
||
|
+ LIBS$$var_sfx += $$QMAKE_LIBS_CORE
|
||
|
+ } else:isEqual(MODULE_NAME, QtGui) {
|
||
|
+ LIBS$$var_sfx += $$QMAKE_LIBS_GUI
|
||
|
+ } else:isEqual(MODULE_NAME, QtNetwork) {
|
||
|
+ LIBS$$var_sfx += $$QMAKE_LIBS_NETWORK
|
||
|
+ } 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 090f348..2b936a5 100644
|
||
|
--- a/mkspecs/features/spec_pre.prf
|
||
|
+++ b/mkspecs/features/spec_pre.prf
|
||
|
@@ -14,9 +14,15 @@ 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
|
||
|
+contains(CONFIG, static) {
|
||
|
+ QMAKE_EXT_LIBTOOL = -static.la
|
||
|
+ QMAKE_EXT_PKGCONFIG = -static.pc
|
||
|
+ QMAKE_EXT_PRL = -static.prl
|
||
|
+} else {
|
||
|
+ QMAKE_EXT_LIBTOOL = .la
|
||
|
+ QMAKE_EXT_PKGCONFIG = .pc
|
||
|
+ QMAKE_EXT_PRL = .prl
|
||
|
+}
|
||
|
QMAKE_EXT_UI = .ui
|
||
|
QMAKE_EXT_YACC = .y
|
||
|
|
||
|
--
|
||
|
2.10.0
|
||
|
|