diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-07-13 13:09:30 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-27 16:29:12 +0200 |
commit | 14bdff32e218663523f3940fe639ae792fdee1b1 (patch) | |
tree | f795a8290ecbe4eb2768f9d2a778031f86456a63 /qmake | |
parent | a699fa520f4c8731603a4223f44607dc31becf07 (diff) |
remove duplicate -L flags in findLibraries()
unlike duplicated -l options, duplicated -L options are really redundant.
Change-Id: I4fa42d8ee2f10c6e6263457d9bb97291e13685ef
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/unix/unixmake.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp index 8a3a371b1d..c3a96dd5a4 100644 --- a/qmake/generators/unix/unixmake.cpp +++ b/qmake/generators/unix/unixmake.cpp @@ -476,15 +476,18 @@ UnixMakefileGenerator::findLibraries() const QString lflags[] = { "QMAKE_LIBDIR_FLAGS", "QMAKE_FRAMEWORKPATH_FLAGS", "QMAKE_LIBS", "QMAKE_LIBS_PRIVATE", QString() }; for(int i = 0; !lflags[i].isNull(); i++) { QStringList &l = project->values(lflags[i]); - for(QStringList::Iterator it = l.begin(); it != l.end(); ++it) { + for (QStringList::Iterator it = l.begin(); it != l.end(); ) { bool do_suffix = true; QString stub, dir, extn, opt = (*it).trimmed(); if(opt.startsWith("-")) { if(opt.startsWith("-L")) { QString lib = opt.mid(2); QMakeLocalFileName f(lib); - if(!libdirs.contains(f)) - libdirs.append(f); + if (libdirs.contains(f)) { + it = l.erase(it); + continue; + } + libdirs.append(f); if (!libArg.isEmpty()) *it = libArg + lib; } else if(opt.startsWith("-l")) { @@ -560,6 +563,7 @@ UnixMakefileGenerator::findLibraries() } } } + ++it; } } return false; |