ENH: Added configuration of name of executable in man page header and version banner.

This commit is contained in:
Brad King 2003-08-06 14:49:52 -04:00
parent f86ffd72ca
commit b78888fe38
5 changed files with 32 additions and 4 deletions

View File

@ -102,6 +102,7 @@ int main(int argc, char** argv)
cmake hcm;
std::vector<cmDocumentationEntry> commands;
hcm.GetCommandDocumentation(commands);
doc.SetName("ccmake");
doc.SetNameSection(cmDocumentationName);
doc.SetUsageSection(cmDocumentationUsage);
doc.SetDescriptionSection(cmDocumentationDescription);

View File

@ -112,6 +112,7 @@ BOOL CMakeSetup::InitInstance()
std::vector<cmDocumentationEntry> generators;
hcm.GetCommandDocumentation(commands);
hcm.GetGeneratorDocumentation(generators);
doc.SetName("CMakeSetup");
doc.SetNameSection(cmDocumentationName);
doc.SetUsageSection(cmDocumentationUsage);
doc.SetDescriptionSection(cmDocumentationDescription);

View File

@ -73,7 +73,7 @@ const cmDocumentationEntry cmDocumentationMailingList[] =
const cmDocumentationEntry cmDocumentationAuthor[] =
{
{0,
"This manual page was generated by \"cmake --help-man\".", 0},
"This manual page was generated by the \"--help-man\" option.", 0},
{0,0,0}
};
@ -151,7 +151,7 @@ void cmDocumentation::PrintCopyright(std::ostream& os)
//----------------------------------------------------------------------------
void cmDocumentation::PrintVersion(std::ostream& os)
{
os << "CMake version " CMake_VERSION_FULL "\n";
os << this->GetNameString() << " version " CMake_VERSION_FULL "\n";
}
//----------------------------------------------------------------------------
@ -327,6 +327,12 @@ void cmDocumentation::Print(Form f, std::ostream& os)
}
}
//----------------------------------------------------------------------------
void cmDocumentation::SetName(const char* name)
{
this->NameString = name?name:"";
}
//----------------------------------------------------------------------------
void cmDocumentation::SetNameSection(const cmDocumentationEntry* section)
{
@ -806,9 +812,9 @@ void cmDocumentation::PrintDocumentationHTML(std::ostream& os)
void cmDocumentation::PrintDocumentationMan(std::ostream& os)
{
this->CreateManDocumentation();
os << ".TH CMake 1 \""
os << ".TH " << this->GetNameString() << " 1 \""
<< cmSystemTools::GetCurrentDateTime("%B %d, %Y").c_str()
<< "\" \"CMake " CMake_VERSION_FULL "\"\n";
<< "\" \"" << this->GetNameString() << " " CMake_VERSION_FULL "\"\n";
this->Print(ManForm, os);
}
@ -944,3 +950,16 @@ void cmDocumentation::SetSection(const cmDocumentationEntry* header,
cmDocumentationEntry empty = {0,0,0};
vec.push_back(empty);
}
//----------------------------------------------------------------------------
const char* cmDocumentation::GetNameString()
{
if(this->NameString.length() > 0)
{
return this->NameString.c_str();
}
else
{
return "CMake";
}
}

View File

@ -50,6 +50,10 @@ public:
void PrintDocumentation(Type ht, std::ostream& os);
/** Set the program name for standard document generation. */
void SetName(const char* name);
/** Set the program name section for standard document
* generation. */
void SetNameSection(const cmDocumentationEntry*);
/** Set the program usage for standard document generation. */
@ -134,7 +138,9 @@ private:
const cmDocumentationEntry* section,
const cmDocumentationEntry* footer,
std::vector<cmDocumentationEntry>&);
const char* GetNameString();
std::string NameString;
std::vector<cmDocumentationEntry> NameSection;
std::vector<cmDocumentationEntry> UsageSection;
std::vector<cmDocumentationEntry> DescriptionSection;

View File

@ -113,6 +113,7 @@ int do_cmake(int ac, char** av)
std::vector<cmDocumentationEntry> generators;
hcm.GetCommandDocumentation(commands);
hcm.GetGeneratorDocumentation(generators);
doc.SetName("cmake");
doc.SetNameSection(cmDocumentationName);
doc.SetUsageSection(cmDocumentationUsage);
doc.SetDescriptionSection(cmDocumentationDescription);