summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2019-02-28 10:02:21 +0100
committerJoerg Bornemann <joerg.bornemann@qt.io>2019-03-03 16:55:55 +0000
commitcc7444eb65fc42f00a33275f6b8d1d3d39f4d715 (patch)
treeac9b3e2414bf27b791048401bd30199517c166a5 /qmake/generators/win32
parent55cc93e9d68a8851163f16dfa8a25a817c2e129e (diff)
Fix library search path order on Windows
Commit 2327944d added the QMAKE_DEFAULT_LIBDIRS to the library search paths without taking care that explicit library search paths should be inserted before system search paths. Copy the behavior of the UnixMakefileGenerator, esp. of commits 5bc9541e and e185f343. Fixes: QTBUG-73959 Change-Id: I7e951f432bb5f71ce4bcdb18b7102b4380441181 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Diffstat (limited to 'qmake/generators/win32')
-rw-r--r--qmake/generators/win32/winmakefile.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index 6046e5791e..208af1327f 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -84,6 +84,7 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
if (impexts.isEmpty())
impexts = project->values("QMAKE_EXTENSION_STATICLIB");
QList<QMakeLocalFileName> dirs;
+ int libidx = 0;
for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
dirs.append(QMakeLocalFileName(dlib.toQString()));
static const char * const lflags[] = { "LIBS", "LIBS_PRIVATE",
@@ -96,11 +97,12 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
LibFlagType type = parseLibFlag(opt, &arg);
if (type == LibFlagPath) {
QMakeLocalFileName lp(arg.toQString());
- if (dirs.contains(lp)) {
+ int idx = dirs.indexOf(lp);
+ if (idx >= 0 && idx < libidx) {
it = l.erase(it);
continue;
}
- dirs.append(lp);
+ dirs.insert(libidx++, lp);
(*it) = "-L" + lp.real();
} else if (type == LibFlagLib) {
QString lib = arg.toQString();