From d88faf03a99c0d5630b378b95fcea7b8cbb7726f Mon Sep 17 00:00:00 2001
From: Yuchen Deng <loaden@gmail.com>
Date: Thu, 8 Mar 2012 14:39:07 +0800
Subject: [PATCH] Fix detection of Microsoft SDKs

Change-Id: I44401c859279978ad13df52b589f29a39cc53042
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
---
 src/plugins/projectexplorer/msvctoolchain.cpp | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp
index 4c09b36ea8f..a73f04eb959 100644
--- a/src/plugins/projectexplorer/msvctoolchain.cpp
+++ b/src/plugins/projectexplorer/msvctoolchain.cpp
@@ -546,21 +546,24 @@ QList<ToolChain *> MsvcToolChainFactory::autoDetect()
             if (folder.isEmpty())
                 continue;
 
-            const QString sdkVcVarsBat = folder + QLatin1String("bin\\SetEnv.cmd");
-            if (!QFileInfo(sdkVcVarsBat).exists())
+            QDir dir(folder);
+            if (!dir.cd(QLatin1String("bin")))
+                continue;
+            QFileInfo fi(dir, QLatin1String("SetEnv.cmd"));
+            if (!fi.exists())
                 continue;
-            QList<ToolChain *> tmp;
 
+            QList<ToolChain *> tmp;
             tmp.append(new MsvcToolChain(generateDisplayName(name, MsvcToolChain::WindowsSDK, MsvcToolChain::s32),
                                          findAbiOfMsvc(MsvcToolChain::WindowsSDK, MsvcToolChain::s32, version),
-                                         sdkVcVarsBat, QLatin1String("/x86"), true));
+                                         fi.absoluteFilePath(), QLatin1String("/x86"), true));
             // Add all platforms
             tmp.append(new MsvcToolChain(generateDisplayName(name, MsvcToolChain::WindowsSDK, MsvcToolChain::s64),
                                          findAbiOfMsvc(MsvcToolChain::WindowsSDK, MsvcToolChain::s64, version),
-                                         sdkVcVarsBat, QLatin1String("/x64"), true));
+                                         fi.absoluteFilePath(), QLatin1String("/x64"), true));
             tmp.append(new MsvcToolChain(generateDisplayName(name, MsvcToolChain::WindowsSDK, MsvcToolChain::ia64),
                                          findAbiOfMsvc(MsvcToolChain::WindowsSDK, MsvcToolChain::ia64, version),
-                                         sdkVcVarsBat, QLatin1String("/ia64"), true));
+                                         fi.absoluteFilePath(), QLatin1String("/ia64"), true));
             // Make sure the default is front.
             if (folder == defaultSdkPath)
                 results = tmp + results;
-- 
GitLab