cmPropertyDefinitionMap.h 1.4 KB

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