Fixing Wec2013 qmake support for VS2013 SDKs.

SDKs generated from VS2013 use a different folder for
build settings than those generated from VS2012.
Check both folders, before rejecting a potential
SDK.

Change-Id: I5bee5cc3771352adaab07d39ebbc350618f6c573
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
Björn Breitmeyer 2015-06-30 12:37:00 +02:00
parent d149b1c14e
commit e5b8c38530

View File

@ -179,13 +179,14 @@ QStringList CeSdkHandler::filterMsBuildToolPaths(const QStringList &paths) const
{ {
QStringList result; QStringList result;
foreach (const QString &path, paths) { foreach (const QString &path, paths) {
QDir dir(path); QDir dirVC110(path);
if (path.endsWith(QStringLiteral("bin"))) if (path.endsWith(QStringLiteral("bin")))
dir.cdUp(); dirVC110.cdUp();
if (dir.cd(QStringLiteral("Microsoft.Cpp\\v4.0\\V110\\Platforms")) QDir dirVC120 = dirVC110;
|| dir.cd(QStringLiteral("Microsoft.Cpp\\v4.0\\V120\\Platforms"))) { if (dirVC110.cd(QStringLiteral("Microsoft.Cpp\\v4.0\\V110\\Platforms")))
result << dir.absolutePath(); result << dirVC110.absolutePath();
} if (dirVC120.cd(QStringLiteral("Microsoft.Cpp\\v4.0\\V120\\Platforms")))
result << dirVC120.absolutePath();
} }
return result; return result;
} }
@ -287,6 +288,8 @@ void CeSdkHandler::retrieveWEC2013SDKs()
currentSdk.m_minor = currentProperty.properties.value(QLatin1String("OSMinor")).value.toInt(); currentSdk.m_minor = currentProperty.properties.value(QLatin1String("OSMinor")).value.toInt();
retrieveEnvironment(currentProperty.properties.value(QLatin1String("MSBuild Files110")).value.split(';'), retrieveEnvironment(currentProperty.properties.value(QLatin1String("MSBuild Files110")).value.split(';'),
filteredToolPaths, &currentSdk); filteredToolPaths, &currentSdk);
retrieveEnvironment(currentProperty.properties.value(QLatin1String("MSBuild Files120")).value.split(';'),
filteredToolPaths, &currentSdk);
if (!currentSdk.m_include.isEmpty()) if (!currentSdk.m_include.isEmpty())
m_list.append(currentSdk); m_list.append(currentSdk);
} }