mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 13:51:33 -06:00
Merge topic 'CPack-dynamicDocSection'
9a8103eTry to fix compile error on Win32-vs704da2223Fix typo in end markupcfac874More documentation concerning CPack Componentsdee0a38Put CPack DMG and PackageMaker doc in separate filesb4abcfeCorrect copy/paste section name mistake9717727Suppress unecessary (now empty) doc sections7a8f44aAdd structure documentation for CPack Bundle generatorb8a274cAdd structured documentation for NSISa6bce55Dynamically add documentation section specified in documented script.
This commit is contained in:
@@ -514,7 +514,6 @@ int main (int argc, char *argv[])
|
||||
if ( help )
|
||||
{
|
||||
// Construct and print requested documentation.
|
||||
std::vector<cmDocumentationEntry> variables;
|
||||
|
||||
doc.SetName("cpack");
|
||||
doc.SetSection("Name",cmDocumentationName);
|
||||
@@ -545,7 +544,7 @@ int main (int argc, char *argv[])
|
||||
{
|
||||
doc.GetStructuredDocFromFile(
|
||||
(docedIt->first).c_str(),
|
||||
commands,&cminst,(docedIt->second).c_str());
|
||||
commands,&cminst);
|
||||
}
|
||||
|
||||
std::map<std::string,cmDocumentationSection *> propDocs;
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <cmsys/Directory.hxx>
|
||||
#include <cmsys/Glob.hxx>
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
static const char *cmDocumentationStandardOptions[][3] =
|
||||
@@ -741,10 +742,20 @@ void cmDocumentation::addCPackStandardDocSections()
|
||||
|
||||
this->VariableSections.push_back(
|
||||
"Variables common to all CPack generators");
|
||||
this->VariableSections.push_back(
|
||||
"Variables specific to a CPack generator");
|
||||
}
|
||||
|
||||
void cmDocumentation::addAutomaticVariableSections(const std::string& section)
|
||||
{
|
||||
std::vector<std::string>::iterator it;
|
||||
it = std::find(this->VariableSections.begin(),
|
||||
this->VariableSections.end(),
|
||||
section);
|
||||
/* if the section does not exist then add it */
|
||||
if (it==this->VariableSections.end())
|
||||
{
|
||||
this->VariableSections.push_back(section);
|
||||
}
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
int cmDocumentation::getDocumentedModulesListInDir(
|
||||
std::string path,
|
||||
@@ -818,8 +829,7 @@ static void trim(std::string& s)
|
||||
int cmDocumentation::GetStructuredDocFromFile(
|
||||
const char* fname,
|
||||
std::vector<cmDocumentationEntry>& commands,
|
||||
cmake* cm,
|
||||
const char *docSection)
|
||||
cmake* cm)
|
||||
{
|
||||
typedef enum sdoce {
|
||||
SDOC_NONE, SDOC_MODULE, SDOC_MACRO, SDOC_FUNCTION, SDOC_VARIABLE,
|
||||
@@ -835,6 +845,7 @@ int cmDocumentation::GetStructuredDocFromFile(
|
||||
{
|
||||
return nbDocItemFound;
|
||||
}
|
||||
std::string section;
|
||||
std::string name;
|
||||
std::string full;
|
||||
std::string brief;
|
||||
@@ -886,6 +897,8 @@ int cmDocumentation::GetStructuredDocFromFile(
|
||||
{
|
||||
docCtxIdx++;
|
||||
docContextStack[docCtxIdx]=SDOC_SECTION;
|
||||
// 10 is the size of '##section' + 1
|
||||
section = line.substr(10,std::string::npos);
|
||||
/* drop the rest of the line */
|
||||
line = "";
|
||||
newCtx = true;
|
||||
@@ -900,11 +913,12 @@ int cmDocumentation::GetStructuredDocFromFile(
|
||||
brief.c_str(),full.c_str()));
|
||||
break;
|
||||
case SDOC_VARIABLE:
|
||||
this->addAutomaticVariableSections(section);
|
||||
cm->DefineProperty
|
||||
(name.c_str(), cmProperty::VARIABLE,
|
||||
brief.c_str(),
|
||||
full.c_str(),false,
|
||||
docSection);
|
||||
section.c_str());
|
||||
break;
|
||||
case SDOC_MODULE:
|
||||
/* not implemented */
|
||||
|
||||
@@ -147,6 +147,9 @@ public:
|
||||
/** Add the CPack standard documentation section(s) */
|
||||
void addCPackStandardDocSections();
|
||||
|
||||
/** Add automatic variables sections */
|
||||
void addAutomaticVariableSections(const std::string& section);
|
||||
|
||||
/**
|
||||
* Retrieve the list of documented module located in
|
||||
* path which match the globing expression globExpr.
|
||||
@@ -185,8 +188,7 @@ public:
|
||||
*/
|
||||
int GetStructuredDocFromFile(const char* fname,
|
||||
std::vector<cmDocumentationEntry>& commands,
|
||||
cmake* cm,
|
||||
const char *docSection);
|
||||
cmake* cm);
|
||||
private:
|
||||
void SetForm(Form f);
|
||||
void SetDocName(const char* docname);
|
||||
|
||||
Reference in New Issue
Block a user