ENH: Document CACHE entry properties
This adds a property documentation section for CACHE properties. We document the ADVANCED, HELPSTRING, TYPE, and VALUE properties.
This commit is contained in:
parent
e5e91d6179
commit
32258b44bc
@ -1010,3 +1010,48 @@ bool cmCacheManager::NeedCacheCompatibility(int major, int minor)
|
|||||||
return (actual_compat &&
|
return (actual_compat &&
|
||||||
actual_compat <= CMake_VERSION_ENCODE(major, minor, 0));
|
actual_compat <= CMake_VERSION_ENCODE(major, minor, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
void cmCacheManager::DefineProperties(cmake *cm)
|
||||||
|
{
|
||||||
|
cm->DefineProperty
|
||||||
|
("ADVANCED", cmProperty::CACHE,
|
||||||
|
"True if entry should be hidden by default in GUIs.",
|
||||||
|
"This is a boolean value indicating whether the entry is considered "
|
||||||
|
"interesting only for advanced configuration. "
|
||||||
|
"The mark_as_advanced() command modifies this property."
|
||||||
|
);
|
||||||
|
|
||||||
|
cm->DefineProperty
|
||||||
|
("HELPSTRING", cmProperty::CACHE,
|
||||||
|
"Help associated with entry in GUIs.",
|
||||||
|
"This string summarizes the purpose of an entry to help users set it "
|
||||||
|
"through a CMake GUI."
|
||||||
|
);
|
||||||
|
|
||||||
|
cm->DefineProperty
|
||||||
|
("TYPE", cmProperty::CACHE,
|
||||||
|
"Widget type for entry in GUIs.",
|
||||||
|
"Cache entry values are always strings, but CMake GUIs present widgets "
|
||||||
|
"to help users set values. "
|
||||||
|
"The GUIs use this property as a hint to determine the widget type. "
|
||||||
|
"Valid TYPE values are:\n"
|
||||||
|
" BOOL = Boolean ON/OFF value.\n"
|
||||||
|
" PATH = Path to a directory.\n"
|
||||||
|
" FILEPATH = Path to a file.\n"
|
||||||
|
" STRING = Generic string value.\n"
|
||||||
|
" INTERNAL = Do not present in GUI at all.\n"
|
||||||
|
" STATIC = Value managed by CMake, do not change.\n"
|
||||||
|
" UNINITIALIZED = Type not yet specified.\n"
|
||||||
|
"Generally the TYPE of a cache entry should be set by the command "
|
||||||
|
"which creates it (set, option, find_library, etc.)."
|
||||||
|
);
|
||||||
|
|
||||||
|
cm->DefineProperty
|
||||||
|
("VALUE", cmProperty::CACHE,
|
||||||
|
"Value of a cache entry.",
|
||||||
|
"This property maps to the actual value of a cache entry. "
|
||||||
|
"Setting this property always sets the value without checking, so "
|
||||||
|
"use with care."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
@ -155,6 +155,9 @@ public:
|
|||||||
unsigned int GetCacheMinorVersion() { return this->CacheMinorVersion; }
|
unsigned int GetCacheMinorVersion() { return this->CacheMinorVersion; }
|
||||||
bool NeedCacheCompatibility(int major, int minor);
|
bool NeedCacheCompatibility(int major, int minor);
|
||||||
|
|
||||||
|
/** Define and document CACHE entry properties. */
|
||||||
|
static void DefineProperties(cmake *cm);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
///! Add an entry into the cache
|
///! Add an entry into the cache
|
||||||
void AddCacheEntry(const char* key, const char* value,
|
void AddCacheEntry(const char* key, const char* value,
|
||||||
|
@ -267,6 +267,7 @@ cmDocumentation::cmDocumentation()
|
|||||||
this->PropertySections.push_back("Properties on Targets");
|
this->PropertySections.push_back("Properties on Targets");
|
||||||
this->PropertySections.push_back("Properties on Tests");
|
this->PropertySections.push_back("Properties on Tests");
|
||||||
this->PropertySections.push_back("Properties on Source Files");
|
this->PropertySections.push_back("Properties on Source Files");
|
||||||
|
this->PropertySections.push_back("Properties on Cache Entries");
|
||||||
|
|
||||||
this->VariableSections.push_back("Variables that Provide Information");
|
this->VariableSections.push_back("Variables that Provide Information");
|
||||||
this->VariableSections.push_back("Variables That Change Behavior");
|
this->VariableSections.push_back("Variables That Change Behavior");
|
||||||
|
@ -228,6 +228,7 @@ void cmake::InitializeProperties()
|
|||||||
this->PropertyDefinitions.clear();
|
this->PropertyDefinitions.clear();
|
||||||
|
|
||||||
// initialize properties
|
// initialize properties
|
||||||
|
cmCacheManager::DefineProperties(this);
|
||||||
cmSourceFile::DefineProperties(this);
|
cmSourceFile::DefineProperties(this);
|
||||||
cmTarget::DefineProperties(this);
|
cmTarget::DefineProperties(this);
|
||||||
cmMakefile::DefineProperties(this);
|
cmMakefile::DefineProperties(this);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user