diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index 24b528154de..17bf393a4c1 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -776,6 +776,8 @@ void MsvcToolChain::updateEnvironmentModifications(QList void MsvcToolChain::detectInstalledAbis() { + if (!m_supportedAbis.isEmpty()) // Build Tools 2015 + return; static QMap abiCache; const QString vcVarsBase = QDir::fromNativeSeparators(m_vcvarsBat).left(m_vcvarsBat.lastIndexOf('/')); @@ -1282,6 +1284,13 @@ void MsvcToolChain::changeVcVarsCall(const QString &varsBat, const QString &vars } } +void MsvcToolChain::setSupportedAbi(const Abi &abi) +{ + // Hack for Build Tools 2015 only. + QTC_CHECK(m_supportedAbis.isEmpty()); + m_supportedAbis = { abi }; +} + // -------------------------------------------------------------------------- // MsvcBasedToolChainConfigWidget: Creates a simple GUI without error label // to display name and varsBat. Derived classes should add the error label and @@ -1900,6 +1909,7 @@ static void detectCppBuildTools2015(QList *list) QLatin1String(e.varsBatArg)); tc->setDetection(ToolChain::AutoDetection); tc->setLanguage(language); + tc->setSupportedAbi(abi); list->append(tc); } } diff --git a/src/plugins/projectexplorer/msvctoolchain.h b/src/plugins/projectexplorer/msvctoolchain.h index bc0adb00bae..63d3e865529 100644 --- a/src/plugins/projectexplorer/msvctoolchain.h +++ b/src/plugins/projectexplorer/msvctoolchain.h @@ -98,6 +98,8 @@ public: void setVarsBatArg(const QString &varsBA) { m_varsBatArg = varsBA; } void changeVcVarsCall(const QString &varsBat, const QString &varsBatArgs = QString()); + void setSupportedAbi(const Abi &abi); + bool operator==(const ToolChain &) const override; bool isJobCountSupported() const override { return false; }