summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/win32
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2018-12-19 12:46:52 +0100
committerJoerg Bornemann <joerg.bornemann@qt.io>2019-04-15 05:41:08 +0000
commit5b3dfa470ed7ea40103daa785286ab71fb7aa230 (patch)
tree599a4ba8654dff600e9dee7c8dd40e56b176b6ff /mkspecs/features/win32
parent2a815855a9b91a3537ab3d804ad1ee47d741b64f (diff)
qmake: link qt libraries by full path
this avoids the scenario where the linker would pick up the wrong qt libraries for LIBS_PRIVATE because LIBS added the "wrong" path first. this is also consistent with configure-supplied dependencies as of recently. as a side effect, this also removes pretenses of lsb linker handling, as it makes no sense after the change and is certainly obsolete anyway. Fixes: QTBUG-50921 Change-Id: I84398c9143f393c2eefb3c69a31bd9f633669924 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'mkspecs/features/win32')
-rw-r--r--mkspecs/features/win32/opengl.prf16
-rw-r--r--mkspecs/features/win32/windows.prf7
2 files changed, 15 insertions, 8 deletions
diff --git a/mkspecs/features/win32/opengl.prf b/mkspecs/features/win32/opengl.prf
index c6fba7770f..f21848f941 100644
--- a/mkspecs/features/win32/opengl.prf
+++ b/mkspecs/features/win32/opengl.prf
@@ -1,13 +1,21 @@
QT_FOR_CONFIG += gui
+defineTest(prependOpenGlLib) {
+ path = $$QT.core.libs/$$QMAKE_PREFIX_STATICLIB$$1
+ ext = .$$QMAKE_EXTENSION_STATICLIB
+ QMAKE_LIBS_OPENGL_ES2 = $${path}$${ext} $$QMAKE_LIBS_OPENGL_ES2
+ QMAKE_LIBS_OPENGL_ES2_DEBUG = $${path}d$${ext} $$QMAKE_LIBS_OPENGL_ES2_DEBUG
+ export(QMAKE_LIBS_OPENGL_ES2)
+ export(QMAKE_LIBS_OPENGL_ES2_DEBUG)
+}
+
qtConfig(opengles2) {
# Depending on the configuration we use libQtANGLE or libEGL and libGLESv2
qtConfig(combined-angle-lib) {
- QMAKE_LIBS_OPENGL_ES2 = -l$${LIBQTANGLE_NAME} $$QMAKE_LIBS_OPENGL_ES2
- QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBQTANGLE_NAME}d $$QMAKE_LIBS_OPENGL_ES2_DEBUG
+ prependOpenGlLib($$LIBQTANGLE_NAME)
} else {
- QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} $$QMAKE_LIBS_OPENGL_ES2
- QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME}d -l$${LIBGLESV2_NAME}d $$QMAKE_LIBS_OPENGL_ES2_DEBUG
+ prependOpenGlLib($$LIBGLESV2_NAME)
+ prependOpenGlLib($$LIBEGL_NAME)
}
# For Desktop, use the ANGLE library location passed on from configure.
INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2
diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf
index ecb167bf18..272170d428 100644
--- a/mkspecs/features/win32/windows.prf
+++ b/mkspecs/features/win32/windows.prf
@@ -6,10 +6,9 @@ contains(TEMPLATE, ".*app") {
qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
isEqual(entryLib, -lqtmain) {
- !contains(QMAKE_DEFAULT_LIBDIRS, $$QT.core.libs): \
- QMAKE_LIBS += -L$$QT.core.libs
- CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
- else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}
+ lib = $$QT.core.libs/$${QMAKE_PREFIX_STATICLIB}qtmain$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB
+ PRE_TARGETDEPS += $$lib
+ QMAKE_LIBS += $$lib
} else {
QMAKE_LIBS += $${entryLib}
}