summaryrefslogtreecommitdiffstats
path: root/Source/cmState.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-04-04 21:33:26 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-04-13 18:13:13 (GMT)
commitb159bff732d4e34a683edd1740604428049d1819 (patch)
treeef8513a3fa37802bc27c11543209da7e8cd9f2da /Source/cmState.h
parent62c5e6f1a19df0043a0e9aaba6cf7247f76a5cc3 (diff)
downloadCMake-b159bff732d4e34a683edd1740604428049d1819.zip
CMake-b159bff732d4e34a683edd1740604428049d1819.tar.gz
CMake-b159bff732d4e34a683edd1740604428049d1819.tar.bz2
Move property definition to cmState.
Diffstat (limited to 'Source/cmState.h')
-rw-r--r--Source/cmState.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmState.h b/Source/cmState.h
index f2e8ef5..310707d 100644
--- a/Source/cmState.h
+++ b/Source/cmState.h
@@ -13,6 +13,7 @@
#define cmState_h
#include "cmStandardIncludes.h"
+#include "cmPropertyDefinitionMap.h"
class cmake;
@@ -55,7 +56,25 @@ public:
void RemoveCacheEntryProperty(std::string const& key,
std::string const& propertyName);
+ void Initialize();
+ // Define a property
+ void DefineProperty(const std::string& name, cmProperty::ScopeType scope,
+ const char *ShortDescription,
+ const char *FullDescription,
+ bool chain = false);
+
+ // get property definition
+ cmPropertyDefinition *GetPropertyDefinition
+ (const std::string& name, cmProperty::ScopeType scope);
+
+ // Is a property defined?
+ bool IsPropertyDefined(const std::string& name, cmProperty::ScopeType scope);
+ bool IsPropertyChained(const std::string& name, cmProperty::ScopeType scope);
+
+
private:
+ std::map<cmProperty::ScopeType, cmPropertyDefinitionMap> PropertyDefinitions;
+
cmake* CMakeInstance;
};