diff options
author | Brad King <brad.king@kitware.com> | 2015-07-21 13:22:17 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2015-07-21 13:22:17 (GMT) |
commit | 93b393e74c3a7508fe013b423809e7e35f9bc8a0 (patch) | |
tree | de55e403f3fa6c3b61ad6175850efdc9871ccc56 /Source | |
parent | 64aa41b2480384be22881a3bacc8960ec57b0f11 (diff) | |
parent | c6055d9d4c2f37822866981f5cea1f7389431d49 (diff) | |
download | CMake-93b393e74c3a7508fe013b423809e7e35f9bc8a0.zip CMake-93b393e74c3a7508fe013b423809e7e35f9bc8a0.tar.gz CMake-93b393e74c3a7508fe013b423809e7e35f9bc8a0.tar.bz2 |
Merge topic 'remove-Properties-accessor'
c6055d9d cmMakefile: Remove GetProperties method.
cbe3ee58 cmMakefile: Add a PropertyKeys accessor.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmGlobalVisualStudio7Generator.cxx | 16 | ||||
-rw-r--r-- | Source/cmMakefile.cxx | 12 | ||||
-rw-r--r-- | Source/cmMakefile.h | 4 |
3 files changed, 22 insertions, 10 deletions
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx index 1674e98..f8d882c 100644 --- a/Source/cmGlobalVisualStudio7Generator.cxx +++ b/Source/cmGlobalVisualStudio7Generator.cxx @@ -814,14 +814,15 @@ void cmGlobalVisualStudio7Generator { bool extensibilityGlobalsOverridden = false; bool extensibilityAddInsOverridden = false; - const cmPropertyMap& props = root->GetMakefile()->GetProperties(); - for(cmPropertyMap::const_iterator itProp = props.begin(); - itProp != props.end(); ++itProp) + const std::vector<std::string> propKeys = + root->GetMakefile()->GetPropertyKeys(); + for(std::vector<std::string>::const_iterator it = propKeys.begin(); + it != propKeys.end(); ++it) { - if(itProp->first.find("VS_GLOBAL_SECTION_") == 0) + if(it->find("VS_GLOBAL_SECTION_") == 0) { std::string sectionType; - std::string name = itProp->first.substr(18); + std::string name = it->substr(18); if(name.find("PRE_") == 0) { name = name.substr(4); @@ -842,8 +843,9 @@ void cmGlobalVisualStudio7Generator extensibilityAddInsOverridden = true; fout << "\tGlobalSection(" << name << ") = " << sectionType << "\n"; std::vector<std::string> keyValuePairs; - cmSystemTools::ExpandListArgument(itProp->second.GetValue(), - keyValuePairs); + cmSystemTools::ExpandListArgument( + root->GetMakefile()->GetProperty(it->c_str()), + keyValuePairs); for(std::vector<std::string>::const_iterator itPair = keyValuePairs.begin(); itPair != keyValuePairs.end(); ++itPair) { diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 5790b75..80619d1 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -4344,6 +4344,18 @@ bool cmMakefile::GetPropertyAsBool(const std::string& prop) const return cmSystemTools::IsOn(this->GetProperty(prop)); } +std::vector<std::string> cmMakefile::GetPropertyKeys() const +{ + std::vector<std::string> keys; + keys.reserve(this->Properties.size()); + for(cmPropertyMap::const_iterator it = this->Properties.begin(); + it != this->Properties.end(); ++it) + { + keys.push_back(it->first); + } + return keys; +} + cmTarget* cmMakefile::FindTarget(const std::string& name, bool excludeAliases) const { diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 76f3fbe..a4a7dc2 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -700,9 +700,7 @@ public: const char *GetProperty(const std::string& prop) const; const char *GetProperty(const std::string& prop, bool chain) const; bool GetPropertyAsBool(const std::string& prop) const; - - // Get the properties - cmPropertyMap &GetProperties() { return this->Properties; } + std::vector<std::string> GetPropertyKeys() const; ///! Initialize a makefile from its parent void InitializeFromParent(cmMakefile* parent); |