1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmVisualStudioGeneratorOptions.h,v $
6 Date: $Date: 2009-07-29 15:29:08 $
7 Version: $Revision: 1.3 $
9 Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
10 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
17 #ifndef cmVisualStudioGeneratorOptions_h
18 #define cmVisualStudioGeneratorOptions_h
20 #include "cmLocalGenerator.h"
22 #include "cmIDEOptions.h"
23 typedef cmIDEFlagTable cmVS7FlagTable
;
25 class cmVisualStudio10TargetGenerator
;
27 //----------------------------------------------------------------------------
28 class cmVisualStudioGeneratorOptions
: public cmIDEOptions
31 // Construct an options table for a given tool.
38 cmVisualStudioGeneratorOptions(cmLocalGenerator
* lg
,
41 cmVS7FlagTable
const* table
,
42 cmVS7FlagTable
const* extraTable
= 0,
43 cmVisualStudio10TargetGenerator
* g
= 0);
45 // Store options from command line flags.
46 void Parse(const char* flags
);
48 // Fix the ExceptionHandling option to default to off.
49 void FixExceptionHandlingDefault();
51 // Store options for verbose builds.
52 void SetVerboseMakefile(bool verbose
);
54 // Check for specific options.
58 // Write options to output.
59 void OutputPreprocessorDefinitions(std::ostream
& fout
,
62 void OutputFlagMap(std::ostream
& fout
, const char* indent
);
63 void OutputAdditionalOptions(std::ostream
& fout
,
66 void SetConfiguration(const char* config
);
68 cmLocalGenerator
* LocalGenerator
;
71 std::string Configuration
;
73 cmVisualStudio10TargetGenerator
* TargetGenerator
;
75 virtual void StoreUnknownFlag(const char* flag
);