cmake/Source/cmPropertyDefinitionMap.h

31 lines
873 B
C
Raw Normal View History

2016-10-30 18:24:19 +01:00
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
#ifndef cmPropertyDefinitionMap_h
#define cmPropertyDefinitionMap_h
2017-07-20 19:35:53 +02:00
#include "cmConfigure.h" // IWYU pragma: keep
2016-10-30 18:24:19 +01:00
#include "cmProperty.h"
#include "cmPropertyDefinition.h"
2016-10-30 18:24:19 +01:00
#include <map>
#include <string>
2016-07-09 11:21:54 +02:00
class cmPropertyDefinitionMap
: public std::map<std::string, cmPropertyDefinition>
{
public:
// define the property
2015-04-27 22:25:09 +02:00
void DefineProperty(const std::string& name, cmProperty::ScopeType scope,
2016-07-09 11:21:54 +02:00
const char* ShortDescription,
const char* FullDescription, bool chain);
// has a named property been defined
2015-11-17 17:22:37 +01:00
bool IsPropertyDefined(const std::string& name) const;
// is a named property set to chain
2015-11-17 17:22:37 +01:00
bool IsPropertyChained(const std::string& name) const;
};
#endif