summaryrefslogtreecommitdiffstats
path: root/Source/cmPropertyMap.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmPropertyMap.cxx')
-rw-r--r--Source/cmPropertyMap.cxx26
1 files changed, 26 insertions, 0 deletions
diff --git a/Source/cmPropertyMap.cxx b/Source/cmPropertyMap.cxx
index dcd3cb7..db1f75b 100644
--- a/Source/cmPropertyMap.cxx
+++ b/Source/cmPropertyMap.cxx
@@ -63,6 +63,32 @@ void cmPropertyMap::SetProperty(const char *name, const char *value,
prop->Set(name,value);
}
+void cmPropertyMap::AppendProperty(const char* name, const char* value,
+ cmProperty::ScopeType scope)
+{
+ // Skip if nothing to append.
+ if(!name || !value || !*value)
+ {
+ return;
+ }
+#ifdef CMAKE_STRICT
+ if (!this->CMakeInstance)
+ {
+ cmSystemTools::Error("CMakeInstance not set on a property map!");
+ abort();
+ }
+ else
+ {
+ this->CMakeInstance->RecordPropertyAccess(name,scope);
+ }
+#else
+ (void)scope;
+#endif
+
+ cmProperty *prop = this->GetOrCreateProperty(name);
+ prop->Append(name,value);
+}
+
const char *cmPropertyMap
::GetPropertyValue(const char *name,
cmProperty::ScopeType scope,