소스 검색

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

Brad King 22 년 전
부모
커밋
b78888fe38
5개의 변경된 파일32개의 추가작업 그리고 4개의 파일을 삭제
  1. 1 0
      Source/CursesDialog/ccmake.cxx
  2. 1 0
      Source/MFCDialog/CMakeSetup.cpp
  3. 23 4
      Source/cmDocumentation.cxx
  4. 6 0
      Source/cmDocumentation.h
  5. 1 0
      Source/cmakemain.cxx

+ 1 - 0
Source/CursesDialog/ccmake.cxx

@@ -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);

+ 1 - 0
Source/MFCDialog/CMakeSetup.cpp

@@ -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);

+ 23 - 4
Source/cmDocumentation.cxx

@@ -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";
+    }
+}

+ 6 - 0
Source/cmDocumentation.h

@@ -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;

+ 1 - 0
Source/cmakemain.cxx

@@ -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);