Diffstat (limited to 'qmake/generators/win32/msvc_objectmodel.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | qmake/generators/win32/msvc_objectmodel.h | 775 |
1 files changed, 775 insertions, 0 deletions
diff --git a/qmake/generators/win32/msvc_objectmodel.h b/qmake/generators/win32/msvc_objectmodel.h new file mode 100644 index 0000000..2d09280 --- a/dev/null +++ b/qmake/generators/win32/msvc_objectmodel.h | |||
@@ -0,0 +1,775 @@ | |||
1 | /**************************************************************************** | ||
2 | ** $Id$ | ||
3 | ** | ||
4 | ** Definition of ________ class. | ||
5 | ** | ||
6 | ** Copyright (C) 2002 Trolltech AS. All rights reserved. | ||
7 | ** | ||
8 | ** This file is part of the network module of the Qt GUI Toolkit. | ||
9 | ** | ||
10 | ** This file may be distributed under the terms of the Q Public License | ||
11 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
12 | ** LICENSE.QPL included in the packaging of this file. | ||
13 | ** | ||
14 | ** This file may be distributed and/or modified under the terms of the | ||
15 | ** GNU General Public License version 2 as published by the Free Software | ||
16 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
17 | ** packaging of this file. | ||
18 | ** | ||
19 | ** Licensees holding valid Qt Enterprise Edition licenses may use this | ||
20 | ** file in accordance with the Qt Commercial License Agreement provided | ||
21 | ** with the Software. | ||
22 | ** | ||
23 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
24 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
25 | ** | ||
26 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | ||
27 | ** information about Qt Commercial License Agreements. | ||
28 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
29 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
30 | ** | ||
31 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
32 | ** not clear to you. | ||
33 | ** | ||
34 | **********************************************************************/ | ||
35 | #ifndef __MSVC_OBJECTMODEL_H__ | ||
36 | #define __MSVC_OBJECTMODEL_H__ | ||
37 | |||
38 | #include "project.h" | ||
39 | #include <qstring.h> | ||
40 | #include <qstringlist.h> | ||
41 | |||
42 | /* | ||
43 | This Object model is of course VERY simplyfied, | ||
44 | and does not actually follow the original MSVC | ||
45 | object model. However, it fulfilles the basic | ||
46 | needs for qmake | ||
47 | */ | ||
48 | |||
49 | /* | ||
50 | If a triState value is 'unset' then the | ||
51 | corresponding property is not in the output, | ||
52 | forcing the tool to utilize default values. | ||
53 | False/True values will be in the output... | ||
54 | */ | ||
55 | enum customBuildCheck { | ||
56 | none, | ||
57 | moc, | ||
58 | uic, | ||
59 | lexyacc | ||
60 | }; | ||
61 | enum triState { | ||
62 | unset = -1, | ||
63 | _False = 0, | ||
64 | _True = 1 | ||
65 | }; | ||
66 | enum addressAwarenessType { | ||
67 | addrAwareDefault, | ||
68 | addrAwareNoLarge, | ||
69 | addrAwareLarge | ||
70 | }; | ||
71 | enum asmListingOption { | ||
72 | asmListingNone, | ||
73 | asmListingAssemblyOnly, | ||
74 | asmListingAsmMachineSrc, | ||
75 | asmListingAsmMachine, | ||
76 | asmListingAsmSrc | ||
77 | }; | ||
78 | enum basicRuntimeCheckOption { | ||
79 | runtimeBasicCheckNone, | ||
80 | runtimeCheckStackFrame, | ||
81 | runtimeCheckUninitVariables, | ||
82 | runtimeBasicCheckAll | ||
83 | }; | ||
84 | enum browseInfoOption { | ||
85 | brInfoNone, | ||
86 | brAllInfo, | ||
87 | brNoLocalSymbols | ||
88 | }; | ||
89 | enum callingConventionOption { | ||
90 | callConventionDefault = -1, | ||
91 | callConventionCDecl, | ||
92 | callConventionFastCall, | ||
93 | callConventionStdCall | ||
94 | }; | ||
95 | enum charSet { | ||
96 | charSetNotSet, | ||
97 | charSetUnicode, | ||
98 | charSetMBCS | ||
99 | }; | ||
100 | enum compileAsManagedOptions { | ||
101 | managedDefault = -1, | ||
102 | managedAssembly = 2 | ||
103 | }; | ||
104 | enum CompileAsOptions{ | ||
105 | compileAsDefault, | ||
106 | compileAsC, | ||
107 | compileAsCPlusPlus | ||
108 | }; | ||
109 | enum ConfigurationTypes { | ||
110 | typeUnknown = 0, | ||
111 | typeApplication = 1, | ||
112 | typeDynamicLibrary = 2, | ||
113 | typeStaticLibrary = 4, | ||
114 | typeGeneric = 10 | ||
115 | }; | ||
116 | enum debugOption { | ||
117 | debugDisabled, | ||
118 | debugOldStyleInfo, | ||
119 | debugLineInfoOnly, | ||
120 | debugEnabled, | ||
121 | debugEditAndContinue | ||
122 | }; | ||
123 | enum eAppProtectionOption { | ||
124 | eAppProtectUnchanged, | ||
125 | eAppProtectLow, | ||
126 | eAppProtectMedium, | ||
127 | eAppProtectHigh | ||
128 | }; | ||
129 | enum enumResourceLangID { | ||
130 | rcUseDefault = 0, | ||
131 | rcAfrikaans = 1078, | ||
132 | rcAlbanian = 1052, | ||
133 | rcArabicAlgeria = 5121, | ||
134 | rcArabicBahrain = 15361, | ||
135 | rcArabicEgypt = 3073, | ||
136 | rcArabicIraq = 2049, | ||
137 | rcArabicJordan = 11265, | ||
138 | rcArabicKuwait = 13313, | ||
139 | rcArabicLebanon = 12289, | ||
140 | rcArabicLibya = 4097, | ||
141 | rcArabicMorocco = 6145, | ||
142 | rcArabicOman = 8193, | ||
143 | rcArabicQatar = 16385, | ||
144 | rcArabicSaudi = 1025, | ||
145 | rcArabicSyria = 10241, | ||
146 | rcArabicTunisia = 7169, | ||
147 | rcArabicUnitedArabEmirates= 14337, | ||
148 | rcArabicYemen = 9217, | ||
149 | rcBasque = 1069, | ||
150 | rcBulgarian = 1026, | ||
151 | rcByelorussian = 1059, | ||
152 | rcCatalan = 1027, | ||
153 | rcChineseHongKong = 3076, | ||
154 | rcChinesePRC = 2052, | ||
155 | rcChineseSingapore = 4100, | ||
156 | rcChineseTaiwan = 1028, | ||
157 | rcCroatian = 1050, | ||
158 | rcCzech = 1029, | ||
159 | rcDanish = 1030, | ||
160 | rcDutchBelgium = 2067, | ||
161 | rcDutchStandard = 1043, | ||
162 | rcEnglishAustralia = 3081, | ||
163 | rcEnglishBritain = 2057, | ||
164 | rcEnglishCanada = 4105, | ||
165 | RcEnglishCaribbean = 9225, | ||
166 | rcEnglishIreland = 6153, | ||
167 | rcEnglishJamaica = 8201, | ||
168 | rcEnglishNewZealand = 5129, | ||
169 | rcEnglishSouthAfrica= 7177, | ||
170 | rcEnglishUS = 1033, | ||
171 | rcEstonian = 1061, | ||
172 | rcFarsi = 1065, | ||
173 | rcFinnish = 1035, | ||
174 | rcFrenchBelgium = 2060, | ||
175 | rcFrenchCanada = 3084, | ||
176 | rcFrenchLuxembourg = 5132, | ||
177 | rcFrenchStandard = 1036, | ||
178 | rcFrenchSwitzerland = 4108, | ||
179 | rcGermanAustria = 3079, | ||
180 | rcGermanLichtenstein= 5127, | ||
181 | rcGermanLuxembourg = 4103, | ||
182 | rcGermanStandard = 1031, | ||
183 | rcGermanSwitzerland = 2055, | ||
184 | rcGreek = 1032, | ||
185 | rcHebrew = 1037, | ||
186 | rcHungarian = 1038, | ||
187 | rcIcelandic = 1039, | ||
188 | rcIndonesian = 1057, | ||
189 | rcItalianStandard = 1040, | ||
190 | rcItalianSwitzerland= 2064, | ||
191 | rcJapanese = 1041, | ||
192 | rcKorean = 1042, | ||
193 | rcKoreanJohab = 2066, | ||
194 | rcLatvian = 1062, | ||
195 | rcLithuanian = 1063, | ||
196 | rcNorwegianBokmal = 1044, | ||
197 | rcNorwegianNynorsk = 2068, | ||
198 | rcPolish = 1045, | ||
199 | rcPortugueseBrazilian= 1046, | ||
200 | rcPortugueseStandard= 2070, | ||
201 | rcRomanian = 1048, | ||
202 | rcRussian = 1049, | ||
203 | rcSerbian = 2074, | ||
204 | rcSlovak = 1051, | ||
205 | rcSpanishArgentina = 11274, | ||
206 | rcSpanishBolivia = 16394, | ||
207 | rcSpanishChile = 13322, | ||
208 | rcSpanishColombia = 9226, | ||
209 | rcSpanishCostaRica = 5130, | ||
210 | rcSpanishDominicanRepublic= 7178, | ||
211 | rcSpanishEcuador = 12298, | ||
212 | rcSpanishGuatemala = 4106, | ||
213 | rcSpanishMexico = 2058, | ||
214 | rcSpanishModern = 3082, | ||
215 | rcSpanishPanama = 6154, | ||
216 | rcSpanishParaguay = 15370, | ||
217 | rcSpanishPeru = 10250, | ||
218 | rcSpanishTraditional= 1034, | ||
219 | rcSpanishUruguay = 14346, | ||
220 | rcSpanishVenezuela = 8202, | ||
221 | rcSwedish = 1053, | ||
222 | rcThai = 1054, | ||
223 | rcTurkish = 1055, | ||
224 | rcUkrainian = 1058, | ||
225 | rcUrdu = 1056 | ||
226 | }; | ||
227 | enum enumSccEvent { | ||
228 | eProjectInScc, | ||
229 | ePreDirtyNotification | ||
230 | }; | ||
231 | enum favorSizeOrSpeedOption { | ||
232 | favorNone, | ||
233 | favorSpeed, | ||
234 | favorSize | ||
235 | }; | ||
236 | enum genProxyLanguage { | ||
237 | genProxyNative, | ||
238 | genProxyManaged | ||
239 | }; | ||
240 | enum inlineExpansionOption { | ||
241 | expandDisable, | ||
242 | expandOnlyInline, | ||
243 | expandAnySuitable | ||
244 | }; | ||
245 | enum linkIncrementalType { | ||
246 | linkIncrementalDefault, | ||
247 | linkIncrementalNo, | ||
248 | linkIncrementalYes | ||
249 | }; | ||
250 | enum linkProgressOption { | ||
251 | linkProgressNotSet, | ||
252 | linkProgressAll, | ||
253 | linkProgressLibs | ||
254 | }; | ||
255 | enum machineTypeOption { | ||
256 | machineNotSet, | ||
257 | machineX86 | ||
258 | }; | ||
259 | enum midlCharOption { | ||
260 | midlCharUnsigned, | ||
261 | midlCharSigned, | ||
262 | midlCharAscii7 | ||
263 | }; | ||
264 | enum midlErrorCheckOption { | ||
265 | midlEnableCustom, | ||
266 | midlDisableAll, | ||
267 | midlEnableAll | ||
268 | }; | ||
269 | enum midlStructMemberAlignOption { | ||
270 | midlAlignNotSet, | ||
271 | midlAlignSingleByte, | ||
272 | midlAlignTwoBytes, | ||
273 | midlAlignFourBytes, | ||
274 | midlAlignEightBytes, | ||
275 | midlAlignSixteenBytes | ||
276 | }; | ||
277 | enum midlTargetEnvironment { | ||
278 | midlTargetNotSet, | ||
279 | midlTargetWin32, | ||
280 | midlTargetWin64 | ||
281 | }; | ||
282 | enum midlWarningLevelOption { | ||
283 | midlWarningLevel_0, | ||
284 | midlWarningLevel_1, | ||
285 | midlWarningLevel_2, | ||
286 | midlWarningLevel_3, | ||
287 | midlWarningLevel_4 | ||
288 | }; | ||
289 | enum optFoldingType { | ||
290 | optFoldingDefault, | ||
291 | optNoFolding, | ||
292 | optFolding | ||
293 | }; | ||
294 | enum optimizeOption { | ||
295 | optimizeDisabled, | ||
296 | optimizeMinSpace, | ||
297 | optimizeMaxSpeed, | ||
298 | optimizeFull, | ||
299 | optimizeCustom | ||
300 | }; | ||
301 | enum optRefType { | ||
302 | optReferencesDefault, | ||
303 | optNoReferences, | ||
304 | optReferences | ||
305 | }; | ||
306 | enum optWin98Type { | ||
307 | optWin98Default, | ||
308 | optWin98No, | ||
309 | optWin98Yes | ||
310 | }; | ||
311 | enum pchOption { | ||
312 | pchNone, | ||
313 | pchCreateUsingSpecific, | ||
314 | pchGenerateAuto, | ||
315 | pchUseUsingSpecific | ||
316 | }; | ||
317 | enum preprocessOption { | ||
318 | preprocessNo, | ||
319 | preprocessYes, | ||
320 | preprocessNoLineNumbers | ||
321 | }; | ||
322 | enum ProcessorOptimizeOption { | ||
323 | procOptimizeBlended, | ||
324 | procOptimizePentium, | ||
325 | procOptimizePentiumProAndAbove | ||
326 | }; | ||
327 | enum RemoteDebuggerType { | ||
328 | DbgLocal, | ||
329 | DbgRemote, | ||
330 | DbgRemoteTCPIP | ||
331 | }; | ||
332 | enum runtimeLibraryOption { | ||
333 | rtMultiThreaded, | ||
334 | rtMultiThreadedDebug, | ||
335 | rtMultiThreadedDLL, | ||
336 | rtMultiThreadedDebugDLL, | ||
337 | rtSingleThreaded, | ||
338 | rtSingleThreadedDebug | ||
339 | }; | ||
340 | enum structMemberAlignOption { | ||
341 | alignNotSet, | ||
342 | alignSingleByte, | ||
343 | alignTwoBytes, | ||
344 | alignFourBytes, | ||
345 | alignEightBytes, | ||
346 | alignSixteenBytes | ||
347 | }; | ||
348 | enum subSystemOption { | ||
349 | subSystemNotSet, | ||
350 | subSystemConsole, | ||
351 | subSystemWindows | ||
352 | }; | ||
353 | enum termSvrAwarenessType { | ||
354 | termSvrAwareDefault, | ||
355 | termSvrAwareNo, | ||
356 | termSvrAwareYes | ||
357 | }; | ||
358 | enum toolSetType { | ||
359 | toolSetUtility, | ||
360 | toolSetMakefile, | ||
361 | toolSetLinker, | ||
362 | toolSetLibrarian, | ||
363 | toolSetAll | ||
364 | }; | ||
365 | enum TypeOfDebugger { | ||
366 | DbgNativeOnly, | ||
367 | DbgManagedOnly, | ||
368 | DbgMixed, | ||
369 | DbgAuto | ||
370 | }; | ||
371 | enum useOfATL { | ||
372 | useATLNotSet, | ||
373 | useATLStatic, | ||
374 | useATLDynamic | ||
375 | }; | ||
376 | enum useOfMfc { | ||
377 | useMfcStdWin, | ||
378 | useMfcStatic, | ||
379 | useMfcDynamic | ||
380 | }; | ||
381 | enum warningLevelOption { | ||
382 | warningLevel_0, | ||
383 | warningLevel_1, | ||
384 | warningLevel_2, | ||
385 | warningLevel_3, | ||
386 | warningLevel_4 | ||
387 | }; | ||
388 | |||
389 | class VCToolBase { | ||
390 | protected: | ||
391 | // Functions | ||
392 | VCToolBase(){}; | ||
393 | ~VCToolBase(){}; | ||
394 | virtual bool parseOption( const char* option ) = 0; | ||
395 | public: | ||
396 | bool parseOptions( QStringList& options ) { | ||
397 | bool result = TRUE; | ||
398 | for ( QStringList::ConstIterator it=options.begin(); (it!=options.end()) && result; it++ ) | ||
399 | result = parseOption( (*it).latin1() ); | ||
400 | return result; | ||
401 | } | ||
402 | }; | ||
403 | |||
404 | class VCConfiguration; | ||
405 | class VCProject; | ||
406 | |||
407 | class VCCLCompilerTool : public VCToolBase | ||
408 | { | ||
409 | public: | ||
410 | // Functions | ||
411 | VCCLCompilerTool(); | ||
412 | ~VCCLCompilerTool(){}; | ||
413 | virtual bool parseOption( const char* option ); | ||
414 | |||
415 | // Variables | ||
416 | QStringList AdditionalIncludeDirectories; | ||
417 | QStringList AdditionalOptions; | ||
418 | QStringList AdditionalUsingDirectories; | ||
419 | QString AssemblerListingLocation; | ||
420 | asmListingOption AssemblerOutput; | ||
421 | basicRuntimeCheckOption BasicRuntimeChecks; | ||
422 | browseInfoOption BrowseInformation; | ||
423 | QString BrowseInformationFile; | ||
424 | triState BufferSecurityCheck; | ||
425 | callingConventionOption CallingConvention; | ||
426 | CompileAsOptions CompileAs; | ||
427 | compileAsManagedOptions CompileAsManaged; | ||
428 | triState CompileOnly; | ||
429 | debugOption DebugInformationFormat; | ||
430 | triState DefaultCharIsUnsigned; | ||
431 | triState Detect64BitPortabilityProblems; | ||
432 | triState DisableLanguageExtensions; | ||
433 | QStringList DisableSpecificWarnings; | ||
434 | triState EnableFiberSafeOptimizations; | ||
435 | triState EnableFunctionLevelLinking; | ||
436 | triState EnableIntrinsicFunctions; | ||
437 | triState ExceptionHandling; | ||
438 | triState ExpandAttributedSource; | ||
439 | favorSizeOrSpeedOption FavorSizeOrSpeed; | ||
440 | triState ForceConformanceInForLoopScope; | ||
441 | QStringList ForcedIncludeFiles; | ||
442 | QStringList ForcedUsingFiles; | ||
443 | preprocessOption GeneratePreprocessedFile; | ||
444 | triState GlobalOptimizations; | ||
445 | triState IgnoreStandardIncludePath; | ||
446 | triState ImproveFloatingPointConsistency; | ||
447 | inlineExpansionOption InlineFunctionExpansion; | ||
448 | triState KeepComments; | ||
449 | triState MinimalRebuild; | ||
450 | QString ObjectFile; | ||
451 | triState OmitFramePointers; | ||
452 | optimizeOption Optimization; | ||
453 | ProcessorOptimizeOption OptimizeForProcessor; | ||
454 | triState OptimizeForWindowsApplication; | ||
455 | QString OutputFile; | ||
456 | QString PrecompiledHeaderFile; | ||
457 | QString PrecompiledHeaderThrough; | ||
458 | QStringList PreprocessorDefinitions; | ||
459 | QString ProgramDataBaseFileName; | ||
460 | runtimeLibraryOption RuntimeLibrary; | ||
461 | triState RuntimeTypeInfo; | ||
462 | triState ShowIncludes; | ||
463 | triState SmallerTypeCheck; | ||
464 | triState StringPooling; | ||
465 | structMemberAlignOption StructMemberAlignment; | ||
466 | triState SuppressStartupBanner; | ||
467 | triState TreatWChar_tAsBuiltInType; | ||
468 | triState TurnOffAssemblyGeneration; | ||
469 | triState UndefineAllPreprocessorDefinitions; | ||
470 | QStringList UndefinePreprocessorDefinitions; | ||
471 | pchOption UsePrecompiledHeader; | ||
472 | triState WarnAsError; | ||
473 | warningLevelOption WarningLevel; | ||
474 | triState WholeProgramOptimization; | ||
475 | VCConfiguration* config; | ||
476 | }; | ||
477 | |||
478 | class VCLinkerTool : public VCToolBase | ||
479 | { | ||
480 | public: | ||
481 | // Functions | ||
482 | VCLinkerTool(); | ||
483 | ~VCLinkerTool(){}; | ||
484 | virtual bool parseOption( const char* option ); | ||
485 | |||
486 | // Variables | ||
487 | QStringList AdditionalDependencies; | ||
488 | QStringList AdditionalLibraryDirectories; | ||
489 | QStringList AdditionalOptions; | ||
490 | QStringList AddModuleNamesToAssembly; | ||
491 | QString BaseAddress; | ||
492 | QStringList DelayLoadDLLs; | ||
493 | optFoldingType EnableCOMDATFolding; | ||
494 | QString EntryPointSymbol; | ||
495 | QStringList ForceSymbolReferences; | ||
496 | QString FunctionOrder; | ||
497 | triState GenerateDebugInformation; | ||
498 | triState GenerateMapFile; | ||
499 | long HeapCommitSize; | ||
500 | long HeapReserveSize; | ||
501 | triState IgnoreAllDefaultLibraries; | ||
502 | QStringList IgnoreDefaultLibraryNames; | ||
503 | triState IgnoreEmbeddedIDL; | ||
504 | triState IgnoreImportLibrary; | ||
505 | QString ImportLibrary; | ||
506 | addressAwarenessType LargeAddressAware; | ||
507 | triState LinkDLL; | ||
508 | linkIncrementalType LinkIncremental; | ||
509 | triState LinkTimeCodeGeneration; | ||
510 | QString LinkToManagedResourceFile; | ||
511 | triState MapExports; | ||
512 | QString MapFileName; | ||
513 | triState MapLines; | ||
514 | QString MergedIDLBaseFileName; | ||
515 | QString MergeSections; // Should be list? | ||
516 | QString MidlCommandFile; | ||
517 | QString ModuleDefinitionFile; // Should be list? | ||
518 | optWin98Type OptimizeForWindows98; | ||
519 | optRefType OptimizeReferences; | ||
520 | QString OutputFile; | ||
521 | QString ProgramDatabaseFile; | ||
522 | triState RegisterOutput; | ||
523 | triState ResourceOnlyDLL; | ||
524 | triState SetChecksum; | ||
525 | linkProgressOption ShowProgress; | ||
526 | long StackCommitSize; | ||
527 | long StackReserveSize; | ||
528 | QString StripPrivateSymbols; // Should be list? | ||
529 | subSystemOption SubSystem; | ||
530 | triState SupportUnloadOfDelayLoadedDLL; | ||
531 | triState SuppressStartupBanner; | ||
532 | triState SwapRunFromCD; | ||
533 | triState SwapRunFromNet; | ||
534 | machineTypeOption TargetMachine; | ||
535 | termSvrAwarenessType TerminalServerAware; | ||
536 | triState TurnOffAssemblyGeneration; | ||
537 | QString TypeLibraryFile; | ||
538 | long TypeLibraryResourceID; | ||
539 | QString Version; | ||
540 | VCConfiguration* config; | ||
541 | }; | ||
542 | |||
543 | class VCMIDLTool : public VCToolBase | ||
544 | { | ||
545 | public: | ||
546 | // Functions | ||
547 | VCMIDLTool(); | ||
548 | ~VCMIDLTool(){}; | ||
549 | virtual bool parseOption( const char* option ); | ||
550 | |||
551 | // Variables | ||
552 | QStringList AdditionalIncludeDirectories; | ||
553 | QStringList AdditionalOptions; | ||
554 | QStringList CPreprocessOptions; | ||
555 | midlCharOption DefaultCharType; | ||
556 | QString DLLDataFileName; // Should be list? | ||
557 | midlErrorCheckOption EnableErrorChecks; | ||
558 | triState ErrorCheckAllocations; | ||
559 | triState ErrorCheckBounds; | ||
560 | triState ErrorCheckEnumRange; | ||
561 | triState ErrorCheckRefPointers; | ||
562 | triState ErrorCheckStubData; | ||
563 | QStringList FullIncludePath; | ||
564 | triState GenerateStublessProxies; | ||
565 | triState GenerateTypeLibrary; | ||
566 | QString HeaderFileName; | ||
567 | triState IgnoreStandardIncludePath; | ||
568 | QString InterfaceIdentifierFileName; | ||
569 | triState MkTypLibCompatible; | ||
570 | QString OutputDirectory; | ||
571 | QStringList PreprocessorDefinitions; | ||
572 | QString ProxyFileName; | ||
573 | QString RedirectOutputAndErrors; | ||
574 | midlStructMemberAlignOption StructMemberAlignment; | ||
575 | triState SuppressStartupBanner; | ||
576 | midlTargetEnvironment TargetEnvironment; | ||
577 | QString TypeLibraryName; | ||
578 | QStringList UndefinePreprocessorDefinitions; | ||
579 | triState ValidateParameters; | ||
580 | triState WarnAsError; | ||
581 | midlWarningLevelOption WarningLevel; | ||
582 | VCConfiguration* config; | ||
583 | }; | ||
584 | |||
585 | class VCLibrarianTool : public VCToolBase | ||
586 | { | ||
587 | public: | ||
588 | // Functions | ||
589 | VCLibrarianTool(); | ||
590 | ~VCLibrarianTool(){}; | ||
591 | virtual bool parseOption( const char* option ){ return FALSE; }; | ||
592 | |||
593 | // Variables | ||
594 | QStringList AdditionalDependencies; | ||
595 | QStringList AdditionalLibraryDirectories; | ||
596 | QStringList AdditionalOptions; | ||
597 | QStringList ExportNamedFunctions; | ||
598 | QStringList ForceSymbolReferences; | ||
599 | triState IgnoreAllDefaultLibraries; | ||
600 | QStringList IgnoreDefaultLibraryNames; | ||
601 | QString ModuleDefinitionFile; | ||
602 | QString OutputFile; | ||
603 | triState SuppressStartupBanner; | ||
604 | }; | ||
605 | |||
606 | class VCCustomBuildTool : public VCToolBase | ||
607 | { | ||
608 | public: | ||
609 | // Functions | ||
610 | VCCustomBuildTool(); | ||
611 | ~VCCustomBuildTool(){}; | ||
612 | virtual bool parseOption( const char* option ){ return FALSE; }; | ||
613 | |||
614 | // Variables | ||
615 | QStringList AdditionalDependencies; | ||
616 | QString CommandLine; | ||
617 | QString Description; | ||
618 | QString Outputs; | ||
619 | QString ToolName; | ||
620 | QString ToolPath; | ||
621 | }; | ||
622 | |||
623 | class VCResourceCompilerTool : public VCToolBase | ||
624 | { | ||
625 | public: | ||
626 | // Functions | ||
627 | VCResourceCompilerTool(); | ||
628 | ~VCResourceCompilerTool(){}; | ||
629 | virtual bool parseOption( const char* option ){ return FALSE; }; | ||
630 | |||
631 | // Variables | ||
632 | QStringList AdditionalIncludeDirectories; | ||
633 | QStringList AdditionalOptions; | ||
634 | enumResourceLangID Culture; | ||
635 | QStringList FullIncludePath; | ||
636 | triState IgnoreStandardIncludePath; | ||
637 | QStringList PreprocessorDefinitions; | ||
638 | QString ResourceOutputFileName; | ||
639 | linkProgressOption ShowProgress; | ||
640 | QString ToolPath; | ||
641 | }; | ||
642 | |||
643 | class VCEventTool : public VCToolBase | ||
644 | { | ||
645 | protected: | ||
646 | // Functions | ||
647 | VCEventTool() : ExcludedFromBuild( unset ){}; | ||
648 | ~VCEventTool(){}; | ||
649 | virtual bool parseOption( const char* option ){ return FALSE; }; | ||
650 | |||
651 | public: | ||
652 | // Variables | ||
653 | QString CommandLine; | ||
654 | QString Description; | ||
655 | triState ExcludedFromBuild; | ||
656 | QString ToolName; | ||
657 | QString ToolPath; | ||
658 | }; | ||
659 | |||
660 | class VCPostBuildEventTool : public VCEventTool | ||
661 | { | ||
662 | public: | ||
663 | VCPostBuildEventTool(); | ||
664 | ~VCPostBuildEventTool(){}; | ||
665 | }; | ||
666 | |||
667 | class VCPreBuildEventTool : public VCEventTool | ||
668 | { | ||
669 | public: | ||
670 | VCPreBuildEventTool(); | ||
671 | ~VCPreBuildEventTool(){}; | ||
672 | }; | ||
673 | |||
674 | class VCPreLinkEventTool : public VCEventTool | ||
675 | { | ||
676 | public: | ||
677 | VCPreLinkEventTool(); | ||
678 | ~VCPreLinkEventTool(){}; | ||
679 | }; | ||
680 | |||
681 | class VCConfiguration | ||
682 | { | ||
683 | public: | ||
684 | // Functions | ||
685 | VCConfiguration(); | ||
686 | ~VCConfiguration(){}; | ||
687 | |||
688 | // Variables | ||
689 | triState ATLMinimizesCRunTimeLibraryUsage; | ||
690 | triState BuildBrowserInformation; | ||
691 | charSet CharacterSet; | ||
692 | ConfigurationTypesConfigurationType; | ||
693 | QString DeleteExtensionsOnClean; | ||
694 | QString ImportLibrary; | ||
695 | QString IntermediateDirectory; | ||
696 | QString Name; | ||
697 | QString OutputDirectory; | ||
698 | QString PrimaryOutput; | ||
699 | QString ProgramDatabase; | ||
700 | triState RegisterOutput; | ||
701 | useOfATL UseOfATL; | ||
702 | useOfMfc UseOfMfc; | ||
703 | triState WholeProgramOptimization; | ||
704 | |||
705 | // XML sub-parts | ||
706 | VCCLCompilerTool compiler; | ||
707 | VCLinkerTool linker; | ||
708 | VCLibrarianTool librarian; | ||
709 | VCCustomBuildTool custom; | ||
710 | VCMIDLTool idl; | ||
711 | VCPostBuildEventTool postBuild; | ||
712 | VCPreBuildEventTool preBuild; | ||
713 | VCPreLinkEventTool preLink; | ||
714 | VCResourceCompilerTool resource; | ||
715 | }; | ||
716 | |||
717 | class VcprojGenerator; | ||
718 | class VCFilter | ||
719 | { | ||
720 | public: | ||
721 | // Functions | ||
722 | VCFilter(); | ||
723 | ~VCFilter(){}; | ||
724 | void generateMOC( QTextStream &strm, QString str ) const; | ||
725 | void generateUIC( QTextStream &strm, const QString& str ) const; | ||
726 | |||
727 | // Variables | ||
728 | QString Name; | ||
729 | QString Filter; | ||
730 | triState ParseFiles; | ||
731 | QStringList Files; | ||
732 | VcprojGenerator*Project; | ||
733 | VCConfiguration*Config; | ||
734 | customBuildCheckCustomBuild; | ||
735 | }; | ||
736 | |||
737 | class VCProject | ||
738 | { | ||
739 | public: | ||
740 | // Functions | ||
741 | VCProject(); | ||
742 | ~VCProject(){}; | ||
743 | |||
744 | // Variables | ||
745 | QString Name; | ||
746 | QString Version; | ||
747 | QString ProjectGUID; | ||
748 | QString SccProjectName; | ||
749 | QString SccLocalPath; | ||
750 | QString PlatformName; | ||
751 | |||
752 | // XML sub-parts | ||
753 | VCConfigurationConfiguration; | ||
754 | VCFilter SourceFiles; | ||
755 | VCFilter HeaderFiles; | ||
756 | VCFilter MOCFiles; | ||
757 | VCFilter UICFiles; | ||
758 | VCFilter FormFiles; | ||
759 | VCFilter TranslationFiles; | ||
760 | VCFilter LexYaccFiles; | ||
761 | VCFilter ResourceFiles; | ||
762 | }; | ||
763 | |||
764 | QTextStream &operator<<( QTextStream &, const VCCLCompilerTool & ); | ||
765 | QTextStream &operator<<( QTextStream &, const VCLinkerTool & ); | ||
766 | QTextStream &operator<<( QTextStream &, const VCMIDLTool & ); | ||
767 | QTextStream &operator<<( QTextStream &, const VCCustomBuildTool & ); | ||
768 | QTextStream &operator<<( QTextStream &, const VCLibrarianTool & ); | ||
769 | QTextStream &operator<<( QTextStream &, const VCResourceCompilerTool & ); | ||
770 | QTextStream &operator<<( QTextStream &, const VCEventTool & ); | ||
771 | QTextStream &operator<<( QTextStream &, const VCConfiguration & ); | ||
772 | QTextStream &operator<<( QTextStream &, const VCFilter & ); | ||
773 | QTextStream &operator<<( QTextStream &, const VCProject & ); | ||
774 | |||
775 | #endif //__MSVC_OBJECTMODEL_H__ | ||