diff options
author | Brad King <brad.king@kitware.com> | 2003-07-23 17:40:10 -0400 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2003-07-23 17:40:10 -0400 |
commit | 5a1d6f28667ca4fb200b948c5a7c1d9fa2dead83 (patch) | |
tree | 0f45a37d248e680208263e52a2819162b40643f3 | |
parent | ae84581f86b2c347431eff4256c856764006a508 (diff) | |
download | cmake-5a1d6f28667ca4fb200b948c5a7c1d9fa2dead83.tar.gz |
ENH: Added support for documentation options.
-rw-r--r-- | Source/MFCDialog/CMakeSetup.cpp | 67 |
1 files changed, 65 insertions, 2 deletions
diff --git a/Source/MFCDialog/CMakeSetup.cpp b/Source/MFCDialog/CMakeSetup.cpp index 6dea7bff0b..32a293d41d 100644 --- a/Source/MFCDialog/CMakeSetup.cpp +++ b/Source/MFCDialog/CMakeSetup.cpp @@ -5,6 +5,50 @@ #include "CMakeSetup.h" #include "CMakeSetupDialog.h" #include "CMakeCommandLineInfo.h" +#include "../cmDocumentation.h" +#include "../cmake.h" + + +//---------------------------------------------------------------------------- +static const cmDocumentationEntry cmDocumentationName[] = +{ + {0, + " CMakeSetup - CMake Windows GUI.", 0}, + {0,0,0} +}; + +//---------------------------------------------------------------------------- +static const cmDocumentationEntry cmDocumentationUsage[] = +{ + {0, + " CMakeSetup [options]\n" + " CMakeSetup [options] <path-to-source>\n" + " CMakeSetup [options] <path-to-build>", 0}, + {0,0,0} +}; + +//---------------------------------------------------------------------------- +static const cmDocumentationEntry cmDocumentationDescription[] = +{ + {0, + "The \"CMakeSetup\" executable is the CMake Windows GUI. Project " + "configuration settings may be specified interactively. " + "Brief instructions are provided at the bottom of the " + "window when the program is running.", 0}, + CMAKE_STANDARD_INTRODUCTION, + {0,0,0} +}; + +//---------------------------------------------------------------------------- +static const cmDocumentationEntry cmDocumentationOptions[] = +{ + {"-A[on|off]", "Enable/disable display of advanced cache values.", + "There are two categories of CMake cache values: non-advanced and " + "advanced. Most users will not need to change the advanced options. " + "The CMakeSetup GUI contains a checkbox to enable/disable display of " + "advanced options. This command line flag changes its default setting."}, + {0,0,0} +}; #ifdef _DEBUG #define new DEBUG_NEW @@ -57,9 +101,28 @@ BOOL CMakeSetup::InitInstance() #endif CMakeCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); - + + // Check for documentation options. + cmDocumentation doc; + if(doc.CheckOptions(cmdInfo.GetArgC(), cmdInfo.GetArgV())) + { + // Construct and print requested documentation. + cmake hcm; + std::vector<cmDocumentationEntry> commands; + std::vector<cmDocumentationEntry> generators; + hcm.GetCommandDocumentation(commands); + hcm.GetGeneratorDocumentation(generators); + doc.SetNameSection(cmDocumentationName); + doc.SetUsageSection(cmDocumentationUsage); + doc.SetDescriptionSection(cmDocumentationDescription); + doc.SetGeneratorsSection(&generators[0]); + doc.SetOptionsSection(cmDocumentationOptions); + doc.SetCommandsSection(&commands[0]); + return (doc.PrintRequestedDocumentation(std::cout)? 0:1); + } + CMakeSetupDialog dlg(cmdInfo); - + m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) |