aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-11-26 15:12:26 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2013-11-27 12:41:22 +0100
commit8df780a98059f221bd7b6096697b98501685c8af (patch)
treeccbd85b9b3dba1ded4dc00770d20230862c95ce0
parentb794a2af28e469669ec90c4d5e3954c176c9c653 (diff)
fix Windows SDK lookup for x86_64 build
64 bit builds of qbs must look in the Wow3264 registry tree. We already did that for VS but not for the SDKs. Change-Id: If96b7d184816c20b7075c5392bc1fdbb45d6f01d Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
-rw-r--r--src/app/detect-toolchains/msvcprobe.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/app/detect-toolchains/msvcprobe.cpp b/src/app/detect-toolchains/msvcprobe.cpp
index 659fe0532..2039061cd 100644
--- a/src/app/detect-toolchains/msvcprobe.cpp
+++ b/src/app/detect-toolchains/msvcprobe.cpp
@@ -93,6 +93,15 @@ static void findSupportedArchitectures(MSVC *msvc, const QString &pathPrefix = Q
msvc->architectures += QLatin1String("x86_64");
}
+static QString wow6432Key()
+{
+#ifdef Q_OS_WIN64
+ return QLatin1String("\\Wow6432Node");
+#else
+ return QString();
+#endif
+}
+
void msvcProbe(Settings *settings, QList<Profile> &profiles)
{
qbsInfo() << Tr::tr("Detecting MSVC toolchains...");
@@ -100,7 +109,9 @@ void msvcProbe(Settings *settings, QList<Profile> &profiles)
// 1) Installed SDKs preferred over standalone Visual studio
QVector<WinSDK> winSDKs;
WinSDK defaultWinSDK;
- const QSettings sdkRegistry(QLatin1String("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows"),
+
+ const QSettings sdkRegistry(QLatin1String("HKEY_LOCAL_MACHINE\\SOFTWARE") + wow6432Key()
+ + QLatin1String("\\Microsoft\\Microsoft SDKs\\Windows"),
QSettings::NativeFormat);
const QString defaultSdkPath = sdkRegistry.value(QLatin1String("CurrentInstallFolder")).toString();
if (!defaultSdkPath.isEmpty()) {
@@ -133,11 +144,8 @@ void msvcProbe(Settings *settings, QList<Profile> &profiles)
// 2) Installed MSVCs
QVector<MSVC> msvcs;
const QSettings vsRegistry(
-#ifdef Q_OS_WIN64
- QLatin1String("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7"),
-#else
- QLatin1String("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7"),
-#endif
+ QLatin1String("HKEY_LOCAL_MACHINE\\SOFTWARE") + wow6432Key()
+ + QLatin1String("\\Microsoft\\VisualStudio\\SxS\\VC7"),
QSettings::NativeFormat);
foreach (const QString &vsName, vsRegistry.allKeys()) {
// Scan for version major.minor