1 /*============================================================================
2 CMake - Cross Platform Makefile Generator
3 Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
5 Distributed under the OSI-approved BSD License (the "License");
6 see accompanying file Copyright.txt for details.
8 This software is distributed WITHOUT ANY WARRANTY; without even the
9 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License for more information.
11 ============================================================================*/
12 #ifndef cmPropertyDefinitionMap_h
13 #define cmPropertyDefinitionMap_h
15 #include "cmPropertyDefinition.h"
17 class cmDocumentationSection;
19 class cmPropertyDefinitionMap :
20 public std::map<cmStdString,cmPropertyDefinition>
23 // define the property
24 void DefineProperty(const char *name, cmProperty::ScopeType scope,
25 const char *ShortDescription,
26 const char *FullDescription,
27 const char *DocumentaitonSection,
30 // has a named property been defined
31 bool IsPropertyDefined(const char *name);
33 // is a named property set to chain
34 bool IsPropertyChained(const char *name);
36 void GetPropertiesDocumentation(std::map<std::string,
37 cmDocumentationSection *>&) const;