ENH: Define STRINGS cache entry property
This property defines a list of values for a cache entry of type STRING. A CMake GUI may optionally use a drop-down selection widget for the entry instead of a generic text entry field. We do not enforce that the value of the entry match one of the strings listed.
This commit is contained in:
parent
1b43bea91c
commit
dd7b48c9c3
|
@ -357,6 +357,7 @@ const char* cmCacheManager::PersistentProperties[] =
|
|||
{
|
||||
"ADVANCED",
|
||||
"MODIFIED",
|
||||
"STRINGS",
|
||||
0
|
||||
};
|
||||
|
||||
|
@ -987,6 +988,16 @@ void cmCacheManager::DefineProperties(cmake *cm)
|
|||
"which creates it (set, option, find_library, etc.)."
|
||||
);
|
||||
|
||||
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.",
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue