summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2003-07-23 17:40:10 -0400
committerBrad King <brad.king@kitware.com>2003-07-23 17:40:10 -0400
commit5a1d6f28667ca4fb200b948c5a7c1d9fa2dead83 (patch)
tree0f45a37d248e680208263e52a2819162b40643f3
parentae84581f86b2c347431eff4256c856764006a508 (diff)
downloadcmake-5a1d6f28667ca4fb200b948c5a7c1d9fa2dead83.tar.gz
ENH: Added support for documentation options.
-rw-r--r--Source/MFCDialog/CMakeSetup.cpp67
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)