From c66b492cedbd96831e02269aa65d38b8a4b55df0 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 27 Oct 2015 15:13:34 +0100 Subject: [PATCH] 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 --- qmake/generators/win32/msvc_vcproj.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp index b1e0745e036..47f99a5c8eb 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(); } }