forked from qt-creator/qt-creator
Only show Visual Studio compilers if VS is installed
Task-number: QTCREATORBUG-8487 Change-Id: Ibc812f14cd8e4de765cabf27d23451c06611d372 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
@@ -440,6 +440,19 @@ QString MsvcToolChainFactory::id() const
|
||||
return QLatin1String(Constants::MSVC_TOOLCHAIN_ID);
|
||||
}
|
||||
|
||||
bool MsvcToolChainFactory::checkForVisualStudioInstallation(const QString &vsName)
|
||||
{
|
||||
const QSettings vsRegistry(
|
||||
#ifdef Q_OS_WIN64
|
||||
QLatin1String("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VS7"),
|
||||
#else
|
||||
QLatin1String("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VS7"),
|
||||
#endif
|
||||
QSettings::NativeFormat);
|
||||
|
||||
return vsRegistry.contains(vsName);
|
||||
}
|
||||
|
||||
QList<ToolChain *> MsvcToolChainFactory::autoDetect()
|
||||
{
|
||||
QList<ToolChain *> results;
|
||||
@@ -501,6 +514,8 @@ QList<ToolChain *> MsvcToolChainFactory::autoDetect()
|
||||
const int dotPos = vsName.indexOf(QLatin1Char('.'));
|
||||
if (dotPos == -1)
|
||||
continue;
|
||||
if (!checkForVisualStudioInstallation(vsName))
|
||||
continue;
|
||||
|
||||
const QString path = vsRegistry.value(vsName).toString();
|
||||
const int version = vsName.left(dotPos).toInt();
|
||||
|
@@ -106,6 +106,8 @@ public:
|
||||
{ return MsvcToolChain::readFromMap(data); }
|
||||
|
||||
ToolChainConfigWidget *configurationWidget(ToolChain *);
|
||||
private:
|
||||
static bool checkForVisualStudioInstallation(const QString &vsName);
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user