summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmCacheManager.cxx11
-rw-r--r--Source/cmSetPropertyCommand.cxx3
2 files changed, 13 insertions, 1 deletions
diff --git a/Source/cmCacheManager.cxx b/Source/cmCacheManager.cxx
index f65c80d..bc3830f 100644
--- a/Source/cmCacheManager.cxx
+++ b/Source/cmCacheManager.cxx
@@ -357,6 +357,7 @@ const char* cmCacheManager::PersistentProperties[] =
{
"ADVANCED",
"MODIFIED",
+ "STRINGS",
0
};
@@ -988,6 +989,16 @@ void cmCacheManager::DefineProperties(cmake *cm)
);
cm->DefineProperty
+ ("STRINGS", cmProperty::CACHE,
+ "Enumerate possible STRING entry values for GUI selection.",
+ "For cache entries with type STRING, this enumerates a set of values. "
+ "CMake GUIs may use this to provide a selection widget instead of a "
+ "generic string entry field. "
+ "This is for convenience only. "
+ "CMake does not enforce that the value matches one of those listed."
+ );
+
+ cm->DefineProperty
("VALUE", cmProperty::CACHE,
"Value of a cache entry.",
"This property maps to the actual value of a cache entry. "
diff --git a/Source/cmSetPropertyCommand.cxx b/Source/cmSetPropertyCommand.cxx
index fbe877b..caed6dc 100644
--- a/Source/cmSetPropertyCommand.cxx
+++ b/Source/cmSetPropertyCommand.cxx
@@ -419,12 +419,13 @@ bool cmSetPropertyCommand::HandleCacheMode()
}
}
else if(this->PropertyName != "HELPSTRING" &&
+ this->PropertyName != "STRINGS" &&
this->PropertyName != "VALUE")
{
cmOStringStream e;
e << "given invalid CACHE property " << this->PropertyName << ". "
<< "Settable CACHE properties are: "
- << "ADVANCED, HELPSTRING, TYPE, and VALUE.";
+ << "ADVANCED, HELPSTRING, STRINGS, TYPE, and VALUE.";
this->SetError(e.str().c_str());
return false;
}