Diffstat (limited to 'qmake/generators/win32/msvc_objectmodel.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | qmake/generators/win32/msvc_objectmodel.h | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/qmake/generators/win32/msvc_objectmodel.h b/qmake/generators/win32/msvc_objectmodel.h index 1dca68d..9ce38d2 100644 --- a/qmake/generators/win32/msvc_objectmodel.h +++ b/qmake/generators/win32/msvc_objectmodel.h | |||
@@ -1,148 +1,151 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | ** $Id$ | 2 | ** |
3 | ** | 3 | ** |
4 | ** Definition of ________ class. | 4 | ** Definition of VCProject class. |
5 | ** | 5 | ** |
6 | ** Copyright (C) 2002 Trolltech AS. All rights reserved. | 6 | ** Copyright (C) 2002-2003 Trolltech AS. All rights reserved. |
7 | ** | 7 | ** |
8 | ** This file is part of the network module of the Qt GUI Toolkit. | 8 | ** This file is part of qmake. |
9 | ** | 9 | ** |
10 | ** This file may be distributed under the terms of the Q Public License | 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 | 11 | ** as defined by Trolltech AS of Norway and appearing in the file |
12 | ** LICENSE.QPL included in the packaging of this file. | 12 | ** LICENSE.QPL included in the packaging of this file. |
13 | ** | 13 | ** |
14 | ** This file may be distributed and/or modified under the terms of the | 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 | 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 | 16 | ** Foundation and appearing in the file LICENSE.GPL included in the |
17 | ** packaging of this file. | 17 | ** packaging of this file. |
18 | ** | 18 | ** |
19 | ** Licensees holding valid Qt Enterprise Edition licenses may use this | 19 | ** Licensees holding valid Qt Enterprise Edition licenses may use this |
20 | ** file in accordance with the Qt Commercial License Agreement provided | 20 | ** file in accordance with the Qt Commercial License Agreement provided |
21 | ** with the Software. | 21 | ** with the Software. |
22 | ** | 22 | ** |
23 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 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. | 24 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
25 | ** | 25 | ** |
26 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | 26 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for |
27 | ** information about Qt Commercial License Agreements. | 27 | ** information about Qt Commercial License Agreements. |
28 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | 28 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. |
29 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 29 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
30 | ** | 30 | ** |
31 | ** Contact info@trolltech.com if any conditions of this licensing are | 31 | ** Contact info@trolltech.com if any conditions of this licensing are |
32 | ** not clear to you. | 32 | ** not clear to you. |
33 | ** | 33 | ** |
34 | **********************************************************************/ | 34 | **********************************************************************/ |
35 | |||
35 | #ifndef __MSVC_OBJECTMODEL_H__ | 36 | #ifndef __MSVC_OBJECTMODEL_H__ |
36 | #define __MSVC_OBJECTMODEL_H__ | 37 | #define __MSVC_OBJECTMODEL_H__ |
37 | 38 | ||
38 | #include "project.h" | 39 | #include "project.h" |
39 | #include <qstring.h> | 40 | #include <qstring.h> |
40 | #include <qstringlist.h> | 41 | #include <qstringlist.h> |
41 | 42 | ||
42 | /* | 43 | /* |
43 | This Object model is of course VERY simplyfied, | 44 | This Object model is of course VERY simplyfied, |
44 | and does not actually follow the original MSVC | 45 | and does not actually follow the original MSVC |
45 | object model. However, it fulfilles the basic | 46 | object model. However, it fulfilles the basic |
46 | needs for qmake | 47 | needs for qmake |
47 | */ | 48 | */ |
48 | 49 | ||
49 | /* | 50 | /* |
50 | If a triState value is 'unset' then the | 51 | If a triState value is 'unset' then the |
51 | corresponding property is not in the output, | 52 | corresponding property is not in the output, |
52 | forcing the tool to utilize default values. | 53 | forcing the tool to utilize default values. |
53 | False/True values will be in the output... | 54 | False/True values will be in the output... |
54 | */ | 55 | */ |
55 | enum customBuildCheck { | 56 | enum customBuildCheck { |
56 | none, | 57 | none, |
57 | moc, | 58 | moc, |
58 | uic, | 59 | uic, |
59 | lexyacc | 60 | lexyacc, |
61 | resource | ||
60 | }; | 62 | }; |
61 | enum triState { | 63 | enum triState { |
62 | unset = -1, | 64 | unset = -1, |
63 | _False = 0, | 65 | _False = 0, |
64 | _True = 1 | 66 | _True = 1 |
65 | }; | 67 | }; |
66 | enum addressAwarenessType { | 68 | enum addressAwarenessType { |
67 | addrAwareDefault, | 69 | addrAwareDefault, |
68 | addrAwareNoLarge, | 70 | addrAwareNoLarge, |
69 | addrAwareLarge | 71 | addrAwareLarge |
70 | }; | 72 | }; |
71 | enum asmListingOption { | 73 | enum asmListingOption { |
72 | asmListingNone, | 74 | asmListingNone, |
73 | asmListingAssemblyOnly, | 75 | asmListingAssemblyOnly, |
74 | asmListingAsmMachineSrc, | 76 | asmListingAsmMachineSrc, |
75 | asmListingAsmMachine, | 77 | asmListingAsmMachine, |
76 | asmListingAsmSrc | 78 | asmListingAsmSrc |
77 | }; | 79 | }; |
78 | enum basicRuntimeCheckOption { | 80 | enum basicRuntimeCheckOption { |
79 | runtimeBasicCheckNone, | 81 | runtimeBasicCheckNone, |
80 | runtimeCheckStackFrame, | 82 | runtimeCheckStackFrame, |
81 | runtimeCheckUninitVariables, | 83 | runtimeCheckUninitVariables, |
82 | runtimeBasicCheckAll | 84 | runtimeBasicCheckAll |
83 | }; | 85 | }; |
84 | enum browseInfoOption { | 86 | enum browseInfoOption { |
85 | brInfoNone, | 87 | brInfoNone, |
86 | brAllInfo, | 88 | brAllInfo, |
87 | brNoLocalSymbols | 89 | brNoLocalSymbols |
88 | }; | 90 | }; |
89 | enum callingConventionOption { | 91 | enum callingConventionOption { |
90 | callConventionDefault = -1, | 92 | callConventionDefault = -1, |
91 | callConventionCDecl, | 93 | callConventionCDecl, |
92 | callConventionFastCall, | 94 | callConventionFastCall, |
93 | callConventionStdCall | 95 | callConventionStdCall |
94 | }; | 96 | }; |
95 | enum charSet { | 97 | enum charSet { |
96 | charSetNotSet, | 98 | charSetNotSet, |
97 | charSetUnicode, | 99 | charSetUnicode, |
98 | charSetMBCS | 100 | charSetMBCS |
99 | }; | 101 | }; |
100 | enum compileAsManagedOptions { | 102 | enum compileAsManagedOptions { |
101 | managedDefault = -1, | 103 | managedDefault = -1, |
102 | managedAssembly = 2 | 104 | managedAssembly = 2 |
103 | }; | 105 | }; |
104 | enum CompileAsOptions{ | 106 | enum CompileAsOptions{ |
105 | compileAsDefault, | 107 | compileAsDefault, |
106 | compileAsC, | 108 | compileAsC, |
107 | compileAsCPlusPlus | 109 | compileAsCPlusPlus |
108 | }; | 110 | }; |
109 | enum ConfigurationTypes { | 111 | enum ConfigurationTypes { |
110 | typeUnknown = 0, | 112 | typeUnknown = 0, |
111 | typeApplication = 1, | 113 | typeApplication = 1, |
112 | typeDynamicLibrary = 2, | 114 | typeDynamicLibrary = 2, |
113 | typeStaticLibrary = 4, | 115 | typeStaticLibrary = 4, |
114 | typeGeneric = 10 | 116 | typeGeneric = 10 |
115 | }; | 117 | }; |
116 | enum debugOption { | 118 | enum debugOption { |
119 | debugUnknown = -1, | ||
117 | debugDisabled, | 120 | debugDisabled, |
118 | debugOldStyleInfo, | 121 | debugOldStyleInfo, |
119 | debugLineInfoOnly, | 122 | debugLineInfoOnly, |
120 | debugEnabled, | 123 | debugEnabled, |
121 | debugEditAndContinue | 124 | debugEditAndContinue |
122 | }; | 125 | }; |
123 | enum eAppProtectionOption { | 126 | enum eAppProtectionOption { |
124 | eAppProtectUnchanged, | 127 | eAppProtectUnchanged, |
125 | eAppProtectLow, | 128 | eAppProtectLow, |
126 | eAppProtectMedium, | 129 | eAppProtectMedium, |
127 | eAppProtectHigh | 130 | eAppProtectHigh |
128 | }; | 131 | }; |
129 | enum enumResourceLangID { | 132 | enum enumResourceLangID { |
130 | rcUseDefault = 0, | 133 | rcUseDefault = 0, |
131 | rcAfrikaans = 1078, | 134 | rcAfrikaans = 1078, |
132 | rcAlbanian = 1052, | 135 | rcAlbanian = 1052, |
133 | rcArabicAlgeria = 5121, | 136 | rcArabicAlgeria = 5121, |
134 | rcArabicBahrain = 15361, | 137 | rcArabicBahrain = 15361, |
135 | rcArabicEgypt = 3073, | 138 | rcArabicEgypt = 3073, |
136 | rcArabicIraq = 2049, | 139 | rcArabicIraq = 2049, |
137 | rcArabicJordan = 11265, | 140 | rcArabicJordan = 11265, |
138 | rcArabicKuwait = 13313, | 141 | rcArabicKuwait = 13313, |
139 | rcArabicLebanon = 12289, | 142 | rcArabicLebanon = 12289, |
140 | rcArabicLibya = 4097, | 143 | rcArabicLibya = 4097, |
141 | rcArabicMorocco = 6145, | 144 | rcArabicMorocco = 6145, |
142 | rcArabicOman = 8193, | 145 | rcArabicOman = 8193, |
143 | rcArabicQatar = 16385, | 146 | rcArabicQatar = 16385, |
144 | rcArabicSaudi = 1025, | 147 | rcArabicSaudi = 1025, |
145 | rcArabicSyria = 10241, | 148 | rcArabicSyria = 10241, |
146 | rcArabicTunisia = 7169, | 149 | rcArabicTunisia = 7169, |
147 | rcArabicUnitedArabEmirates= 14337, | 150 | rcArabicUnitedArabEmirates= 14337, |
148 | rcArabicYemen = 9217, | 151 | rcArabicYemen = 9217, |
@@ -211,203 +214,208 @@ enum enumResourceLangID { | |||
211 | rcSpanishEcuador = 12298, | 214 | rcSpanishEcuador = 12298, |
212 | rcSpanishGuatemala = 4106, | 215 | rcSpanishGuatemala = 4106, |
213 | rcSpanishMexico = 2058, | 216 | rcSpanishMexico = 2058, |
214 | rcSpanishModern = 3082, | 217 | rcSpanishModern = 3082, |
215 | rcSpanishPanama = 6154, | 218 | rcSpanishPanama = 6154, |
216 | rcSpanishParaguay = 15370, | 219 | rcSpanishParaguay = 15370, |
217 | rcSpanishPeru = 10250, | 220 | rcSpanishPeru = 10250, |
218 | rcSpanishTraditional= 1034, | 221 | rcSpanishTraditional= 1034, |
219 | rcSpanishUruguay = 14346, | 222 | rcSpanishUruguay = 14346, |
220 | rcSpanishVenezuela = 8202, | 223 | rcSpanishVenezuela = 8202, |
221 | rcSwedish = 1053, | 224 | rcSwedish = 1053, |
222 | rcThai = 1054, | 225 | rcThai = 1054, |
223 | rcTurkish = 1055, | 226 | rcTurkish = 1055, |
224 | rcUkrainian = 1058, | 227 | rcUkrainian = 1058, |
225 | rcUrdu = 1056 | 228 | rcUrdu = 1056 |
226 | }; | 229 | }; |
227 | enum enumSccEvent { | 230 | enum enumSccEvent { |
228 | eProjectInScc, | 231 | eProjectInScc, |
229 | ePreDirtyNotification | 232 | ePreDirtyNotification |
230 | }; | 233 | }; |
231 | enum favorSizeOrSpeedOption { | 234 | enum favorSizeOrSpeedOption { |
232 | favorNone, | 235 | favorNone, |
233 | favorSpeed, | 236 | favorSpeed, |
234 | favorSize | 237 | favorSize |
235 | }; | 238 | }; |
236 | enum genProxyLanguage { | 239 | enum genProxyLanguage { |
237 | genProxyNative, | 240 | genProxyNative, |
238 | genProxyManaged | 241 | genProxyManaged |
239 | }; | 242 | }; |
240 | enum inlineExpansionOption { | 243 | enum inlineExpansionOption { |
241 | expandDisable, | 244 | expandDisable, |
242 | expandOnlyInline, | 245 | expandOnlyInline, |
243 | expandAnySuitable | 246 | expandAnySuitable, |
247 | expandDefault // Not useful number, but stops the output | ||
244 | }; | 248 | }; |
245 | enum linkIncrementalType { | 249 | enum linkIncrementalType { |
246 | linkIncrementalDefault, | 250 | linkIncrementalDefault, |
247 | linkIncrementalNo, | 251 | linkIncrementalNo, |
248 | linkIncrementalYes | 252 | linkIncrementalYes |
249 | }; | 253 | }; |
250 | enum linkProgressOption { | 254 | enum linkProgressOption { |
251 | linkProgressNotSet, | 255 | linkProgressNotSet, |
252 | linkProgressAll, | 256 | linkProgressAll, |
253 | linkProgressLibs | 257 | linkProgressLibs |
254 | }; | 258 | }; |
255 | enum machineTypeOption { | 259 | enum machineTypeOption { |
256 | machineNotSet, | 260 | machineNotSet, |
257 | machineX86 | 261 | machineX86 |
258 | }; | 262 | }; |
259 | enum midlCharOption { | 263 | enum midlCharOption { |
260 | midlCharUnsigned, | 264 | midlCharUnsigned, |
261 | midlCharSigned, | 265 | midlCharSigned, |
262 | midlCharAscii7 | 266 | midlCharAscii7 |
263 | }; | 267 | }; |
264 | enum midlErrorCheckOption { | 268 | enum midlErrorCheckOption { |
265 | midlEnableCustom, | 269 | midlEnableCustom, |
266 | midlDisableAll, | 270 | midlDisableAll, |
267 | midlEnableAll | 271 | midlEnableAll |
268 | }; | 272 | }; |
269 | enum midlStructMemberAlignOption { | 273 | enum midlStructMemberAlignOption { |
270 | midlAlignNotSet, | 274 | midlAlignNotSet, |
271 | midlAlignSingleByte, | 275 | midlAlignSingleByte, |
272 | midlAlignTwoBytes, | 276 | midlAlignTwoBytes, |
273 | midlAlignFourBytes, | 277 | midlAlignFourBytes, |
274 | midlAlignEightBytes, | 278 | midlAlignEightBytes, |
275 | midlAlignSixteenBytes | 279 | midlAlignSixteenBytes |
276 | }; | 280 | }; |
277 | enum midlTargetEnvironment { | 281 | enum midlTargetEnvironment { |
278 | midlTargetNotSet, | 282 | midlTargetNotSet, |
279 | midlTargetWin32, | 283 | midlTargetWin32, |
280 | midlTargetWin64 | 284 | midlTargetWin64 |
281 | }; | 285 | }; |
282 | enum midlWarningLevelOption { | 286 | enum midlWarningLevelOption { |
283 | midlWarningLevel_0, | 287 | midlWarningLevel_0, |
284 | midlWarningLevel_1, | 288 | midlWarningLevel_1, |
285 | midlWarningLevel_2, | 289 | midlWarningLevel_2, |
286 | midlWarningLevel_3, | 290 | midlWarningLevel_3, |
287 | midlWarningLevel_4 | 291 | midlWarningLevel_4 |
288 | }; | 292 | }; |
289 | enum optFoldingType { | 293 | enum optFoldingType { |
290 | optFoldingDefault, | 294 | optFoldingDefault, |
291 | optNoFolding, | 295 | optNoFolding, |
292 | optFolding | 296 | optFolding |
293 | }; | 297 | }; |
294 | enum optimizeOption { | 298 | enum optimizeOption { |
295 | optimizeDisabled, | 299 | optimizeDisabled, |
296 | optimizeMinSpace, | 300 | optimizeMinSpace, |
297 | optimizeMaxSpeed, | 301 | optimizeMaxSpeed, |
298 | optimizeFull, | 302 | optimizeFull, |
299 | optimizeCustom | 303 | optimizeCustom, |
304 | optimizeDefault // Not useful number, but stops the output | ||
300 | }; | 305 | }; |
301 | enum optRefType { | 306 | enum optRefType { |
302 | optReferencesDefault, | 307 | optReferencesDefault, |
303 | optNoReferences, | 308 | optNoReferences, |
304 | optReferences | 309 | optReferences |
305 | }; | 310 | }; |
306 | enum optWin98Type { | 311 | enum optWin98Type { |
307 | optWin98Default, | 312 | optWin98Default, |
308 | optWin98No, | 313 | optWin98No, |
309 | optWin98Yes | 314 | optWin98Yes |
310 | }; | 315 | }; |
311 | enum pchOption { | 316 | enum pchOption { |
312 | pchNone, | 317 | pchNone, |
313 | pchCreateUsingSpecific, | 318 | pchCreateUsingSpecific, |
314 | pchGenerateAuto, | 319 | pchGenerateAuto, |
315 | pchUseUsingSpecific | 320 | pchUseUsingSpecific |
316 | }; | 321 | }; |
317 | enum preprocessOption { | 322 | enum preprocessOption { |
323 | preprocessUnknown = -1, | ||
318 | preprocessNo, | 324 | preprocessNo, |
319 | preprocessYes, | 325 | preprocessYes, |
320 | preprocessNoLineNumbers | 326 | preprocessNoLineNumbers |
321 | }; | 327 | }; |
322 | enum ProcessorOptimizeOption { | 328 | enum ProcessorOptimizeOption { |
323 | procOptimizeBlended, | 329 | procOptimizeBlended, |
324 | procOptimizePentium, | 330 | procOptimizePentium, |
325 | procOptimizePentiumProAndAbove | 331 | procOptimizePentiumProAndAbove |
326 | }; | 332 | }; |
327 | enum RemoteDebuggerType { | 333 | enum RemoteDebuggerType { |
328 | DbgLocal, | 334 | DbgLocal, |
329 | DbgRemote, | 335 | DbgRemote, |
330 | DbgRemoteTCPIP | 336 | DbgRemoteTCPIP |
331 | }; | 337 | }; |
332 | enum runtimeLibraryOption { | 338 | enum runtimeLibraryOption { |
339 | rtUnknown = -1, | ||
333 | rtMultiThreaded, | 340 | rtMultiThreaded, |
334 | rtMultiThreadedDebug, | 341 | rtMultiThreadedDebug, |
335 | rtMultiThreadedDLL, | 342 | rtMultiThreadedDLL, |
336 | rtMultiThreadedDebugDLL, | 343 | rtMultiThreadedDebugDLL, |
337 | rtSingleThreaded, | 344 | rtSingleThreaded, |
338 | rtSingleThreadedDebug | 345 | rtSingleThreadedDebug |
339 | }; | 346 | }; |
340 | enum structMemberAlignOption { | 347 | enum structMemberAlignOption { |
341 | alignNotSet, | 348 | alignNotSet, |
342 | alignSingleByte, | 349 | alignSingleByte, |
343 | alignTwoBytes, | 350 | alignTwoBytes, |
344 | alignFourBytes, | 351 | alignFourBytes, |
345 | alignEightBytes, | 352 | alignEightBytes, |
346 | alignSixteenBytes | 353 | alignSixteenBytes |
347 | }; | 354 | }; |
348 | enum subSystemOption { | 355 | enum subSystemOption { |
349 | subSystemNotSet, | 356 | subSystemNotSet, |
350 | subSystemConsole, | 357 | subSystemConsole, |
351 | subSystemWindows | 358 | subSystemWindows |
352 | }; | 359 | }; |
353 | enum termSvrAwarenessType { | 360 | enum termSvrAwarenessType { |
354 | termSvrAwareDefault, | 361 | termSvrAwareDefault, |
355 | termSvrAwareNo, | 362 | termSvrAwareNo, |
356 | termSvrAwareYes | 363 | termSvrAwareYes |
357 | }; | 364 | }; |
358 | enum toolSetType { | 365 | enum toolSetType { |
359 | toolSetUtility, | 366 | toolSetUtility, |
360 | toolSetMakefile, | 367 | toolSetMakefile, |
361 | toolSetLinker, | 368 | toolSetLinker, |
362 | toolSetLibrarian, | 369 | toolSetLibrarian, |
363 | toolSetAll | 370 | toolSetAll |
364 | }; | 371 | }; |
365 | enum TypeOfDebugger { | 372 | enum TypeOfDebugger { |
366 | DbgNativeOnly, | 373 | DbgNativeOnly, |
367 | DbgManagedOnly, | 374 | DbgManagedOnly, |
368 | DbgMixed, | 375 | DbgMixed, |
369 | DbgAuto | 376 | DbgAuto |
370 | }; | 377 | }; |
371 | enum useOfATL { | 378 | enum useOfATL { |
372 | useATLNotSet, | 379 | useATLNotSet, |
373 | useATLStatic, | 380 | useATLStatic, |
374 | useATLDynamic | 381 | useATLDynamic |
375 | }; | 382 | }; |
376 | enum useOfMfc { | 383 | enum useOfMfc { |
377 | useMfcStdWin, | 384 | useMfcStdWin, |
378 | useMfcStatic, | 385 | useMfcStatic, |
379 | useMfcDynamic | 386 | useMfcDynamic |
380 | }; | 387 | }; |
381 | enum warningLevelOption { | 388 | enum warningLevelOption { |
389 | warningLevelUnknown = -1, | ||
382 | warningLevel_0, | 390 | warningLevel_0, |
383 | warningLevel_1, | 391 | warningLevel_1, |
384 | warningLevel_2, | 392 | warningLevel_2, |
385 | warningLevel_3, | 393 | warningLevel_3, |
386 | warningLevel_4 | 394 | warningLevel_4 |
387 | }; | 395 | }; |
388 | 396 | ||
389 | class VCToolBase { | 397 | class VCToolBase { |
390 | protected: | 398 | protected: |
391 | // Functions | 399 | // Functions |
392 | VCToolBase(){}; | 400 | VCToolBase(){}; |
393 | virtual ~VCToolBase(){} | 401 | virtual ~VCToolBase(){} |
394 | virtual bool parseOption( const char* option ) = 0; | 402 | virtual bool parseOption( const char* option ) = 0; |
395 | public: | 403 | public: |
396 | void parseOptions( QStringList& options ) { | 404 | void parseOptions( QStringList& options ) { |
397 | for ( QStringList::ConstIterator it=options.begin(); (it!=options.end()); it++ ) | 405 | for ( QStringList::ConstIterator it=options.begin(); (it!=options.end()); it++ ) |
398 | parseOption( (*it).latin1() ); | 406 | parseOption( (*it).latin1() ); |
399 | } | 407 | } |
400 | }; | 408 | }; |
401 | 409 | ||
402 | class VCConfiguration; | 410 | class VCConfiguration; |
403 | class VCProject; | 411 | class VCProject; |
404 | 412 | ||
405 | class VCCLCompilerTool : public VCToolBase | 413 | class VCCLCompilerTool : public VCToolBase |
406 | { | 414 | { |
407 | public: | 415 | public: |
408 | // Functions | 416 | // Functions |
409 | VCCLCompilerTool(); | 417 | VCCLCompilerTool(); |
410 | virtual ~VCCLCompilerTool(){} | 418 | virtual ~VCCLCompilerTool(){} |
411 | bool parseOption( const char* option ); | 419 | bool parseOption( const char* option ); |
412 | 420 | ||
413 | // Variables | 421 | // Variables |
@@ -582,67 +590,67 @@ public: | |||
582 | 590 | ||
583 | class VCLibrarianTool : public VCToolBase | 591 | class VCLibrarianTool : public VCToolBase |
584 | { | 592 | { |
585 | public: | 593 | public: |
586 | // Functions | 594 | // Functions |
587 | VCLibrarianTool(); | 595 | VCLibrarianTool(); |
588 | virtual ~VCLibrarianTool(){} | 596 | virtual ~VCLibrarianTool(){} |
589 | bool parseOption( const char* ){ return FALSE; }; | 597 | bool parseOption( const char* ){ return FALSE; }; |
590 | 598 | ||
591 | // Variables | 599 | // Variables |
592 | QStringList AdditionalDependencies; | 600 | QStringList AdditionalDependencies; |
593 | QStringList AdditionalLibraryDirectories; | 601 | QStringList AdditionalLibraryDirectories; |
594 | QStringList AdditionalOptions; | 602 | QStringList AdditionalOptions; |
595 | QStringList ExportNamedFunctions; | 603 | QStringList ExportNamedFunctions; |
596 | QStringList ForceSymbolReferences; | 604 | QStringList ForceSymbolReferences; |
597 | triState IgnoreAllDefaultLibraries; | 605 | triState IgnoreAllDefaultLibraries; |
598 | QStringList IgnoreDefaultLibraryNames; | 606 | QStringList IgnoreDefaultLibraryNames; |
599 | QString ModuleDefinitionFile; | 607 | QString ModuleDefinitionFile; |
600 | QString OutputFile; | 608 | QString OutputFile; |
601 | triState SuppressStartupBanner; | 609 | triState SuppressStartupBanner; |
602 | }; | 610 | }; |
603 | 611 | ||
604 | class VCCustomBuildTool : public VCToolBase | 612 | class VCCustomBuildTool : public VCToolBase |
605 | { | 613 | { |
606 | public: | 614 | public: |
607 | // Functions | 615 | // Functions |
608 | VCCustomBuildTool(); | 616 | VCCustomBuildTool(); |
609 | virtual ~VCCustomBuildTool(){} | 617 | virtual ~VCCustomBuildTool(){} |
610 | bool parseOption( const char* ){ return FALSE; }; | 618 | bool parseOption( const char* ){ return FALSE; }; |
611 | 619 | ||
612 | // Variables | 620 | // Variables |
613 | QStringList AdditionalDependencies; | 621 | QStringList AdditionalDependencies; |
614 | QString CommandLine; | 622 | QStringList CommandLine; |
615 | QString Description; | 623 | QString Description; |
616 | QString Outputs; | 624 | QStringList Outputs; |
617 | QString ToolName; | 625 | QString ToolName; |
618 | QString ToolPath; | 626 | QString ToolPath; |
619 | }; | 627 | }; |
620 | 628 | ||
621 | class VCResourceCompilerTool : public VCToolBase | 629 | class VCResourceCompilerTool : public VCToolBase |
622 | { | 630 | { |
623 | public: | 631 | public: |
624 | // Functions | 632 | // Functions |
625 | VCResourceCompilerTool(); | 633 | VCResourceCompilerTool(); |
626 | virtual ~VCResourceCompilerTool(){} | 634 | virtual ~VCResourceCompilerTool(){} |
627 | bool parseOption( const char* ){ return FALSE; }; | 635 | bool parseOption( const char* ){ return FALSE; }; |
628 | 636 | ||
629 | // Variables | 637 | // Variables |
630 | QStringList AdditionalIncludeDirectories; | 638 | QStringList AdditionalIncludeDirectories; |
631 | QStringList AdditionalOptions; | 639 | QStringList AdditionalOptions; |
632 | enumResourceLangID Culture; | 640 | enumResourceLangID Culture; |
633 | QStringList FullIncludePath; | 641 | QStringList FullIncludePath; |
634 | triState IgnoreStandardIncludePath; | 642 | triState IgnoreStandardIncludePath; |
635 | QStringList PreprocessorDefinitions; | 643 | QStringList PreprocessorDefinitions; |
636 | QString ResourceOutputFileName; | 644 | QString ResourceOutputFileName; |
637 | linkProgressOption ShowProgress; | 645 | linkProgressOption ShowProgress; |
638 | QString ToolPath; | 646 | QString ToolPath; |
639 | }; | 647 | }; |
640 | 648 | ||
641 | class VCEventTool : public VCToolBase | 649 | class VCEventTool : public VCToolBase |
642 | { | 650 | { |
643 | protected: | 651 | protected: |
644 | // Functions | 652 | // Functions |
645 | VCEventTool() : ExcludedFromBuild( unset ){}; | 653 | VCEventTool() : ExcludedFromBuild( unset ){}; |
646 | virtual ~VCEventTool(){} | 654 | virtual ~VCEventTool(){} |
647 | bool parseOption( const char* ){ return FALSE; }; | 655 | bool parseOption( const char* ){ return FALSE; }; |
648 | 656 | ||
@@ -690,84 +698,91 @@ public: | |||
690 | ConfigurationTypesConfigurationType; | 698 | ConfigurationTypesConfigurationType; |
691 | QString DeleteExtensionsOnClean; | 699 | QString DeleteExtensionsOnClean; |
692 | QString ImportLibrary; | 700 | QString ImportLibrary; |
693 | QString IntermediateDirectory; | 701 | QString IntermediateDirectory; |
694 | QString Name; | 702 | QString Name; |
695 | QString OutputDirectory; | 703 | QString OutputDirectory; |
696 | QString PrimaryOutput; | 704 | QString PrimaryOutput; |
697 | QString ProgramDatabase; | 705 | QString ProgramDatabase; |
698 | triState RegisterOutput; | 706 | triState RegisterOutput; |
699 | useOfATL UseOfATL; | 707 | useOfATL UseOfATL; |
700 | useOfMfc UseOfMfc; | 708 | useOfMfc UseOfMfc; |
701 | triState WholeProgramOptimization; | 709 | triState WholeProgramOptimization; |
702 | 710 | ||
703 | // XML sub-parts | 711 | // XML sub-parts |
704 | VCCLCompilerTool compiler; | 712 | VCCLCompilerTool compiler; |
705 | VCLinkerTool linker; | 713 | VCLinkerTool linker; |
706 | VCLibrarianTool librarian; | 714 | VCLibrarianTool librarian; |
707 | VCCustomBuildTool custom; | 715 | VCCustomBuildTool custom; |
708 | VCMIDLTool idl; | 716 | VCMIDLTool idl; |
709 | VCPostBuildEventTool postBuild; | 717 | VCPostBuildEventTool postBuild; |
710 | VCPreBuildEventTool preBuild; | 718 | VCPreBuildEventTool preBuild; |
711 | VCPreLinkEventTool preLink; | 719 | VCPreLinkEventTool preLink; |
712 | VCResourceCompilerTool resource; | 720 | VCResourceCompilerTool resource; |
713 | }; | 721 | }; |
714 | 722 | ||
715 | class VcprojGenerator; | 723 | class VcprojGenerator; |
716 | class VCFilter | 724 | class VCFilter |
717 | { | 725 | { |
718 | public: | 726 | public: |
719 | // Functions | 727 | // Functions |
720 | VCFilter(); | 728 | VCFilter(); |
721 | ~VCFilter(){} | 729 | ~VCFilter(){} |
722 | void generateMOC( QTextStream &strm, QString str ) const; | 730 | void addMOCstage( QTextStream &strm, QString str ); |
723 | void generateUIC( QTextStream &strm, const QString& str ) const; | 731 | void addUICstage( QTextStream &strm, QString str ); |
732 | bool addIMGstage( QTextStream &strm, QString str ); | ||
733 | void modifyPCHstage( QTextStream &strm, QString str ); | ||
724 | 734 | ||
725 | // Variables | 735 | // Variables |
726 | QString Name; | 736 | QString Name; |
727 | QString Filter; | 737 | QString Filter; |
728 | triState ParseFiles; | 738 | triState ParseFiles; |
729 | QStringList Files; | 739 | QStringList Files; |
730 | VcprojGenerator*Project; | 740 | VcprojGenerator*Project; |
731 | VCConfiguration*Config; | 741 | QValueList<VCConfiguration> *Config; |
732 | customBuildCheckCustomBuild; | 742 | customBuildCheckCustomBuild; |
743 | bool useCustomBuildTool; | ||
744 | VCCustomBuildTool CustomBuildTool; | ||
745 | bool useCompilerTool; | ||
746 | VCCLCompilerTool CompilerTool; | ||
747 | bool flat_files; | ||
733 | }; | 748 | }; |
734 | 749 | ||
735 | class VCProject | 750 | class VCProject |
736 | { | 751 | { |
737 | public: | 752 | public: |
738 | // Functions | 753 | // Functions |
739 | VCProject(); | 754 | VCProject(); |
740 | ~VCProject(){} | 755 | ~VCProject(){} |
741 | 756 | ||
742 | // Variables | 757 | // Variables |
743 | QString Name; | 758 | QString Name; |
744 | QString Version; | 759 | QString Version; |
745 | QString ProjectGUID; | 760 | QString ProjectGUID; |
746 | QString SccProjectName; | 761 | QString SccProjectName; |
747 | QString SccLocalPath; | 762 | QString SccLocalPath; |
748 | QString PlatformName; | 763 | QString PlatformName; |
749 | 764 | ||
750 | // XML sub-parts | 765 | // XML sub-parts |
751 | VCConfigurationConfiguration; | 766 | QValueList<VCConfiguration> Configuration; |
752 | VCFilter SourceFiles; | 767 | VCFilter SourceFiles; |
753 | VCFilter HeaderFiles; | 768 | VCFilter HeaderFiles; |
754 | VCFilter MOCFiles; | 769 | VCFilter MOCFiles; |
755 | VCFilter UICFiles; | 770 | VCFilter UICFiles; |
756 | VCFilter FormFiles; | 771 | VCFilter FormFiles; |
757 | VCFilter TranslationFiles; | 772 | VCFilter TranslationFiles; |
758 | VCFilter LexYaccFiles; | 773 | VCFilter LexYaccFiles; |
759 | VCFilter ResourceFiles; | 774 | VCFilter ResourceFiles; |
760 | }; | 775 | }; |
761 | 776 | ||
762 | QTextStream &operator<<( QTextStream &, const VCCLCompilerTool & ); | 777 | QTextStream &operator<<( QTextStream &, const VCCLCompilerTool & ); |
763 | QTextStream &operator<<( QTextStream &, const VCLinkerTool & ); | 778 | QTextStream &operator<<( QTextStream &, const VCLinkerTool & ); |
764 | QTextStream &operator<<( QTextStream &, const VCMIDLTool & ); | 779 | QTextStream &operator<<( QTextStream &, const VCMIDLTool & ); |
765 | QTextStream &operator<<( QTextStream &, const VCCustomBuildTool & ); | 780 | QTextStream &operator<<( QTextStream &, const VCCustomBuildTool & ); |
766 | QTextStream &operator<<( QTextStream &, const VCLibrarianTool & ); | 781 | QTextStream &operator<<( QTextStream &, const VCLibrarianTool & ); |
767 | QTextStream &operator<<( QTextStream &, const VCResourceCompilerTool & ); | 782 | QTextStream &operator<<( QTextStream &, const VCResourceCompilerTool & ); |
768 | QTextStream &operator<<( QTextStream &, const VCEventTool & ); | 783 | QTextStream &operator<<( QTextStream &, const VCEventTool & ); |
769 | QTextStream &operator<<( QTextStream &, const VCConfiguration & ); | 784 | QTextStream &operator<<( QTextStream &, const VCConfiguration & ); |
770 | QTextStream &operator<<( QTextStream &, const VCFilter & ); | 785 | QTextStream &operator<<( QTextStream &, VCFilter & ); |
771 | QTextStream &operator<<( QTextStream &, const VCProject & ); | 786 | QTextStream &operator<<( QTextStream &, const VCProject & ); |
772 | 787 | ||
773 | #endif //__MSVC_OBJECTMODEL_H__ | 788 | #endif //__MSVC_OBJECTMODEL_H__ |