cmPropertyDefinitionMap.h 873 B

123456789101112131415161718192021222324252627282930
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #ifndef cmPropertyDefinitionMap_h
  4. #define cmPropertyDefinitionMap_h
  5. #include "cmConfigure.h" // IWYU pragma: keep
  6. #include "cmProperty.h"
  7. #include "cmPropertyDefinition.h"
  8. #include <map>
  9. #include <string>
  10. class cmPropertyDefinitionMap
  11. : public std::map<std::string, cmPropertyDefinition>
  12. {
  13. public:
  14. // define the property
  15. void DefineProperty(const std::string& name, cmProperty::ScopeType scope,
  16. const char* ShortDescription,
  17. const char* FullDescription, bool chain);
  18. // has a named property been defined
  19. bool IsPropertyDefined(const std::string& name) const;
  20. // is a named property set to chain
  21. bool IsPropertyChained(const std::string& name) const;
  22. };
  23. #endif