documentation: preparation for making the man section configurable
This patch adds a man section number, which is then used by the DocumentationFormatterMan. The section number is right now always 1, detecting this from the file name will be the next step. Alex
This commit is contained in:
parent
e6a935f39b
commit
38df155dd3
|
@ -221,7 +221,7 @@ DOCUMENT_INTRO(CompatCommands, "cmakecompat",
|
||||||
cmDocumentation::cmDocumentation()
|
cmDocumentation::cmDocumentation()
|
||||||
:CurrentFormatter(0)
|
:CurrentFormatter(0)
|
||||||
{
|
{
|
||||||
this->SetForm(TextForm);
|
this->SetForm(TextForm, 0);
|
||||||
this->addCommonStandardDocSections();
|
this->addCommonStandardDocSections();
|
||||||
this->ShowGenerators = true;
|
this->ShowGenerators = true;
|
||||||
}
|
}
|
||||||
|
@ -594,7 +594,7 @@ bool cmDocumentation::PrintRequestedDocumentation(std::ostream& os)
|
||||||
i != this->RequestedHelpItems.end();
|
i != this->RequestedHelpItems.end();
|
||||||
++i)
|
++i)
|
||||||
{
|
{
|
||||||
this->SetForm(i->HelpForm);
|
this->SetForm(i->HelpForm, i->ManSection);
|
||||||
this->CurrentArgument = i->Argument;
|
this->CurrentArgument = i->Argument;
|
||||||
// If a file name was given, use it. Otherwise, default to the
|
// If a file name was given, use it. Otherwise, default to the
|
||||||
// given stream.
|
// given stream.
|
||||||
|
@ -1269,9 +1269,9 @@ bool cmDocumentation::CheckOptions(int argc, const char* const* argv,
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
void cmDocumentation::Print(Form f, std::ostream& os)
|
void cmDocumentation::Print(Form f, int manSection, std::ostream& os)
|
||||||
{
|
{
|
||||||
this->SetForm(f);
|
this->SetForm(f, manSection);
|
||||||
this->Print(os);
|
this->Print(os);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1879,7 +1879,7 @@ void cmDocumentation::CreateFullDocumentation()
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
void cmDocumentation::SetForm(Form f)
|
void cmDocumentation::SetForm(Form f, int manSection)
|
||||||
{
|
{
|
||||||
switch(f)
|
switch(f)
|
||||||
{
|
{
|
||||||
|
@ -1890,6 +1890,7 @@ void cmDocumentation::SetForm(Form f)
|
||||||
this->CurrentFormatter = &this->DocbookFormatter;
|
this->CurrentFormatter = &this->DocbookFormatter;
|
||||||
break;
|
break;
|
||||||
case ManForm:
|
case ManForm:
|
||||||
|
this->ManFormatter.SetManSection(manSection);
|
||||||
this->CurrentFormatter = &this->ManFormatter;
|
this->CurrentFormatter = &this->ManFormatter;
|
||||||
break;
|
break;
|
||||||
case TextForm:
|
case TextForm:
|
||||||
|
|
|
@ -108,7 +108,7 @@ public:
|
||||||
* Print documentation in the given form. All previously added
|
* Print documentation in the given form. All previously added
|
||||||
* sections will be generated.
|
* sections will be generated.
|
||||||
*/
|
*/
|
||||||
void Print(Form f, std::ostream& os);
|
void Print(Form f, int manSection, std::ostream& os);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Print documentation in the current form. All previously added
|
* Print documentation in the current form. All previously added
|
||||||
|
@ -190,7 +190,7 @@ public:
|
||||||
std::vector<cmDocumentationEntry>& commands,
|
std::vector<cmDocumentationEntry>& commands,
|
||||||
cmake* cm);
|
cmake* cm);
|
||||||
private:
|
private:
|
||||||
void SetForm(Form f);
|
void SetForm(Form f, int manSection);
|
||||||
void SetDocName(const char* docname);
|
void SetDocName(const char* docname);
|
||||||
|
|
||||||
bool CreateSingleModule(const char* fname,
|
bool CreateSingleModule(const char* fname,
|
||||||
|
@ -247,11 +247,12 @@ private:
|
||||||
|
|
||||||
struct RequestedHelpItem
|
struct RequestedHelpItem
|
||||||
{
|
{
|
||||||
RequestedHelpItem():HelpForm(TextForm), HelpType(None) {}
|
RequestedHelpItem():HelpForm(TextForm), HelpType(None), ManSection(1) {}
|
||||||
cmDocumentationEnums::Form HelpForm;
|
cmDocumentationEnums::Form HelpForm;
|
||||||
cmDocumentationEnums::Type HelpType;
|
cmDocumentationEnums::Type HelpType;
|
||||||
std::string Filename;
|
std::string Filename;
|
||||||
std::string Argument;
|
std::string Argument;
|
||||||
|
int ManSection;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::vector<RequestedHelpItem> RequestedHelpItems;
|
std::vector<RequestedHelpItem> RequestedHelpItems;
|
||||||
|
|
|
@ -19,9 +19,15 @@
|
||||||
|
|
||||||
cmDocumentationFormatterMan::cmDocumentationFormatterMan()
|
cmDocumentationFormatterMan::cmDocumentationFormatterMan()
|
||||||
:cmDocumentationFormatter()
|
:cmDocumentationFormatter()
|
||||||
|
,ManSection(1)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cmDocumentationFormatterMan::SetManSection(int manSection)
|
||||||
|
{
|
||||||
|
this->ManSection = manSection;
|
||||||
|
}
|
||||||
|
|
||||||
void cmDocumentationFormatterMan
|
void cmDocumentationFormatterMan
|
||||||
::PrintSection(std::ostream& os,
|
::PrintSection(std::ostream& os,
|
||||||
const cmDocumentationSection §ion,
|
const cmDocumentationSection §ion,
|
||||||
|
@ -87,7 +93,7 @@ void cmDocumentationFormatterMan::PrintHeader(const char* docname,
|
||||||
|
|
||||||
this->EscapeText(s_docname);
|
this->EscapeText(s_docname);
|
||||||
this->EscapeText(s_appname);
|
this->EscapeText(s_appname);
|
||||||
os << ".TH " << s_docname << " 1 \""
|
os << ".TH " << s_docname << " " << this->ManSection << " \""
|
||||||
<< cmSystemTools::GetCurrentDateTime("%B %d, %Y").c_str()
|
<< cmSystemTools::GetCurrentDateTime("%B %d, %Y").c_str()
|
||||||
<< "\" \"" << s_appname
|
<< "\" \"" << s_appname
|
||||||
<< " " << cmVersion::GetCMakeVersion()
|
<< " " << cmVersion::GetCMakeVersion()
|
||||||
|
|
|
@ -22,6 +22,8 @@ class cmDocumentationFormatterMan : public cmDocumentationFormatter
|
||||||
public:
|
public:
|
||||||
cmDocumentationFormatterMan();
|
cmDocumentationFormatterMan();
|
||||||
|
|
||||||
|
void SetManSection(int manSection);
|
||||||
|
|
||||||
virtual cmDocumentationEnums::Form GetForm() const
|
virtual cmDocumentationEnums::Form GetForm() const
|
||||||
{ return cmDocumentationEnums::ManForm;}
|
{ return cmDocumentationEnums::ManForm;}
|
||||||
|
|
||||||
|
@ -35,6 +37,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void EscapeText(std::string& man_text);
|
void EscapeText(std::string& man_text);
|
||||||
|
int ManSection;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -418,7 +418,7 @@ int do_cmake(int ac, char** av)
|
||||||
{
|
{
|
||||||
doc.ClearSections();
|
doc.ClearSections();
|
||||||
doc.SetSection("NOTE", cmDocumentationNOTE);
|
doc.SetSection("NOTE", cmDocumentationNOTE);
|
||||||
doc.Print(cmDocumentation::UsageForm, std::cerr);
|
doc.Print(cmDocumentation::UsageForm, 0, std::cerr);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|
Loading…
Reference in New Issue