diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2018-12-19 12:46:52 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2019-04-15 05:41:08 +0000 |
commit | 5b3dfa470ed7ea40103daa785286ab71fb7aa230 (patch) | |
tree | 599a4ba8654dff600e9dee7c8dd40e56b176b6ff /mkspecs/features/win32 | |
parent | 2a815855a9b91a3537ab3d804ad1ee47d741b64f (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.prf | 16 | ||||
-rw-r--r-- | mkspecs/features/win32/windows.prf | 7 |
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} } |