From 27343e3b68e0aa0c923f1ad666575ed40efed211 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 30 Apr 2015 08:56:48 -0400 Subject: cmGlobalGenerator: Finish storing enabled languages in cmState In commit 74de9a73 (cmGlobalGenerator: Delegate storage of enabled languages to cmState, 2015-04-11) the original LanguageEnabled member of cmGlobalGenerator was left behind by mistake. One use of it in EnableLanguagesFromGenerator (for try_compile) was left, but the member is not populated anymore. Drop the member and teach EnableLanguagesFromGenerator to copy the list of enabled languages from one cmState to the other. Reported-by: Matt McCormick --- Source/cmGlobalGenerator.cxx | 4 +++- Source/cmGlobalGenerator.h | 1 - Source/cmState.cxx | 5 +++++ Source/cmState.h | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index ab044c1..243f61a 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 ce3f037..ef1865f 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 96f8a51..7ff2cff 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 34b2ccf..2353671 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; -- cgit v0.12