ENH:Simple program dumps out internal documentation for CMake
This commit is contained in:
parent
ca9099b551
commit
b3480795c4
|
@ -0,0 +1,12 @@
|
||||||
|
// Program extracts documentation describing rules from
|
||||||
|
// the CMake system.
|
||||||
|
//
|
||||||
|
#include "cmMakefile.h"
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
cmMakefile makefile;
|
||||||
|
makefile.DumpDocumentationToFile("cmake.txt");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -372,3 +372,34 @@ const char* cmMakefile::GetDefinition(const char* name)
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cmMakefile::DumpDocumentationToFile(const char *fileName)
|
||||||
|
{
|
||||||
|
// Open the supplied filename
|
||||||
|
std::ofstream f;
|
||||||
|
f.open(fileName, std::ios::out);
|
||||||
|
|
||||||
|
if ( f.fail() )
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loop over all registered rules and print out documentation
|
||||||
|
const char *name;
|
||||||
|
const char *terse;
|
||||||
|
const char *full;
|
||||||
|
|
||||||
|
for(StringRuleMakerMap::iterator j = m_RuleMakers.begin();
|
||||||
|
j != m_RuleMakers.end(); ++j)
|
||||||
|
{
|
||||||
|
name = (*j).second->GetName();
|
||||||
|
terse = (*j).second->TerseDocumentation();
|
||||||
|
full = (*j).second->FullDocumentation();
|
||||||
|
f << name << " - " << terse << std::endl
|
||||||
|
<< "\t" << full << std::endl << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -300,6 +300,12 @@ public:
|
||||||
const char* GetDefineFlags()
|
const char* GetDefineFlags()
|
||||||
{return m_DefineFlags.c_str();}
|
{return m_DefineFlags.c_str();}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dump documentation to a file. If 0 is returned, the
|
||||||
|
* operation failed.
|
||||||
|
*/
|
||||||
|
int DumpDocumentationToFile(const char *fileName);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool m_Executables;
|
bool m_Executables;
|
||||||
std::string m_Prefix;
|
std::string m_Prefix;
|
||||||
|
|
Loading…
Reference in New Issue