summaryrefslogtreecommitdiffstats
path: root/Source/cmDocumentation.cxx
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2007-10-09 13:55:42 (GMT)
committerKen Martin <ken.martin@kitware.com>2007-10-09 13:55:42 (GMT)
commit18ce24c7486fedc792276721515c9ddefc62ebee (patch)
tree527cfa357957b02432cdabea88c918948ac6f37a /Source/cmDocumentation.cxx
parentb02cbf5fadd70bf173882a1eca94e1d74d640248 (diff)
downloadCMake-18ce24c7486fedc792276721515c9ddefc62ebee.zip
CMake-18ce24c7486fedc792276721515c9ddefc62ebee.tar.gz
CMake-18ce24c7486fedc792276721515c9ddefc62ebee.tar.bz2
ENH: make documentation entries actually store their data
Diffstat (limited to 'Source/cmDocumentation.cxx')
-rw-r--r--Source/cmDocumentation.cxx215
1 files changed, 109 insertions, 106 deletions
diff --git a/Source/cmDocumentation.cxx b/Source/cmDocumentation.cxx
index 6c54254..89a86c2 100644
--- a/Source/cmDocumentation.cxx
+++ b/Source/cmDocumentation.cxx
@@ -21,7 +21,7 @@
#include <cmsys/Directory.hxx>
-const cmDocumentationEntry cmDocumentation::cmSection::EmptySection ={0,0,0};
+const cmDocumentationEntry cmDocumentation::cmSection::EmptySection ={"","",""};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationStandardOptions[] =
@@ -43,165 +43,165 @@ static const cmDocumentationEntry cmDocumentationStandardOptions[] =
"If a file is specified, the help is written into it."},
{"--version [file]", "Show program name/version banner and exit.",
"If a file is specified, the version is written into it."},
- {0,0,0}
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmModulesDocumentationDescription[] =
{
- {0,
+ {"",
" CMake Modules - Modules coming with CMake, the Cross-Platform Makefile "
- "Generator.", 0},
+ "Generator.", ""},
// 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}
+ "existance of headers to name just a few.", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmCustomModulesDocumentationDescription[] =
{
- {0,
- " Custom CMake Modules - Additional Modules for CMake.", 0},
+ {"",
+ " Custom CMake Modules - Additional Modules for CMake.", ""},
// CMAKE_DOCUMENTATION_OVERVIEW,
- {0,
+ {"",
"This is the documentation for additional modules and scripts for 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}
+ "existance of headers to name just a few.", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmPropertiesDocumentationDescription[] =
{
- {0,
+ {"",
" CMake Properties - Properties supported by CMake, "
- "the Cross-Platform Makefile Generator.", 0},
+ "the Cross-Platform Makefile Generator.", ""},
// 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},
+ "Obsolete commands supported by CMake for compatibility.", ""},
// 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}
+ "should instead use the newer, faster and shinier new commands. ;-)", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationCommandsHeader[] =
{
- {0,
- "The following commands are available in CMakeLists.txt code:", 0},
- {0,0,0}
+ {"",
+ "The following commands are available in CMakeLists.txt code:", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationGlobalPropertiesHeader[] =
{
- {0,
- "The following global properties are available in CMakeLists.txt code:", 0},
- {0,0,0}
+ {"",
+ "The following global properties are available in CMakeLists.txt code:", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationDirectoryPropertiesHeader[] =
{
- {0
+ {""
,"The following directory properties are available in CMakeLists.txt code:"
- ,0},
- {0,0,0}
+ ,""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationTargetPropertiesHeader[] =
{
- {0,
- "The following target properties are available in CMakeLists.txt code:", 0},
- {0,0,0}
+ {"",
+ "The following target properties are available in CMakeLists.txt code:", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationTestPropertiesHeader[] =
{
- {0
+ {""
,"The following properties for tests are available in CMakeLists.txt code:"
- ,0},
- {0,0,0}
+ ,""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationSourceFilePropertiesHeader[] =
{
- {0
+ {""
,"The following source file properties are available in CMakeLists.txt code:"
- , 0},
- {0,0,0}
+ , ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationVariablePropertiesHeader[] =
{
- {0, "The following variables are available in CMakeLists.txt code:", 0},
- {0,0,0}
+ {"", "The following variables are available in CMakeLists.txt code:", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry
cmDocumentationCachedVariablePropertiesHeader[] =
{
- {0,"The following cache variables are available in CMakeLists.txt code:", 0},
- {0,0,0}
+ {"","The following cache variables are available in CMakeLists.txt code:", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationModulesHeader[] =
{
- {0,
+ {"",
"The following modules are provided with CMake. "
- "They can be used with INCLUDE(ModuleName).", 0},
- {0,0,0}
+ "They can be used with INCLUDE(ModuleName).", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationCustomModulesHeader[] =
{
- {0,
+ {"",
"The following modules are also available for CMake. "
- "They can be used with INCLUDE(ModuleName).", 0},
- {0,0,0}
+ "They can be used with INCLUDE(ModuleName).", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationGeneratorsHeader[] =
{
- {0,
- "The following generators are available on this platform:", 0},
- {0,0,0}
+ {"",
+ "The following generators are available on this platform:", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationStandardSeeAlso[] =
{
- {0,
- "The following resources are available to get help using CMake:", 0},
+ {"",
+ "The following resources are available to get help using CMake:", ""},
{"Home Page",
"http://www.cmake.org",
"The primary starting point for learning about CMake."},
@@ -218,51 +218,51 @@ static const cmDocumentationEntry cmDocumentationStandardSeeAlso[] =
"The list is member-post-only but one may sign up on the CMake web page. "
"Please first read the full documentation at "
"http://www.cmake.org before posting questions to the list."},
- {0,
+ {"",
"Summary of helpful links:\n"
" Home: http://www.cmake.org\n"
" Docs: http://www.cmake.org/HTML/Documentation.html\n"
" Mail: http://www.cmake.org/HTML/MailingLists.html\n"
" FAQ: http://www.cmake.org/Wiki/CMake_FAQ\n"
- , 0},
- {0,0,0}
+ , ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
const cmDocumentationEntry cmDocumentationAuthor[] =
{
- {0,
- "This manual page was generated by the \"--help-man\" option.", 0},
- {0,0,0}
+ {"",
+ "This manual page was generated by the \"--help-man\" option.", ""},
+ {"","",""}
};
//----------------------------------------------------------------------------
const cmDocumentationEntry cmDocumentationCopyright[] =
{
- {0,
+ {"",
"Copyright (c) 2002 Kitware, Inc., Insight Consortium. "
- "All rights reserved.", 0},
- {0,
+ "All rights reserved.", ""},
+ {"",
"Redistribution and use in source and binary forms, with or without "
"modification, are permitted provided that the following conditions are "
- "met:", 0},
+ "met:", ""},
{"",
"Redistributions of source code must retain the above copyright notice, "
- "this list of conditions and the following disclaimer.", 0},
+ "this list of conditions and the following disclaimer.", ""},
{"",
"Redistributions in binary form must reproduce the above copyright "
"notice, this list of conditions and the following disclaimer in the "
"documentation and/or other materials provided with the distribution.",
- 0},
+ ""},
{"",
"The names of Kitware, Inc., the Insight Consortium, or the names of "
"any consortium members, or of any contributors, may not be used to "
"endorse or promote products derived from this software without "
- "specific prior written permission.", 0},
+ "specific prior written permission.", ""},
{"",
"Modified source versions must be plainly marked as such, and must "
- "not be misrepresented as being the original software.", 0},
- {0,
+ "not be misrepresented as being the original software.", ""},
+ {"",
"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "
"``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT "
"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR "
@@ -273,8 +273,8 @@ const cmDocumentationEntry cmDocumentationCopyright[] =
"PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF "
"LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING "
"NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS "
- "SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", 0},
- {0, 0, 0}
+ "SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", ""},
+ {"", "", ""}
};
//----------------------------------------------------------------------------
@@ -332,18 +332,18 @@ cmDocumentation::~cmDocumentation()
bool cmDocumentation::PrintCopyright(std::ostream& os)
{
for(const cmDocumentationEntry* op = cmDocumentationCopyright;
- op->brief; ++op)
+ op->brief.size(); ++op)
{
- if(op->name)
+ if(op->name.size())
{
os << " * ";
this->TextFormatter.SetIndent(" ");
- this->TextFormatter.PrintColumn(os, op->brief);
+ this->TextFormatter.PrintColumn(os, op->brief.c_str());
}
else
{
this->TextFormatter.SetIndent("");
- this->TextFormatter.PrintColumn(os, op->brief);
+ this->TextFormatter.PrintColumn(os, op->brief.c_str());
}
os << "\n";
}
@@ -441,7 +441,7 @@ bool cmDocumentation::CreateModulesSection()
{
this->ModulesSection.Append(cmDocumentationModulesHeader[0]);
this->CreateModuleDocsForDir(dir, this->ModulesSection);
- cmDocumentationEntry e = { 0, 0, 0 };
+ cmDocumentationEntry e = { "", "", "" };
this->ModulesSection.Append(e);
}
return true;
@@ -475,7 +475,7 @@ bool cmDocumentation::CreateCustomModulesSection()
if(sectionHasHeader)
{
- cmDocumentationEntry e = { 0, 0, 0 };
+ cmDocumentationEntry e = { "", "", "" };
this->CustomModulesSection.Append(e);
}
return true;
@@ -927,20 +927,20 @@ void cmDocumentation::SetSeeAlsoList(const cmDocumentationEntry* also)
{
this->SeeAlsoSection.Clear();
this->SeeAlsoString = ".B ";
- for(const cmDocumentationEntry* i = also; i->brief; ++i)
+ for(const cmDocumentationEntry* i = also; i->brief.size(); ++i)
{
this->SeeAlsoString += i->brief;
- this->SeeAlsoString += (i+1)->brief? "(1), ":"(1)";
+ this->SeeAlsoString += (i+1)->brief.size() ? "(1), ":"(1)";
}
- cmDocumentationEntry e = {0, 0, 0};
+ cmDocumentationEntry e = {"", "", ""};
e.brief = this->SeeAlsoString.c_str();
this->SeeAlsoSection.Append(e);
for(const cmDocumentationEntry* i = cmDocumentationStandardSeeAlso;
- i->brief; ++i)
+ i->brief.size(); ++i)
{
this->SeeAlsoSection.Append(*i);
}
- e.brief = 0;
+ e.brief = "";
this->SeeAlsoSection.Append(e);
}
@@ -958,9 +958,9 @@ bool cmDocumentation::PrintDocumentationSingle(std::ostream& os)
return false;
}
for(const cmDocumentationEntry* entry = this->CommandsSection.GetEntries();
- entry->brief; ++entry)
+ entry->brief.size(); ++entry)
{
- if(entry->name && this->CurrentArgument == entry->name)
+ if(entry->name.size() && this->CurrentArgument == entry->name)
{
this->PrintDocumentationCommand(os, entry);
return true;
@@ -968,10 +968,10 @@ bool cmDocumentation::PrintDocumentationSingle(std::ostream& os)
}
for(const cmDocumentationEntry*
entry = this->CompatCommandsSection.GetEntries();
- entry->brief;
+ entry->brief.size();
++entry)
{
- if(entry->name && this->CurrentArgument == entry->name)
+ if(entry->name.size() && this->CurrentArgument == entry->name)
{
this->PrintDocumentationCommand(os, entry);
return true;
@@ -1061,9 +1061,10 @@ bool cmDocumentation::PrintDocumentationSingleProperty(std::ostream& os)
++sectionIt)
{
for(const cmDocumentationEntry*
- entry = sectionIt->second->GetEntries(); entry->brief; ++entry)
+ entry = sectionIt->second->GetEntries(); entry->brief.size();
+ ++entry)
{
- if(entry->name && this->CurrentArgument == entry->name)
+ if(entry->name.size() && this->CurrentArgument == entry->name)
{
this->PrintDocumentationCommand(os, entry);
return true;
@@ -1086,9 +1087,9 @@ bool cmDocumentation::PrintDocumentationList(std::ostream& os)
return false;
}
for(const cmDocumentationEntry* entry = this->CommandsSection.GetEntries();
- entry->brief; ++entry)
+ entry->brief.size(); ++entry)
{
- if(entry->name)
+ if(entry->name.size())
{
os << entry->name << std::endl;
}
@@ -1096,10 +1097,10 @@ bool cmDocumentation::PrintDocumentationList(std::ostream& os)
os << "\nCompatibility commands:" << std::endl;
for(const cmDocumentationEntry*
entry = this->CompatCommandsSection.GetEntries();
- entry->brief;
+ entry->brief.size();
++entry)
{
- if(entry->name)
+ if(entry->name.size())
{
os << entry->name << std::endl;
}
@@ -1117,10 +1118,10 @@ bool cmDocumentation::PrintPropertyList(std::ostream& os)
}
for(const cmDocumentationEntry*
entry = this->GlobalPropertiesSection.GetEntries();
- entry->brief;
+ entry->brief.size();
++entry)
{
- if(entry->name)
+ if(entry->name.size())
{
os << entry->name << std::endl;
}
@@ -1132,9 +1133,10 @@ bool cmDocumentation::PrintPropertyList(std::ostream& os)
++sectionIt)
{
for(const cmDocumentationEntry*
- entry = sectionIt->second->GetEntries(); entry->brief; ++entry)
+ entry = sectionIt->second->GetEntries();
+ entry->brief.size(); ++entry)
{
- if(entry->name)
+ if(entry->name.size())
{
os << entry->name << std::endl;
}
@@ -1155,9 +1157,9 @@ bool cmDocumentation::PrintModuleList(std::ostream& os)
return false;
}
for(const cmDocumentationEntry* entry = this->ModulesSection.GetEntries();
- entry->brief; ++entry)
+ entry->brief.size(); ++entry)
{
- if(entry->name)
+ if(entry->name.size())
{
os << entry->name << std::endl;
}
@@ -1167,9 +1169,10 @@ bool cmDocumentation::PrintModuleList(std::ostream& os)
{
os << "\nCUSTOM MODULES\n" << std::endl;
for(const cmDocumentationEntry*
- entry = this->CustomModulesSection.GetEntries(); entry->brief; ++entry)
+ entry = this->CustomModulesSection.GetEntries();
+ entry->brief.size(); ++entry)
{
- if(entry->name)
+ if(entry->name.size())
{
os << entry->name << std::endl;
}
@@ -1253,7 +1256,7 @@ void cmDocumentation::PrintDocumentationCommand(std::ostream& os,
cmDocumentationEntry singleCommandSection[3] =
{
{entry->name, entry->brief, entry->full},
- {0,0,0}
+ {"","",""}
};
this->ClearSections();
this->AddSection(0, &singleCommandSection[0]);
@@ -1407,26 +1410,26 @@ void cmDocumentation::cmSection::Set(const cmDocumentationEntry* header,
this->Entries.erase(this->Entries.begin(), this->Entries.end());
if(header)
{
- for(const cmDocumentationEntry* op = header; op->brief; ++op)
+ for(const cmDocumentationEntry* op = header; op->brief.size(); ++op)
{
this->Entries.push_back(*op);
}
}
if(section)
{
- for(const cmDocumentationEntry* op = section; op->brief; ++op)
+ for(const cmDocumentationEntry* op = section; op->brief.size(); ++op)
{
this->Entries.push_back(*op);
}
}
if(footer)
{
- for(const cmDocumentationEntry* op = footer; op->brief; ++op)
+ for(const cmDocumentationEntry* op = footer; op->brief.size(); ++op)
{
this->Entries.push_back(*op);
}
}
- cmDocumentationEntry empty = {0,0,0};
+ cmDocumentationEntry empty = {"","",""};
this->Entries.push_back(empty);
}