summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@theqtcompany.com>2015-10-27 15:13:34 +0100
committerFredrik Orderud <forderud@gmail.com>2015-10-27 18:30:27 +0000
commitc66b492cedbd96831e02269aa65d38b8a4b55df0 (patch)
tree023a9b5d912786e3536a35ff980cfb95c9f31a19
parent474bee61e4a1c6797ff876bd0ae25ba87d33a4ec (diff)
fix vcxproj linker options
Commit 4bb004de94380304d8950e860d1823975927ec59 broke the linker options in generated Visual Studio projects. We need to call fixLibFlags on QMAKE_LIBS and QMAKE_LIBS_PRIVATE. Task-number: QTBUG-48936 Change-Id: I2f12bf0117d27104cd34f2f43fdeb7b948fa375e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index b1e0745e03..47f99a5c8e 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -1207,12 +1207,13 @@ void VcprojGenerator::initLinkerTool()
if (!project->values("DEF_FILE").isEmpty())
conf.linker.ModuleDefinitionFile = project->first("DEF_FILE").toQString();
- foreach (const ProString &libs, project->values("QMAKE_LIBS") + project->values("QMAKE_LIBS_PRIVATE")) {
- if (libs.left(9).toQString().toUpper() == "/LIBPATH:") {
- ProStringList l = ProStringList(libs);
- conf.linker.parseOptions(l);
- } else {
- conf.linker.AdditionalDependencies << escapeFilePath(libs.toQString());
+ static const char * const lflags[] = { "QMAKE_LIBS", "QMAKE_LIBS_PRIVATE", 0 };
+ for (int i = 0; lflags[i]; i++) {
+ foreach (const ProString &lib, fixLibFlags(lflags[i])) {
+ if (lib.startsWith("/LIBPATH:"))
+ conf.linker.AdditionalLibraryDirectories << lib.mid(9).toQString();
+ else
+ conf.linker.AdditionalDependencies << lib.toQString();
}
}