summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2019-10-07 15:51:11 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2019-10-09 07:21:11 +0000
commit2896e5f5e289a30928ab679c99d7de68d4a903ac (patch)
tree46f051e6454f1c0ca7cdcecce863bcc5487ac9c7
parent33bf017951009ee1dff86af3f30ac11f838ac3ba (diff)
downloadqt-creator-2896e5f5e289a30928ab679c99d7de68d4a903ac.tar.gz
MSVC support: Fix "detection" of supported ABIs for the 2015 build tools
The VS 2015 Build Tools are unlike any other VS or Build Tools installation and thus need their own hack. Fixes: QTCREATORBUG-22960 Change-Id: Icdbc2ad641e544a9a9d58887fde30b6ad3c28d26 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
-rw-r--r--src/plugins/projectexplorer/msvctoolchain.cpp10
-rw-r--r--src/plugins/projectexplorer/msvctoolchain.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp
index 24b528154d..17bf393a4c 100644
--- a/src/plugins/projectexplorer/msvctoolchain.cpp
+++ b/src/plugins/projectexplorer/msvctoolchain.cpp
@@ -776,6 +776,8 @@ void MsvcToolChain::updateEnvironmentModifications(QList<Utils::EnvironmentItem>
void MsvcToolChain::detectInstalledAbis()
{
+ if (!m_supportedAbis.isEmpty()) // Build Tools 2015
+ return;
static QMap<QString, Abis> 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<ToolChain *> *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 bc0adb00ba..63d3e86552 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; }