diff options
author | hjk <hjk@qt.io> | 2019-06-18 12:44:37 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-06-19 06:35:37 +0000 |
commit | 0b46371ca541155daf4899de39efc6a55184d489 (patch) | |
tree | 9b73b7d46ac8ff0fd1aa37fe47124e24dc733fd8 | |
parent | 0096b8a3db1942d9fd998d09933f6f6e38dc75f2 (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.cpp | 25 | ||||
-rw-r--r-- | src/plugins/projectexplorer/msvctoolchain.h | 3 |
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, |