Commit d33e66c8 authored by David Schulz's avatar David Schulz

ProjectExplorer: Detect all msvc toolchains.

The host system will not be taken into account, so the cross build
toolchains are also detected.

Task-number: QTCREATORBUG-10998
Change-Id: I04a410bbf368898b70d9560d2c2a4a6c60ed0b61
Reviewed-by: default avatarDaniel Teske <daniel.teske@digia.com>
parent 52b7505b
......@@ -49,8 +49,12 @@ public:
enum Type { WindowsSDK, VS };
enum Platform { x86,
amd64,
x86_amd64,
ia64,
arm
x86_ia64,
arm,
x86_arm,
amd64_arm
};
MsvcToolChain(const QString &name, const Abi &abi,
......@@ -104,6 +108,7 @@ public:
ToolChainConfigWidget *configurationWidget(ToolChain *);
static QString vcVarsBatFor(const QString &basePath, const QString &toolchainName);
static QString vcVarsBatFor(const QString &basePath, MsvcToolChain::Platform platform);
private:
static bool checkForVisualStudioInstallation(const QString &vsName);
};
......
......@@ -77,7 +77,7 @@ public:
QMap<QString, FileName> m_abiToDebugger;
PersistentSettingsWriter *m_writer;
QList<ToolChain *> m_toolChains;
QList<ToolChain *> m_toolChains; // prioritized List
};
ToolChainManagerPrivate::~ToolChainManagerPrivate()
......
......@@ -386,15 +386,21 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba
QList<ToolChain*> QtOptionsPageWidget::toolChains(const BaseQtVersion *version)
{
QHash<QString,ToolChain*> toolChains;
QList<ToolChain*> toolChains;
if (!version)
return toolChains.values();
return toolChains;
foreach (const Abi &a, version->qtAbis())
foreach (ToolChain *tc, ToolChainManager::findToolChains(a))
toolChains.insert(tc->id(), tc);
QSet<QString> ids;
foreach (const Abi &a, version->qtAbis()) {
foreach (ToolChain *tc, ToolChainManager::findToolChains(a)) {
if (ids.contains(tc->id()))
continue;
ids.insert(tc->id());
toolChains.append(tc);
}
}
return toolChains.values();
return toolChains;
}
QString QtOptionsPageWidget::defaultToolChainId(const BaseQtVersion *version)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment