| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 | 
							- /*=========================================================================
 
-   Program:   CMake - Cross-Platform Makefile Generator
 
-   Module:    $RCSfile$
 
-   Language:  C++
 
-   Date:      $Date$
 
-   Version:   $Revision$
 
-   Copyright (c) 2002 Kitware, Inc., Insight Consortium.  All rights reserved.
 
-   See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
 
-      This software is distributed WITHOUT ANY WARRANTY; without even 
 
-      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
 
-      PURPOSE.  See the above copyright notices for more information.
 
- =========================================================================*/
 
- // Program extracts documentation describing commands from
 
- // the CMake system.
 
- // 
 
- #include "cmake.h"
 
- #include "cmDocumentation.h"
 
- #include "cmVersion.h"
 
- //----------------------------------------------------------------------------
 
- static const cmDocumentationEntry cmDocumentationName[] =
 
- {
 
-   {0,
 
-    "  DumpDocumentation - Dump documentation for CMake.", 0},
 
-   {0,0,0}
 
- };
 
- //----------------------------------------------------------------------------
 
- static const cmDocumentationEntry cmDocumentationUsage[] =
 
- {
 
-   {0,
 
-    "  DumpDocumentation [filename]", 0},
 
-   {0,0,0}
 
- };
 
- //----------------------------------------------------------------------------
 
- static const cmDocumentationEntry cmDocumentationDescription[] =
 
- {
 
-   {0,
 
-    "The \"DumpDocumentation\" executable is only available in the build "
 
-    "tree.  It is used for testing, coverage, and documentation.", 0},
 
-   CMAKE_STANDARD_INTRODUCTION,
 
-   {0,0,0}
 
- };
 
- //----------------------------------------------------------------------------
 
- static const cmDocumentationEntry cmDocumentationOptions[] =
 
- {
 
-   {"--all-for-coverage", "Dump all documentation to stdout.  For testing.", 0},
 
-   {0,0,0}
 
- };
 
- int DumpHTML(const char* outname)
 
- {
 
-   std::ofstream fout(outname);
 
-   if(!fout)
 
-     {
 
-     std::cerr << "failed to open output file: " << outname << "\n";  
 
-     cmSystemTools::ReportLastSystemError("");
 
-     return -1;
 
-     }
 
-   cmake cmi;
 
-   cmDocumentation doc;
 
-   std::vector<cmDocumentationEntry> commands;
 
-   cmi.GetCommandDocumentation(commands);
 
-   cmOStringStream str;
 
-   str << "Documentation for Commands of CMake " 
 
-     << cmVersion::GetCMakeVersion();
 
-   doc.AddSection(str.str().c_str(), &commands[0]);
 
-   doc.Print(cmDocumentation::HTMLForm, fout);
 
-   
 
-   return 0;
 
- }
 
- int DumpForCoverageToStream(std::ostream& out)
 
- {
 
-   cmake cmi;
 
-   cmDocumentation doc;
 
-   std::vector<cmDocumentationEntry> commands;
 
-   std::vector<cmDocumentationEntry> generators;
 
-   cmi.GetCommandDocumentation(commands);
 
-   cmi.GetGeneratorDocumentation(generators);
 
-   doc.SetNameSection(cmDocumentationName);
 
-   doc.SetUsageSection(cmDocumentationUsage);
 
-   doc.SetDescriptionSection(cmDocumentationDescription);
 
-   doc.SetOptionsSection(cmDocumentationOptions);
 
-   doc.SetCommandsSection(&commands[0]);
 
-   doc.SetGeneratorsSection(&generators[0]);
 
-   doc.PrintDocumentation(cmDocumentation::Usage, out);
 
-   doc.PrintDocumentation(cmDocumentation::Full, out);
 
-   doc.PrintDocumentation(cmDocumentation::HTML, out);
 
-   doc.PrintDocumentation(cmDocumentation::Man, out);
 
-   return 0;
 
- }
 
- int DumpForCoverage(const char* outname)
 
- {
 
-   if(outname)
 
-     {
 
-     std::ofstream fout(outname);
 
-     if(!fout)
 
-       {
 
-       std::cerr << "failed to open output file: " << outname << "\n";
 
-       cmSystemTools::ReportLastSystemError("");
 
-       return -1;
 
-       }
 
-     return DumpForCoverageToStream(fout);
 
-     }
 
-   else
 
-     {
 
-     return DumpForCoverageToStream(std::cout);
 
-     }
 
- }
 
- int main(int ac, char** av)
 
- {
 
-   cmSystemTools::EnableMSVCDebugHook();
 
-   const char* outname = "cmake.html";
 
-   bool coverage = false;
 
-   if(ac > 1)
 
-     {
 
-     if(strcmp(av[1], "--all-for-coverage") == 0)
 
-       {
 
-       coverage = true;
 
-       if(ac > 2)
 
-         {
 
-         outname = av[2];
 
-         }
 
-       else
 
-         {
 
-         outname = 0;
 
-         }
 
-       }
 
-     else
 
-       {
 
-       outname = av[1];
 
-       }
 
-     }
 
-   
 
-   if(coverage)
 
-     {
 
-     return DumpForCoverage(outname);
 
-     }
 
-   else
 
-     {
 
-     return DumpHTML(outname);
 
-     }
 
- }
 
 
  |