diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2018-10-08 18:24:14 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-10-12 18:06:33 +0000 |
commit | 405c73e49580cd5931576d60424e8f239dd51ef5 (patch) | |
tree | 44f236faa83a47aec378b0c94cdc4a937cd40baa /qmake/generators/win32/msvc_vcproj.cpp | |
parent | 2a3695b7e07a40e413f045e2dcc4f3c36ca15287 (diff) |
qmake: make sure QMAKE_LIBS{,_PRIVATE} comes after LIBS{,_PRIVATE}
the early merging of LIBS* into QMAKE_LIBS* meant that we could not
interleave them properly. defer the merging until the points of use.
Task-number: QTBUG-70779
Started-by: BogDan Vatra <bogdan@kdab.com>
Change-Id: I890f98016c3721396a1f0f6f149a9e2b37d56d8e
Reviewed-by: Liang Qi <liang.qi@qt.io>
Diffstat (limited to 'qmake/generators/win32/msvc_vcproj.cpp')
-rw-r--r-- | qmake/generators/win32/msvc_vcproj.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp index c984736c78..f7837fc1b4 100644 --- a/qmake/generators/win32/msvc_vcproj.cpp +++ b/qmake/generators/win32/msvc_vcproj.cpp @@ -457,7 +457,8 @@ ProStringList VcprojGenerator::collectDependencies(QMakeProject *proj, QHash<QSt newDep->dependencies << "idc.exe"; // Add all unknown libs to the deps - QStringList where = QStringList() << "QMAKE_LIBS" << "QMAKE_LIBS_PRIVATE"; + QStringList where = QStringList() << "LIBS" << "LIBS_PRIVATE" + << "QMAKE_LIBS" << "QMAKE_LIBS_PRIVATE"; for (QStringList::ConstIterator wit = where.begin(); wit != where.end(); ++wit) { const ProStringList &l = tmp_proj.values(ProKey(*wit)); @@ -748,7 +749,7 @@ void VcprojGenerator::init() projectTarget = Application; } else if(project->first("TEMPLATE") == "vclib") { if(project->isActiveConfig("staticlib")) { - project->values("QMAKE_LIBS") += project->values("RES_FILE"); + project->values("LIBS") += project->values("RES_FILE"); projectTarget = StaticLib; } else projectTarget = SharedLib; @@ -1084,7 +1085,8 @@ void VcprojGenerator::initLinkerTool() if (!project->values("DEF_FILE").isEmpty()) conf.linker.ModuleDefinitionFile = project->first("DEF_FILE").toQString(); - static const char * const lflags[] = { "QMAKE_LIBS", "QMAKE_LIBS_PRIVATE", nullptr }; + static const char * const lflags[] = { "LIBS", "LIBS_PRIVATE", + "QMAKE_LIBS", "QMAKE_LIBS_PRIVATE", nullptr }; for (int i = 0; lflags[i]; i++) { const auto libs = fixLibFlags(lflags[i]); for (const ProString &lib : libs) { @@ -1179,7 +1181,8 @@ void VcprojGenerator::initDeploymentTool() if (!dllPaths.isEmpty() && !(conf.WinRT && project->first("MSVC_VER").toQString() == "14.0")) { // FIXME: This code should actually resolve the libraries from all Qt modules. - ProStringList arg = project->values("QMAKE_LIBS") + project->values("QMAKE_LIBS_PRIVATE"); + ProStringList arg = project->values("LIBS") + project->values("LIBS_PRIVATE") + + project->values("QMAKE_LIBS") + project->values("QMAKE_LIBS_PRIVATE"); bool qpaPluginDeployed = false; for (ProStringList::ConstIterator it = arg.constBegin(); it != arg.constEnd(); ++it) { QString dllName = (*it).toQString(); |