diff options
author | Alexander Neundorf <neundorf@kde.org> | 2007-06-22 12:44:51 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2007-06-22 12:44:51 (GMT) |
commit | 1d9889c5d34d83b269697c0b09e840bf83066e6f (patch) | |
tree | e1aed919ac0b90dc4a25ac02a8d2cbee69a79977 /Source/cmDocumentation.cxx | |
parent | 1383368628411f3834e2e29e81be306db74c610f (diff) | |
download | CMake-1d9889c5d34d83b269697c0b09e840bf83066e6f.zip CMake-1d9889c5d34d83b269697c0b09e840bf83066e6f.tar.gz CMake-1d9889c5d34d83b269697c0b09e840bf83066e6f.tar.bz2 |
ENH: put compatibility commands in extra section and prepare for creating
separate man pages for properties, modules, commands and compatibility
commands
Alex
Diffstat (limited to 'Source/cmDocumentation.cxx')
-rw-r--r-- | Source/cmDocumentation.cxx | 106 |
1 files changed, 102 insertions, 4 deletions
diff --git a/Source/cmDocumentation.cxx b/Source/cmDocumentation.cxx index 16ae84b..0c1a472 100644 --- a/Source/cmDocumentation.cxx +++ b/Source/cmDocumentation.cxx @@ -44,6 +44,48 @@ static const cmDocumentationEntry cmDocumentationStandardOptions[] = }; //---------------------------------------------------------------------------- +static const cmDocumentationEntry cmModulesDocumentationDescription[] = +{ + {0, + " CMake Modules - Modules coming with CMake, the Cross-Platform Makefile Generator.", 0}, +// CMAKE_DOCUMENTATION_OVERVIEW, + {0, + "This is the documentation for the modules and scripts coming with CMake. " + "Using these modules you can check the computer system for " + "installed software packages, features of the compiler and the " + "existance of headers to name just a few.", 0}, + {0,0,0} +}; + +//---------------------------------------------------------------------------- +static const cmDocumentationEntry cmPropertiesDocumentationDescription[] = +{ + {0, + " CMake Properties - Properties supported by CMake, the Cross-Platform Makefile Generator.", 0}, +// CMAKE_DOCUMENTATION_OVERVIEW, + {0, + "This is the documentation for the properties supported by CMake. " + "Properties can have different scopes. They can either be assigned to a source file, " + "a directory, a target or globally to CMake. " + "By modifying the values of properties the behaviour of the buildsystem can be " + "customized.", 0}, + {0,0,0} +}; + +//---------------------------------------------------------------------------- +static const cmDocumentationEntry cmCompatCommandsDocumentationDescription[] = +{ + {0, + " CMake Compatibility Listfile Commands - Obsolete commands supported by CMake for compatibility.", 0}, +// CMAKE_DOCUMENTATION_OVERVIEW, + {0, + "This is the documentation for now obsolete listfile commands from " + "previous CMake versions, which are still supported for compatibility reasons. " + "You should instead use the newer, faster and shinier new commands. ;-)", 0}, + {0,0,0} +}; + +//---------------------------------------------------------------------------- static const cmDocumentationEntry cmDocumentationCommandsHeader[] = { {0, @@ -229,10 +271,10 @@ void cmDocumentation::AddSection(const char* name, void cmDocumentation::AddSection(const cmSection& section) { if (!section.IsEmpty()) - { - this->Names.push_back(section.GetName(this->CurrentForm)); - this->Sections.push_back(section.GetEntries()); - } + { + this->Names.push_back(section.GetName(this->CurrentForm)); + this->Sections.push_back(section.GetEntries()); + } } //---------------------------------------------------------------------------- @@ -637,6 +679,13 @@ void cmDocumentation::SetCommandsSection(const cmDocumentationEntry* section) } //---------------------------------------------------------------------------- +void cmDocumentation::SetCompatCommandsSection(const cmDocumentationEntry* + section) +{ + this->CompatCommandsSection.Set(cmDocumentationCommandsHeader, section, 0); +} + +//---------------------------------------------------------------------------- void cmDocumentation ::SetPropertiesSection(const cmDocumentationEntry* section) { @@ -1171,6 +1220,16 @@ bool cmDocumentation::PrintDocumentationSingle(std::ostream& os) return true; } } + for(cmDocumentationEntry* entry = this->CompatCommandsSection.GetEntries(); + entry->brief; ++entry) + { + if(entry->name && this->SingleCommand == entry->name) + { + this->PrintDocumentationCommand(os, entry); + return true; + } + } + // Argument was not a command. Complain. os << "Argument \"" << this->SingleCommand.c_str() << "\" to --help-command is not a CMake command. " @@ -1380,6 +1439,7 @@ void cmDocumentation::CreateFullDocumentation() this->AddSection(this->OptionsSection); this->AddSection(this->GeneratorsSection); this->AddSection(this->CommandsSection); + this->AddSection(this->CompatCommandsSection); this->AddSection(this->ModulesSection); this->AddSection(this->PropertiesSection); this->AddSection(this->CopyrightSection.GetName(this->CurrentForm), @@ -1398,6 +1458,44 @@ void cmDocumentation::CreateFullDocumentation() } } +void cmDocumentation::CreateCurrentCommandDocumentation() +{ + this->ClearSections(); + this->AddSection(this->DescriptionSection.GetName(CurrentForm), cmCompatCommandsDocumentationDescription); + this->AddSection(this->CompatCommandsSection); + this->AddSection(this->CopyrightSection.GetName(CurrentForm), cmDocumentationCopyright); + this->AddSection(this->SeeAlsoSection.GetName(CurrentForm), cmDocumentationStandardSeeAlso); +} + +void cmDocumentation::CreateCompatCommandDocumentation() +{ + this->ClearSections(); + this->AddSection(this->DescriptionSection.GetName(CurrentForm), cmCompatCommandsDocumentationDescription); + this->AddSection(this->CompatCommandsSection); + this->AddSection(this->CopyrightSection.GetName(CurrentForm), cmDocumentationCopyright); + this->AddSection(this->SeeAlsoSection.GetName(CurrentForm), cmDocumentationStandardSeeAlso); +} + +//---------------------------------------------------------------------------- +void cmDocumentation::CreateModulesDocumentation() + { + this->ClearSections(); + this->AddSection(this->DescriptionSection.GetName(CurrentForm), cmModulesDocumentationDescription); + this->AddSection(this->ModulesSection); + this->AddSection(this->CopyrightSection.GetName(CurrentForm), cmDocumentationCopyright); + this->AddSection(this->SeeAlsoSection.GetName(CurrentForm), cmDocumentationStandardSeeAlso); +} + +//---------------------------------------------------------------------------- +void cmDocumentation::CreatePropertiesDocumentation() +{ + this->ClearSections(); + this->AddSection(this->DescriptionSection.GetName(CurrentForm), cmPropertiesDocumentationDescription); + this->AddSection(this->PropertiesSection); + this->AddSection(this->CopyrightSection.GetName(CurrentForm), cmDocumentationCopyright); + this->AddSection(this->SeeAlsoSection.GetName(CurrentForm), cmDocumentationStandardSeeAlso); +} + //---------------------------------------------------------------------------- void cmDocumentation::cmSection::Set(const cmDocumentationEntry* header, const cmDocumentationEntry* section, |