1 /*============================================================================
2 CMake - Cross Platform Makefile Generator
3 Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
5 Distributed under the OSI-approved BSD License (the "License");
6 see accompanying file Copyright.txt for details.
8 This software is distributed WITHOUT ANY WARRANTY; without even the
9 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License for more information.
11 ============================================================================*/
12 #ifndef cmVisualStudioGeneratorOptions_h
13 #define cmVisualStudioGeneratorOptions_h
15 #include "cmLocalVisualStudioGenerator.h"
17 #include "cmIDEOptions.h"
18 typedef cmIDEFlagTable cmVS7FlagTable;
20 class cmVisualStudio10TargetGenerator;
22 //----------------------------------------------------------------------------
23 class cmVisualStudioGeneratorOptions: public cmIDEOptions
26 // Construct an options table for a given tool.
33 cmVisualStudioGeneratorOptions(cmLocalVisualStudioGenerator* lg,
35 cmVS7FlagTable const* table,
36 cmVS7FlagTable const* extraTable = 0,
37 cmVisualStudio10TargetGenerator* g = 0);
39 // Store options from command line flags.
40 void Parse(const char* flags);
43 // Fix the ExceptionHandling option to default to off.
44 void FixExceptionHandlingDefault();
46 // Store options for verbose builds.
47 void SetVerboseMakefile(bool verbose);
49 // Check for specific options.
50 bool UsingUnicode() const;
51 bool UsingSBCS() const;
54 // Write options to output.
55 void OutputPreprocessorDefinitions(std::ostream& fout,
59 void OutputFlagMap(std::ostream& fout, const char* indent);
60 void OutputAdditionalOptions(std::ostream& fout,
63 void SetConfiguration(const char* config);
65 cmLocalVisualStudioGenerator* LocalGenerator;
66 cmLocalVisualStudioGenerator::VSVersion Version;
68 std::string Configuration;
70 cmVisualStudio10TargetGenerator* TargetGenerator;
72 bool FortranRuntimeDebug;
73 bool FortranRuntimeDLL;
74 bool FortranRuntimeMT;
76 virtual void StoreUnknownFlag(const char* flag);