aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-06-18 12:44:37 +0200
committerhjk <hjk@qt.io>2019-06-19 06:35:37 +0000
commit0b46371ca541155daf4899de39efc6a55184d489 (patch)
tree9b73b7d46ac8ff0fd1aa37fe47124e24dc733fd8
parent0096b8a3db1942d9fd998d09933f6f6e38dc75f2 (diff)
ProjectExplorer: Dissolve ClangClToolChain::resetMsvcToolChain
The context defined which branch to take, just inline the repective branch, and use a new convenience method for the clear() case. Change-Id: Ib5aef375e27d3600dea787c2f8fa4c0b788da194 Reviewed-by: David Schulz <david.schulz@qt.io>
-rw-r--r--src/plugins/projectexplorer/msvctoolchain.cpp25
-rw-r--r--src/plugins/projectexplorer/msvctoolchain.h3
2 files changed, 14 insertions, 14 deletions
diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp
index b8a3879d67..cf927acbe3 100644
--- a/src/plugins/projectexplorer/msvctoolchain.cpp
+++ b/src/plugins/projectexplorer/msvctoolchain.cpp
@@ -1246,6 +1246,14 @@ void MsvcToolChain::setupVarsBat(const Abi &abi, const QString &varsBat, const Q
}
}
+void MsvcToolChain::resetVarsBat()
+{
+ m_lastEnvironment = Utils::Environment::systemEnvironment();
+ m_abi = Abi();
+ m_vcvarsBat.clear();
+ m_varsBatArg.clear();
+}
+
// --------------------------------------------------------------------------
// MsvcBasedToolChainConfigWidget: Creates a simple GUI without error label
// to display name and varsBat. Derived classes should add the error label and
@@ -1580,7 +1588,7 @@ static QList<ToolChain *> detectClangClToolChainInPath(const QString &clangClPat
cltc->setDisplayName(name);
cltc->setDetection(ToolChain::AutoDetection);
cltc->setLanguage(language);
- cltc->resetMsvcToolChain(toolChain);
+ cltc->setupVarsBat(toolChain->targetAbi(), toolChain->varsBat(), toolChain->varsBatArg());
res << cltc;
}
}
@@ -1599,7 +1607,7 @@ void ClangClToolChainConfigWidget::applyImpl()
clangClToolChain->setClangPath(clangClPath.toString());
if (clangClPath.fileName() != "clang-cl.exe") {
- clangClToolChain->resetMsvcToolChain();
+ clangClToolChain->resetVarsBat();
setFromClangClToolChain();
return;
}
@@ -1610,11 +1618,12 @@ void ClangClToolChainConfigWidget::applyImpl()
displayedVarsBat);
if (results.isEmpty()) {
- clangClToolChain->resetMsvcToolChain();
+ clangClToolChain->resetVarsBat();
} else {
for (const ToolChain *toolchain : results) {
if (toolchain->language() == clangClToolChain->language()) {
- clangClToolChain->resetMsvcToolChain(static_cast<const MsvcToolChain *>(toolchain));
+ auto mstc = static_cast<const MsvcToolChain *>(toolchain);
+ clangClToolChain->setupVarsBat(mstc->targetAbi(), mstc->varsBat(), mstc->varsBatArg());
break;
}
}
@@ -1708,14 +1717,6 @@ std::unique_ptr<ToolChainConfigWidget> ClangClToolChain::createConfigurationWidg
return std::make_unique<ClangClToolChainConfigWidget>(this);
}
-void ClangClToolChain::resetMsvcToolChain(const MsvcToolChain *base)
-{
- if (base)
- setupVarsBat(base->targetAbi(), base->varsBat(), base->varsBatArg());
- else
- setupVarsBat(Abi(), "", "");
-}
-
bool ClangClToolChain::operator==(const ToolChain &other) const
{
if (!MsvcToolChain::operator==(other))
diff --git a/src/plugins/projectexplorer/msvctoolchain.h b/src/plugins/projectexplorer/msvctoolchain.h
index e134e0c888..d540ed7933 100644
--- a/src/plugins/projectexplorer/msvctoolchain.h
+++ b/src/plugins/projectexplorer/msvctoolchain.h
@@ -92,8 +92,8 @@ public:
QString varsBatArg() const { return m_varsBatArg; }
QString varsBat() const { return m_vcvarsBat; }
- void setVarsBatArg(const QString &varsBA) { m_varsBatArg = varsBA; }
void setupVarsBat(const Abi &abi, const QString &varsBat, const QString &varsBatArg);
+ void resetVarsBat();
bool operator==(const ToolChain &) const override;
@@ -184,7 +184,6 @@ public:
QString clangPath() const { return m_clangPath; }
void setClangPath(const QString &path) { m_clangPath = path; }
- void resetMsvcToolChain(const MsvcToolChain *base = nullptr);
Macros msvcPredefinedMacros(const QStringList &cxxflags,
const Utils::Environment &env) const override;
Utils::LanguageVersion msvcLanguageVersion(const QStringList &cxxflags,