diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index 7638884aad6..5defb0b7449 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -1102,6 +1102,10 @@ void ClangClToolChain::resetMsvcToolChain(const MsvcToolChain *base) m_abi = base->targetAbi(); m_vcvarsBat = base->varsBat(); setVarsBatArg(base->varsBatArg()); + + initEnvModWatcher(Utils::runAsync(envModThreadPool(), + &ClangClToolChain::environmentModifications, + m_vcvarsBat, base->varsBatArg())); } bool ClangClToolChain::operator ==(const ToolChain &other) const diff --git a/src/plugins/projectexplorer/msvctoolchain.h b/src/plugins/projectexplorer/msvctoolchain.h index c1482b95b3a..73c683daf96 100644 --- a/src/plugins/projectexplorer/msvctoolchain.h +++ b/src/plugins/projectexplorer/msvctoolchain.h @@ -97,7 +97,6 @@ protected: LanguageVersion msvcLanguageVersion(const Core::Id &language, const Macros ¯os) const override; -private: struct GenerateEnvResult { Utils::optional error; @@ -106,6 +105,8 @@ private: static void environmentModifications(QFutureInterface &future, QString vcvarsBat, QString varsBatArg); void initEnvModWatcher(const QFuture &future); + +private: void updateEnvironmentModifications(QList modifications); mutable QList m_environmentModifications;