|
|
|
@ -13,9 +13,13 @@
|
|
|
|
|
|
|
|
|
|
#include "cmSystemTools.h"
|
|
|
|
|
#include "cmVersion.h"
|
|
|
|
|
#include "cmRST.h"
|
|
|
|
|
|
|
|
|
|
#include <cmsys/Directory.hxx>
|
|
|
|
|
#include <cmsys/Glob.hxx>
|
|
|
|
|
|
|
|
|
|
#include <ctype.h>
|
|
|
|
|
|
|
|
|
|
#include <algorithm>
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
@ -101,22 +105,30 @@ bool cmDocumentation::PrintDocumentation(Type ht, std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
case cmDocumentation::Usage:
|
|
|
|
|
return this->PrintDocumentationUsage(os);
|
|
|
|
|
case cmDocumentation::Single:
|
|
|
|
|
case cmDocumentation::SingleModule:
|
|
|
|
|
case cmDocumentation::SinglePolicy:
|
|
|
|
|
case cmDocumentation::SingleProperty:
|
|
|
|
|
case cmDocumentation::SingleVariable:
|
|
|
|
|
case cmDocumentation::List:
|
|
|
|
|
case cmDocumentation::ModuleList:
|
|
|
|
|
case cmDocumentation::PropertyList:
|
|
|
|
|
case cmDocumentation::VariableList:
|
|
|
|
|
case cmDocumentation::PolicyList:
|
|
|
|
|
case cmDocumentation::Modules:
|
|
|
|
|
case cmDocumentation::Policies:
|
|
|
|
|
case cmDocumentation::Properties:
|
|
|
|
|
case cmDocumentation::Variables:
|
|
|
|
|
case cmDocumentation::Commands:
|
|
|
|
|
return false;
|
|
|
|
|
case cmDocumentation::OneManual:
|
|
|
|
|
return this->PrintHelpOneManual(os);
|
|
|
|
|
case cmDocumentation::OneCommand:
|
|
|
|
|
return this->PrintHelpOneCommand(os);
|
|
|
|
|
case cmDocumentation::OneModule:
|
|
|
|
|
return this->PrintHelpOneModule(os);
|
|
|
|
|
case cmDocumentation::OnePolicy:
|
|
|
|
|
return this->PrintHelpOnePolicy(os);
|
|
|
|
|
case cmDocumentation::OneProperty:
|
|
|
|
|
return this->PrintHelpOneProperty(os);
|
|
|
|
|
case cmDocumentation::OneVariable:
|
|
|
|
|
return this->PrintHelpOneVariable(os);
|
|
|
|
|
case cmDocumentation::ListManuals:
|
|
|
|
|
return this->PrintHelpListManuals(os);
|
|
|
|
|
case cmDocumentation::ListCommands:
|
|
|
|
|
return this->PrintHelpListCommands(os);
|
|
|
|
|
case cmDocumentation::ListModules:
|
|
|
|
|
return this->PrintHelpListModules(os);
|
|
|
|
|
case cmDocumentation::ListProperties:
|
|
|
|
|
return this->PrintHelpListProperties(os);
|
|
|
|
|
case cmDocumentation::ListVariables:
|
|
|
|
|
return this->PrintHelpListVariables(os);
|
|
|
|
|
case cmDocumentation::ListPolicies:
|
|
|
|
|
return this->PrintHelpListPolicies(os);
|
|
|
|
|
case cmDocumentation::Version:
|
|
|
|
|
return this->PrintVersion(os);
|
|
|
|
|
default: return false;
|
|
|
|
@ -126,6 +138,7 @@ bool cmDocumentation::PrintDocumentation(Type ht, std::ostream& os)
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintRequestedDocumentation(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
int count = 0;
|
|
|
|
|
bool result = true;
|
|
|
|
|
|
|
|
|
|
// Loop over requested documentation types.
|
|
|
|
@ -152,6 +165,10 @@ bool cmDocumentation::PrintRequestedDocumentation(std::ostream& os)
|
|
|
|
|
result = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if(++count > 1)
|
|
|
|
|
{
|
|
|
|
|
os << "\n\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Print this documentation type to the stream.
|
|
|
|
|
if(!this->PrintDocumentation(i->HelpType, *s) || !*s)
|
|
|
|
@ -287,33 +304,37 @@ bool cmDocumentation::CheckOptions(int argc, const char* const* argv,
|
|
|
|
|
// special case for single command
|
|
|
|
|
if (!help.Argument.empty())
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::Single;
|
|
|
|
|
help.HelpType = cmDocumentation::OneCommand;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-properties") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::Properties;
|
|
|
|
|
help.HelpType = cmDocumentation::OneManual;
|
|
|
|
|
help.Argument = "cmake-properties.7";
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = this->GetFormFromFilename(help.Filename,
|
|
|
|
|
&help.ManSection);
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-policies") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::Policies;
|
|
|
|
|
help.HelpType = cmDocumentation::OneManual;
|
|
|
|
|
help.Argument = "cmake-policies.7";
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = this->GetFormFromFilename(help.Filename,
|
|
|
|
|
&help.ManSection);
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-variables") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::Variables;
|
|
|
|
|
help.HelpType = cmDocumentation::OneManual;
|
|
|
|
|
help.Argument = "cmake-variables.7";
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = this->GetFormFromFilename(help.Filename,
|
|
|
|
|
&help.ManSection);
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-modules") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::Modules;
|
|
|
|
|
help.HelpType = cmDocumentation::OneManual;
|
|
|
|
|
help.Argument = "cmake-modules.7";
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = this->GetFormFromFilename(help.Filename,
|
|
|
|
|
&help.ManSection);
|
|
|
|
@ -327,7 +348,8 @@ bool cmDocumentation::CheckOptions(int argc, const char* const* argv,
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-commands") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::Commands;
|
|
|
|
|
help.HelpType = cmDocumentation::OneManual;
|
|
|
|
|
help.Argument = "cmake-commands.7";
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = this->GetFormFromFilename(help.Filename,
|
|
|
|
|
&help.ManSection);
|
|
|
|
@ -359,7 +381,7 @@ bool cmDocumentation::CheckOptions(int argc, const char* const* argv,
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-command") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::Single;
|
|
|
|
|
help.HelpType = cmDocumentation::OneCommand;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Argument);
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.Argument = cmSystemTools::LowerCase(help.Argument);
|
|
|
|
@ -368,7 +390,7 @@ bool cmDocumentation::CheckOptions(int argc, const char* const* argv,
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-module") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::SingleModule;
|
|
|
|
|
help.HelpType = cmDocumentation::OneModule;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Argument);
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = this->GetFormFromFilename(help.Filename,
|
|
|
|
@ -376,7 +398,7 @@ bool cmDocumentation::CheckOptions(int argc, const char* const* argv,
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-property") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::SingleProperty;
|
|
|
|
|
help.HelpType = cmDocumentation::OneProperty;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Argument);
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = this->GetFormFromFilename(help.Filename,
|
|
|
|
@ -384,7 +406,7 @@ bool cmDocumentation::CheckOptions(int argc, const char* const* argv,
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-policy") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::SinglePolicy;
|
|
|
|
|
help.HelpType = cmDocumentation::OnePolicy;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Argument);
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = this->GetFormFromFilename(help.Filename,
|
|
|
|
@ -392,42 +414,54 @@ bool cmDocumentation::CheckOptions(int argc, const char* const* argv,
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-variable") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::SingleVariable;
|
|
|
|
|
help.HelpType = cmDocumentation::OneVariable;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Argument);
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = this->GetFormFromFilename(help.Filename,
|
|
|
|
|
&help.ManSection);
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-manual") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::OneManual;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Argument);
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
this->WarnFormFromFilename(help);
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-command-list") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::List;
|
|
|
|
|
help.HelpType = cmDocumentation::ListCommands;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = cmDocumentation::TextForm;
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-module-list") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::ModuleList;
|
|
|
|
|
help.HelpType = cmDocumentation::ListModules;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = cmDocumentation::TextForm;
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-property-list") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::PropertyList;
|
|
|
|
|
help.HelpType = cmDocumentation::ListProperties;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = cmDocumentation::TextForm;
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-variable-list") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::VariableList;
|
|
|
|
|
help.HelpType = cmDocumentation::ListVariables;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = cmDocumentation::TextForm;
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-policy-list") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::PolicyList;
|
|
|
|
|
help.HelpType = cmDocumentation::ListPolicies;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
help.HelpForm = cmDocumentation::TextForm;
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--help-manual-list") == 0)
|
|
|
|
|
{
|
|
|
|
|
help.HelpType = cmDocumentation::ListManuals;
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
|
}
|
|
|
|
|
else if(strcmp(argv[i], "--copyright") == 0)
|
|
|
|
|
{
|
|
|
|
|
GET_OPT_ARGUMENT(help.Filename);
|
|
|
|
@ -616,6 +650,217 @@ void cmDocumentation::PrependSection(const char *name,
|
|
|
|
|
this->PrependSection(name,docsVec);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
void cmDocumentation::GlobHelp(std::vector<std::string>& files,
|
|
|
|
|
std::string const& pattern)
|
|
|
|
|
{
|
|
|
|
|
cmsys::Glob gl;
|
|
|
|
|
std::string findExpr = this->CMakeRoot + "/Help/" + pattern + ".rst";
|
|
|
|
|
if(gl.FindFiles(findExpr))
|
|
|
|
|
{
|
|
|
|
|
files = gl.GetFiles();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
void cmDocumentation::PrintNames(std::ostream& os,
|
|
|
|
|
std::string const& pattern)
|
|
|
|
|
{
|
|
|
|
|
std::vector<std::string> files;
|
|
|
|
|
this->GlobHelp(files, pattern);
|
|
|
|
|
std::vector<std::string> names;
|
|
|
|
|
for (std::vector<std::string>::const_iterator i = files.begin();
|
|
|
|
|
i != files.end(); ++i)
|
|
|
|
|
{
|
|
|
|
|
std::string line;
|
|
|
|
|
std::ifstream fin(i->c_str());
|
|
|
|
|
while(fin && cmSystemTools::GetLineFromStream(fin, line))
|
|
|
|
|
{
|
|
|
|
|
if(!line.empty() && (isalnum(line[0]) || line[0] == '<'))
|
|
|
|
|
{
|
|
|
|
|
names.push_back(line);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
std::sort(names.begin(), names.end());
|
|
|
|
|
for (std::vector<std::string>::iterator i = names.begin();
|
|
|
|
|
i != names.end(); ++i)
|
|
|
|
|
{
|
|
|
|
|
os << *i << "\n";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintFiles(std::ostream& os,
|
|
|
|
|
std::string const& pattern)
|
|
|
|
|
{
|
|
|
|
|
bool found = false;
|
|
|
|
|
std::vector<std::string> files;
|
|
|
|
|
this->GlobHelp(files, pattern);
|
|
|
|
|
std::sort(files.begin(), files.end());
|
|
|
|
|
cmRST r(os, this->CMakeRoot + "/Help");
|
|
|
|
|
for (std::vector<std::string>::const_iterator i = files.begin();
|
|
|
|
|
i != files.end(); ++i)
|
|
|
|
|
{
|
|
|
|
|
found = r.ProcessFile(i->c_str()) || found;
|
|
|
|
|
}
|
|
|
|
|
return found;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpOneManual(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
std::string mname = this->CurrentArgument;
|
|
|
|
|
std::string::size_type mlen = mname.length();
|
|
|
|
|
if(mlen > 3 && mname[mlen-3] == '(' &&
|
|
|
|
|
mname[mlen-1] == ')')
|
|
|
|
|
{
|
|
|
|
|
mname = mname.substr(0, mlen-3) + "." + mname[mlen-2];
|
|
|
|
|
}
|
|
|
|
|
if(this->PrintFiles(os, "manual/" + mname) ||
|
|
|
|
|
this->PrintFiles(os, "manual/" + mname + ".[0-9]"))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
// Argument was not a manual. Complain.
|
|
|
|
|
os << "Argument \"" << this->CurrentArgument.c_str()
|
|
|
|
|
<< "\" to --help-manual is not an available manual. "
|
|
|
|
|
<< "Use --help-manual-list to see all available manuals.\n";
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpListManuals(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
this->PrintNames(os, "manual/*");
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpOneCommand(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
std::string cname = cmSystemTools::LowerCase(this->CurrentArgument);
|
|
|
|
|
if(this->PrintFiles(os, "command/" + cname))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
// Argument was not a command. Complain.
|
|
|
|
|
os << "Argument \"" << this->CurrentArgument.c_str()
|
|
|
|
|
<< "\" to --help-command is not a CMake command. "
|
|
|
|
|
<< "Use --help-command-list to see all commands.\n";
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpListCommands(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
this->PrintNames(os, "command/*");
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpOneModule(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
std::string mname = this->CurrentArgument;
|
|
|
|
|
if(this->PrintFiles(os, "module/" + mname))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
// Argument was not a module. Complain.
|
|
|
|
|
os << "Argument \"" << this->CurrentArgument.c_str()
|
|
|
|
|
<< "\" to --help-module is not a CMake module.\n";
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpListModules(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
std::vector<std::string> files;
|
|
|
|
|
this->GlobHelp(files, "module/*");
|
|
|
|
|
std::vector<std::string> modules;
|
|
|
|
|
for (std::vector<std::string>::iterator fi = files.begin();
|
|
|
|
|
fi != files.end(); ++fi)
|
|
|
|
|
{
|
|
|
|
|
std::string module = cmSystemTools::GetFilenameName(*fi);
|
|
|
|
|
modules.push_back(module.substr(0, module.size()-4));
|
|
|
|
|
}
|
|
|
|
|
std::sort(modules.begin(), modules.end());
|
|
|
|
|
for (std::vector<std::string>::iterator i = modules.begin();
|
|
|
|
|
i != modules.end(); ++i)
|
|
|
|
|
{
|
|
|
|
|
os << *i << "\n";
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpOneProperty(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
std::string pname = cmSystemTools::HelpFileName(this->CurrentArgument);
|
|
|
|
|
if(this->PrintFiles(os, "prop_*/" + pname))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
// Argument was not a property. Complain.
|
|
|
|
|
os << "Argument \"" << this->CurrentArgument.c_str()
|
|
|
|
|
<< "\" to --help-property is not a CMake property. "
|
|
|
|
|
<< "Use --help-property-list to see all properties.\n";
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpListProperties(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
this->PrintNames(os, "prop_*/*");
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpOnePolicy(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
std::string pname = this->CurrentArgument;
|
|
|
|
|
std::vector<std::string> files;
|
|
|
|
|
if(this->PrintFiles(os, "policy/" + pname))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Argument was not a policy. Complain.
|
|
|
|
|
os << "Argument \"" << this->CurrentArgument.c_str()
|
|
|
|
|
<< "\" to --help-policy is not a CMake policy.\n";
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpListPolicies(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
this->PrintNames(os, "policy/*");
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpOneVariable(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
std::string vname = cmSystemTools::HelpFileName(this->CurrentArgument);
|
|
|
|
|
if(this->PrintFiles(os, "variable/" + vname))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
// Argument was not a variable. Complain.
|
|
|
|
|
os << "Argument \"" << this->CurrentArgument.c_str()
|
|
|
|
|
<< "\" to --help-variable is not a defined variable. "
|
|
|
|
|
<< "Use --help-variable-list to see all defined variables.\n";
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintHelpListVariables(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|
this->PrintNames(os, "variable/*");
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
bool cmDocumentation::PrintDocumentationUsage(std::ostream& os)
|
|
|
|
|
{
|
|
|
|
|