summaryrefslogtreecommitdiff
path: root/Source/cmPropertyMap.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmPropertyMap.h')
-rw-r--r--Source/cmPropertyMap.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/Source/cmPropertyMap.h b/Source/cmPropertyMap.h
new file mode 100644
index 000000000..94275e2ac
--- /dev/null
+++ b/Source/cmPropertyMap.h
@@ -0,0 +1,43 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmPropertyMap_h
+#define cmPropertyMap_h
+
+#include "cmProperty.h"
+
+class cmake;
+
+class cmPropertyMap : public std::map<cmStdString,cmProperty>
+{
+public:
+ cmProperty *GetOrCreateProperty(const char *name);
+
+ void SetProperty(const char *name, const char *value,
+ cmProperty::ScopeType scope);
+
+ void AppendProperty(const char* name, const char* value,
+ cmProperty::ScopeType scope, bool asString=false);
+
+ const char *GetPropertyValue(const char *name,
+ cmProperty::ScopeType scope,
+ bool &chain) const;
+
+ void SetCMakeInstance(cmake *cm) { this->CMakeInstance = cm; };
+
+ cmPropertyMap() { this->CMakeInstance = 0;};
+
+private:
+ cmake *CMakeInstance;
+};
+
+#endif
+