diff --git a/Source/CursesDialog/ccmake.cxx b/Source/CursesDialog/ccmake.cxx index a9d4d9845..516e44da9 100644 --- a/Source/CursesDialog/ccmake.cxx +++ b/Source/CursesDialog/ccmake.cxx @@ -38,6 +38,18 @@ static const char * cmDocumentationUsage[][2] = {0, " ccmake \n" " ccmake "}, + {0, + "Specify a source directory to (re-)generate a build system for " + "it in the current working directory. Specify an existing build " + "directory to re-generate its build system."}, + {0,0} +}; + +//---------------------------------------------------------------------------- +static const char * cmDocumentationUsageNote[][2] = +{ + {0, + "Run 'ccmake --help' for more information."}, {0,0} }; @@ -102,6 +114,10 @@ int main(int argc, char const* const* argv) doc.SetName("ccmake"); doc.SetSection("Name",cmDocumentationName); doc.SetSection("Usage",cmDocumentationUsage); + if ( argc == 1 ) + { + doc.AppendSection("Usage",cmDocumentationUsageNote); + } doc.SetSection("Generators",generators); doc.PrependSection("Options",cmDocumentationOptions); return doc.PrintRequestedDocumentation(std::cout)? 0:1; diff --git a/Source/cmDocumentation.cxx b/Source/cmDocumentation.cxx index 8d035af38..3ff1017da 100644 --- a/Source/cmDocumentation.cxx +++ b/Source/cmDocumentation.cxx @@ -113,7 +113,9 @@ bool cmDocumentation::PrintDocumentation(Type ht, std::ostream& os) switch (ht) { case cmDocumentation::Usage: - return this->PrintDocumentationUsage(os); + return this->PrintUsage(os); + case cmDocumentation::Help: + return this->PrintHelp(os); case cmDocumentation::Full: return this->PrintHelpFull(os); case cmDocumentation::OneManual: @@ -300,7 +302,7 @@ bool cmDocumentation::CheckOptions(int argc, const char* const* argv, (strcmp(argv[i], "-h") == 0) || (strcmp(argv[i], "-H") == 0)) { - help.HelpType = cmDocumentation::Usage; + help.HelpType = cmDocumentation::Help; GET_OPT_ARGUMENT(help.Argument); help.Argument = cmSystemTools::LowerCase(help.Argument); // special case for single command @@ -841,7 +843,19 @@ bool cmDocumentation::PrintHelpListVariables(std::ostream& os) } //---------------------------------------------------------------------------- -bool cmDocumentation::PrintDocumentationUsage(std::ostream& os) +bool cmDocumentation::PrintUsage(std::ostream& os) +{ + std::map::iterator si; + si = this->AllSections.find("Usage"); + if(si != this->AllSections.end()) + { + this->Formatter.PrintSection(os, *si->second); + } + return true; +} + +//---------------------------------------------------------------------------- +bool cmDocumentation::PrintHelp(std::ostream& os) { std::map::iterator si; si = this->AllSections.find("Usage"); diff --git a/Source/cmDocumentation.h b/Source/cmDocumentation.h index c98e48e17..b72b5fe27 100644 --- a/Source/cmDocumentation.h +++ b/Source/cmDocumentation.h @@ -102,6 +102,8 @@ private: bool PrintFiles(std::ostream& os, std::string const& pattern); bool PrintVersion(std::ostream& os); + bool PrintUsage(std::ostream& os); + bool PrintHelp(std::ostream& os); bool PrintHelpFull(std::ostream& os); bool PrintHelpOneManual(std::ostream& os); bool PrintHelpOneCommand(std::ostream& os); @@ -115,7 +117,6 @@ private: bool PrintHelpListProperties(std::ostream& os); bool PrintHelpListVariables(std::ostream& os); bool PrintHelpListPolicies(std::ostream& os); - bool PrintDocumentationUsage(std::ostream& os); bool PrintOldCustomModules(std::ostream& os); const char* GetNameString() const; diff --git a/Source/cmDocumentationFormatter.h b/Source/cmDocumentationFormatter.h index 61766b944..59513ccb5 100644 --- a/Source/cmDocumentationFormatter.h +++ b/Source/cmDocumentationFormatter.h @@ -26,7 +26,7 @@ public: /** Types of help provided. */ enum Type { - None, Version, Usage, Full, ListManuals, + None, Version, Usage, Help, Full, ListManuals, ListCommands, ListModules, ListProperties, ListVariables, ListPolicies, OneManual, OneCommand, OneModule, OneProperty, OneVariable, OnePolicy, OldCustomModules diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx index 9f9f6bbdd..085f2634f 100644 --- a/Source/cmakemain.cxx +++ b/Source/cmakemain.cxx @@ -42,6 +42,18 @@ static const char * cmDocumentationUsage[][2] = {0, " cmake [options] \n" " cmake [options] "}, + {0, + "Specify a source directory to (re-)generate a build system for " + "it in the current working directory. Specify an existing build " + "directory to re-generate its build system."}, + {0,0} +}; + +//---------------------------------------------------------------------------- +static const char * cmDocumentationUsageNote[][2] = +{ + {0, + "Run 'cmake --help' for more information."}, {0,0} }; @@ -223,6 +235,10 @@ int do_cmake(int ac, char const* const* av) doc.SetName("cmake"); doc.SetSection("Name",cmDocumentationName); doc.SetSection("Usage",cmDocumentationUsage); + if ( ac == 1 ) + { + doc.AppendSection("Usage",cmDocumentationUsageNote); + } doc.AppendSection("Generators",generators); doc.PrependSection("Options",cmDocumentationOptions);