diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-04-12 18:08:42 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-04-12 18:08:42 (GMT) |
commit | 55ecd818f6bf70590d61584a87aae7bba992e26d (patch) | |
tree | 5d1833b97f82639d2661753ba7e5e12dd19f5e76 /Source/cmGlobalGenerator.cxx | |
parent | 18b58b618ccfb3b3fc56935b64a8fa2139b8398a (diff) | |
download | CMake-55ecd818f6bf70590d61584a87aae7bba992e26d.zip CMake-55ecd818f6bf70590d61584a87aae7bba992e26d.tar.gz CMake-55ecd818f6bf70590d61584a87aae7bba992e26d.tar.bz2 |
cmGlobalGenerator: Store languages as vector, not map.
The second component of the map is never used.
Diffstat (limited to 'Source/cmGlobalGenerator.cxx')
-rw-r--r-- | Source/cmGlobalGenerator.cxx | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 35394b8..6a6a503 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -968,7 +968,13 @@ void cmGlobalGenerator::SetLanguageEnabled(const std::string& l, void cmGlobalGenerator::SetLanguageEnabledFlag(const std::string& l, cmMakefile* mf) { - this->LanguageEnabled[l] = true; + std::vector<std::string>::iterator it = + std::lower_bound(this->LanguageEnabled.begin(), + this->LanguageEnabled.end(), l); + if (it == this->LanguageEnabled.end() || *it != l) + { + this->LanguageEnabled.insert(it, l); + } // Fill the language-to-extension map with the current variable // settings to make sure it is available for the try_compile() @@ -1079,7 +1085,8 @@ bool cmGlobalGenerator::IgnoreFile(const char* ext) const bool cmGlobalGenerator::GetLanguageEnabled(const std::string& l) const { - return (this->LanguageEnabled.find(l)!= this->LanguageEnabled.end()); + return std::binary_search(this->LanguageEnabled.begin(), + this->LanguageEnabled.end(), l); } void cmGlobalGenerator::ClearEnabledLanguages() @@ -1958,11 +1965,7 @@ bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root, void cmGlobalGenerator::GetEnabledLanguages(std::vector<std::string>& lang) const { - for(std::map<std::string, bool>::const_iterator i = - this->LanguageEnabled.begin(); i != this->LanguageEnabled.end(); ++i) - { - lang.push_back(i->first); - } + lang = this->LanguageEnabled; } int cmGlobalGenerator::GetLinkerPreference(const std::string& lang) const |