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);
|
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 *> MsvcToolChainFactory::autoDetect()
|
||||||
{
|
{
|
||||||
QList<ToolChain *> results;
|
QList<ToolChain *> results;
|
||||||
@@ -501,6 +514,8 @@ QList<ToolChain *> MsvcToolChainFactory::autoDetect()
|
|||||||
const int dotPos = vsName.indexOf(QLatin1Char('.'));
|
const int dotPos = vsName.indexOf(QLatin1Char('.'));
|
||||||
if (dotPos == -1)
|
if (dotPos == -1)
|
||||||
continue;
|
continue;
|
||||||
|
if (!checkForVisualStudioInstallation(vsName))
|
||||||
|
continue;
|
||||||
|
|
||||||
const QString path = vsRegistry.value(vsName).toString();
|
const QString path = vsRegistry.value(vsName).toString();
|
||||||
const int version = vsName.left(dotPos).toInt();
|
const int version = vsName.left(dotPos).toInt();
|
||||||
|
@@ -106,6 +106,8 @@ public:
|
|||||||
{ return MsvcToolChain::readFromMap(data); }
|
{ return MsvcToolChain::readFromMap(data); }
|
||||||
|
|
||||||
ToolChainConfigWidget *configurationWidget(ToolChain *);
|
ToolChainConfigWidget *configurationWidget(ToolChain *);
|
||||||
|
private:
|
||||||
|
static bool checkForVisualStudioInstallation(const QString &vsName);
|
||||||
};
|
};
|
||||||
|
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user