summaryrefslogtreecommitdiffstats
path: root/Source/cmDocumentation.h
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2007-07-02 15:24:44 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2007-07-02 15:24:44 (GMT)
commit611f86b7f6ba92c9e7eaa589dcda337407d84415 (patch)
tree3ca9d655d656e20eadce912062c5429f865d37a9 /Source/cmDocumentation.h
parent55fa3825c0a22de9033d9a927953afb94fe57f3c (diff)
downloadCMake-611f86b7f6ba92c9e7eaa589dcda337407d84415.zip
CMake-611f86b7f6ba92c9e7eaa589dcda337407d84415.tar.gz
CMake-611f86b7f6ba92c9e7eaa589dcda337407d84415.tar.bz2
COMP: fix build with msvc 6, the enums are now part of a class which is
already completely parsed Alex
Diffstat (limited to 'Source/cmDocumentation.h')
-rw-r--r--Source/cmDocumentation.h39
1 files changed, 24 insertions, 15 deletions
diff --git a/Source/cmDocumentation.h b/Source/cmDocumentation.h
index 09da00c..64a288d 100644
--- a/Source/cmDocumentation.h
+++ b/Source/cmDocumentation.h
@@ -19,8 +19,29 @@
#include "cmStandardIncludes.h"
+/** This is just a helper class to make it build with MSVC 6.0.
+Actually the enums and internal classes could directly go into
+cmDocumentation, but then MSVC6 complains in RequestedHelpItem that
+cmDocumentation is an undefined type and so it doesn't know the enums.
+Moving the enums to a class which is then already completely parsed helps.
+against this. */
+class cmDocumentationEnums
+{
+public:
+ /** Types of help provided. */
+ enum Type
+ { None, Usage, Single, SingleModule, SingleProperty,
+ List, ModuleList, PropertyList,
+ Full, Properties, Modules, Commands, CompatCommands,
+ Copyright, Version };
+
+ /** Forms of documentation output. */
+ enum Form { TextForm, HTMLForm, ManForm, UsageForm };
+};
+
+
/** Class to generate documentation. */
-class cmDocumentation
+class cmDocumentation: public cmDocumentationEnums
{
public:
cmDocumentation();
@@ -28,12 +49,6 @@ public:
~cmDocumentation();
// High-level interface for standard documents:
- /** Types of help provided. */
- enum Type { None, Usage, Single, SingleModule, SingleProperty,
- List, ModuleList, PropertyList,
- Full, Properties, Modules, Commands, CompatCommands,
- Copyright, Version };
-
/**
* Check command line arguments for documentation options. Returns
* true if documentation options are found, and false otherwise.
@@ -85,11 +100,6 @@ public:
void SetSeeAlsoList(const cmDocumentationEntry*);
// Low-level interface for custom documents:
-
- /** Forms of documentation output. */
- enum Form { TextForm, HTMLForm, ManForm, UsageForm };
-
-
/** Internal class representing a section of the documentation.
* Cares e.g. for the different section titles in the different
* output formats.
@@ -131,7 +141,6 @@ public:
std::string ManName;
std::vector<cmDocumentationEntry> Entries;
static const cmDocumentationEntry EmptySection;
-
};
/**
@@ -254,8 +263,8 @@ private:
struct RequestedHelpItem
{
RequestedHelpItem():Form(TextForm), Type(None) {}
- cmDocumentation::Form Form;
- cmDocumentation::Type Type;
+ cmDocumentationEnums::Form Form;
+ cmDocumentationEnums::Type Type;
std::string Filename;
std::string Argument;
};