diff options
author | Ken Martin <ken.martin@kitware.com> | 2006-12-01 18:35:21 (GMT) |
---|---|---|
committer | Ken Martin <ken.martin@kitware.com> | 2006-12-01 18:35:21 (GMT) |
commit | 49a3349b59791ec68c9932fcfb9119be039d8316 (patch) | |
tree | 3d1eb3f6d92927e865e106f43865696b81dcb672 /Source/cmPropertyDefinitionMap.cxx | |
parent | d99ee73dfffeb5584d91df142c7894c10d3e4509 (diff) | |
download | CMake-49a3349b59791ec68c9932fcfb9119be039d8316.zip CMake-49a3349b59791ec68c9932fcfb9119be039d8316.tar.gz CMake-49a3349b59791ec68c9932fcfb9119be039d8316.tar.bz2 |
ENH: getting some of the property changed chewcked into CVS at least
Diffstat (limited to 'Source/cmPropertyDefinitionMap.cxx')
-rw-r--r-- | Source/cmPropertyDefinitionMap.cxx | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/Source/cmPropertyDefinitionMap.cxx b/Source/cmPropertyDefinitionMap.cxx new file mode 100644 index 0000000..bfc6112 --- /dev/null +++ b/Source/cmPropertyDefinitionMap.cxx @@ -0,0 +1,85 @@ +/*========================================================================= + + Program: CMake - Cross-Platform Makefile Generator + Module: $RCSfile$ + Language: C++ + Date: $Date$ + Version: $Revision$ + + Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. + See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ +#include "cmPropertyDefinitionMap.h" +#include "cmSystemTools.h" + + +void cmPropertyDefinitionMap +::DefineProperty(const char *name, cmProperty::ScopeType scope, + const char *ShortDescription, + const char *FullDescription, + bool chain) +{ + if (!name) + { + return; + } + + cmPropertyDefinitionMap::iterator it = this->find(name); + cmPropertyDefinition *prop; + if (it == this->end()) + { + prop = &(*this)[name]; + prop->DefineProperty(name,scope,ShortDescription, FullDescription, chain); + } +} + +void cmPropertyDefinitionMap +::GetPropertiesDocumentation(std::vector<cmDocumentationEntry>& v) const +{ + for(cmPropertyDefinitionMap::const_iterator j = this->begin(); + j != this->end(); ++j) + { + cmDocumentationEntry e = j->second.GetDocumentation(); + if (e.brief) + { + v.push_back(e); + } + } +} + +bool cmPropertyDefinitionMap::IsPropertyDefined(const char *name) +{ + if (!name) + { + return false; + } + + cmPropertyDefinitionMap::iterator it = this->find(name); + if (it == this->end()) + { + return false; + } + + return true; +} + +bool cmPropertyDefinitionMap::IsPropertyChained(const char *name) +{ + if (!name) + { + return false; + } + + cmPropertyDefinitionMap::iterator it = this->find(name); + if (it == this->end()) + { + return false; + } + + return it->second.IsChained(); +} |