Toolchains: Fix auto-detection for clang-cl

This broke in aef8255ba0, which removed the collection of MSVC
toolchains in a global variable for clang-cl to inspect.

Change-Id: I949aa0a098ed307d264e8fe23625586018507d00
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Kandeler
2020-06-22 17:16:32 +02:00
parent 59ddc75b59
commit e1c4fcaab5

View File

@@ -813,6 +813,7 @@ MsvcToolChain::MsvcToolChain(Core::Id typeId)
{ {
setDisplayName("Microsoft Visual C++ Compiler"); setDisplayName("Microsoft Visual C++ Compiler");
setTypeDisplayName(tr("MSVC")); setTypeDisplayName(tr("MSVC"));
addToAvailableMsvcToolchains(this);
} }
void MsvcToolChain::inferWarningsForLevel(int warningLevel, WarningFlags &flags) void MsvcToolChain::inferWarningsForLevel(int warningLevel, WarningFlags &flags)
@@ -931,8 +932,10 @@ QVariantMap MsvcToolChain::toMap() const
bool MsvcToolChain::fromMap(const QVariantMap &data) bool MsvcToolChain::fromMap(const QVariantMap &data)
{ {
if (!ToolChain::fromMap(data)) if (!ToolChain::fromMap(data)) {
g_availableMsvcToolchains.removeOne(this);
return false; return false;
}
m_vcvarsBat = QDir::fromNativeSeparators(data.value(QLatin1String(varsBatKeyC)).toString()); m_vcvarsBat = QDir::fromNativeSeparators(data.value(QLatin1String(varsBatKeyC)).toString());
m_varsBatArg = data.value(QLatin1String(varsBatArgKeyC)).toString(); m_varsBatArg = data.value(QLatin1String(varsBatArgKeyC)).toString();
@@ -948,8 +951,8 @@ bool MsvcToolChain::fromMap(const QVariantMap &data)
m_varsBatArg)); m_varsBatArg));
const bool valid = !m_vcvarsBat.isEmpty() && m_abi.isValid(); const bool valid = !m_vcvarsBat.isEmpty() && m_abi.isValid();
if (valid) if (!valid)
addToAvailableMsvcToolchains(this); g_availableMsvcToolchains.removeOne(this);
return valid; return valid;
} }