diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index ab044c1f1..243f61ac0 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -1896,7 +1896,9 @@ void cmGlobalGenerator::EnableLanguagesFromGenerator(cmGlobalGenerator *gen, "make program", cmState::FILEPATH); // copy the enabled languages - this->LanguageEnabled = gen->LanguageEnabled; + this->GetCMakeInstance()->GetState()->SetEnabledLanguages( + gen->GetCMakeInstance()->GetState()->GetEnabledLanguages() + ); this->LanguagesReady = gen->LanguagesReady; this->ExtensionToLanguage = gen->ExtensionToLanguage; this->IgnoreExtensions = gen->IgnoreExtensions; diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h index ce3f03773..ef1865f25 100644 --- a/Source/cmGlobalGenerator.h +++ b/Source/cmGlobalGenerator.h @@ -441,7 +441,6 @@ private: // If you add a new map here, make sure it is copied // in EnableLanguagesFromGenerator std::map IgnoreExtensions; - std::vector LanguageEnabled; std::set LanguagesReady; // Ready for try_compile std::map OutputExtensions; std::map LanguageToOutputExtension; diff --git a/Source/cmState.cxx b/Source/cmState.cxx index 96f8a51ad..7ff2cffed 100644 --- a/Source/cmState.cxx +++ b/Source/cmState.cxx @@ -272,6 +272,11 @@ std::vector cmState::GetEnabledLanguages() const return this->EnabledLanguages; } +void cmState::SetEnabledLanguages(std::vector const& langs) +{ + this->EnabledLanguages = langs; +} + void cmState::ClearEnabledLanguages() { this->EnabledLanguages.clear(); diff --git a/Source/cmState.h b/Source/cmState.h index 34b2ccf06..23536716e 100644 --- a/Source/cmState.h +++ b/Source/cmState.h @@ -77,6 +77,7 @@ public: void SetLanguageEnabled(std::string const& l); bool GetLanguageEnabled(std::string const& l) const; std::vector GetEnabledLanguages() const; + void SetEnabledLanguages(std::vector const& langs); void ClearEnabledLanguages(); bool GetIsInTryCompile() const;