QtBase  v6.3.1
msvc_objectmodel.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the qmake application of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:GPL-EXCEPT$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/contact-us.
16 **
17 ** GNU General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU
19 ** General Public License version 3 as published by the Free Software
20 ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
21 ** included in the packaging of this file. Please review the following
22 ** information to ensure the GNU General Public License requirements will
23 ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
24 **
25 ** $QT_END_LICENSE$
26 **
27 ****************************************************************************/
28 
29 #ifndef MSVC_OBJECTMODEL_H
30 #define MSVC_OBJECTMODEL_H
31 
32 #include "project.h"
33 #include "xmloutput.h"
34 
35 #include <proitems.h>
36 
37 #include <qlist.h>
38 #include <qstring.h>
39 #include <qstringlist.h>
40 #include <qmap.h>
41 #include <qdebug.h>
42 
44 
45 enum DotNET {
47  NET2002 = 0x70,
48  NET2003 = 0x71,
49  NET2005 = 0x80,
50  NET2008 = 0x90,
51  NET2010 = 0xa0,
52  NET2012 = 0xb0,
53  NET2013 = 0xc0,
54  NET2015 = 0xd0,
55  NET2017 = 0xe0,
57  NET2022
58 };
59 
60 DotNET vsVersionFromString(const ProString &versionString);
61 
62 /*
63  This Object model is of course VERY simplyfied,
64  and does not actually follow the original MSVC
65  object model. However, it fulfilles the basic
66  needs for qmake
67 */
68 
69 /*
70  If a triState value is 'unset' then the
71  corresponding property is not in the output,
72  forcing the tool to utilize default values.
73  False/True values will be in the output...
74 */
75 enum triState {
76  unset = -1,
77  _False = 0,
78  _True = 1
79 };
80 
82 
87 };
94 };
100 };
105 };
111 };
112 enum charSet {
116 };
118  managedDefault = -1, // Was: noAssembly
120  managedAssemblyPure = 2, // Old was: Assembly
123 };
128 };
134  typeGeneric = 10
135 };
143 };
149 };
152  archSSE = 1,
153  archSSE2 = 2
154 };
156  ehDefault = -1,
157  ehNone = 0,
158  ehNoSEH = 1,
159  ehSEH = 2
160 };
163  rcAfrikaans = 1078,
164  rcAlbanian = 1052,
168  rcArabicIraq = 2049,
169  rcArabicJordan = 11265,
170  rcArabicKuwait = 13313,
174  rcArabicOman = 8193,
175  rcArabicQatar = 16385,
177  rcArabicSyria = 10241,
181  rcBasque = 1069,
182  rcBulgarian = 1026,
184  rcCatalan = 1027,
186  rcChinesePRC = 2052,
189  rcCroatian = 1050,
190  rcCzech = 1029,
191  rcDanish = 1030,
202  rcEnglishUS = 1033,
203  rcEstonian = 1061,
204  rcFarsi = 1065,
205  rcFinnish = 1035,
216  rcGreek = 1032,
217  rcHebrew = 1037,
218  rcHungarian = 1038,
219  rcIcelandic = 1039,
220  rcIndonesian = 1057,
223  rcJapanese = 1041,
224  rcKorean = 1042,
226  rcLatvian = 1062,
227  rcLithuanian = 1063,
230  rcPolish = 1045,
233  rcRomanian = 1048,
234  rcRussian = 1049,
235  rcSerbian = 2074,
236  rcSlovak = 1051,
239  rcSpanishChile = 13322,
249  rcSpanishPeru = 10250,
253  rcSwedish = 1053,
254  rcThai = 1054,
255  rcTurkish = 1055,
256  rcUkrainian = 1058,
257  rcUrdu = 1056
258 };
262 };
266  favorSize
267 };
273 };
277 };
282  expandDefault // Not useful number, but stops the output
283 };
287 };
292 };
297 };
301  machineX64 = 17
302 };
307 };
312 };
320 };
325 };
332 };
336  optFolding
337 };
344  optimizeDefault // Not useful number, but stops the output
345 };
350 };
355 };
362 };
363 enum pchOption {
364  pchUnset = -1,
369 };
375 };
381 };
385 };
390 };
392  rtUnknown = -1,
399 };
400 enum structMemberAlignOption {
407 };
412 };
417 };
423  toolSetAll
424 };
429  DbgAuto
430 };
431 enum useOfATL {
435 };
436 enum useOfMfc {
440 };
454  archMips64 = 7
455 };
463 };
464 
465 
466 class VCToolBase {
467 protected:
468  // Functions
470  virtual ~VCToolBase(){}
471  virtual bool parseOption(const char* option) = 0;
472 public:
473  void parseOptions(const ProStringList& options) {
474  for (ProStringList::ConstIterator it=options.begin(); (it!=options.end()); it++)
475  parseOption((*it).toLatin1().constData());
476  }
477  static QStringList fixCommandLine(const QString &input);
478 };
479 
480 class VCConfiguration;
481 class VCProject;
482 
484 {
485 public:
486  // Functions
488 
489  bool parseOption(const char* option) override;
490 
491  // Variables
564 
565  // VS2010
575 
577 
578 private:
579  bool parseRuntimeCheckOption(char c, int *rtc);
580 };
581 
582 class VCLinkerTool : public VCToolBase
583 {
584 public:
585  // Functions
586  VCLinkerTool();
587 
588  bool parseOption(const char* option) override;
589 
590  // Variables
622  QString MergeSections; // Should be list?
624  QString ModuleDefinitionFile; // Should be list?
636  QString StripPrivateSymbols; // Should be list?
649 
650  // VS2010
670 
671  // VS2012
674 
676 };
677 
679 {
680 public:
681  VCManifestTool();
682 
683  bool parseOption(const char* option) override;
684 
686 };
687 
688 class VCMIDLTool : public VCToolBase
689 {
690 public:
691  // Functions
692  VCMIDLTool();
693 
694  bool parseOption(const char* option) override;
695 
696  // Variables
701  QString DLLDataFileName; // Should be list?
727 
728  // VS 2010
738 
740 };
741 
743 {
744 public:
745  // Functions
746  VCLibrarianTool();
747 
748  bool parseOption(const char*) override { return false; }
749 
750  // Variables
761 };
762 
764 {
765 public:
766  // Functions
768 
769  bool parseOption(const char*) override { return false; }
770 
771  // Variables
778 
780 };
781 
783 {
784 public:
785  // Functions
787 
788  bool parseOption(const char*) override { return false; }
789 
790  // Variables
801 };
802 
804 {
805 public:
806  // Functions
808 
809  // Variables
814 };
815 
816 class VCEventTool : public VCToolBase
817 {
818 protected:
819  // Functions
820  VCEventTool(const QString &eventName);
821 
822  bool parseOption(const char*) override { return false; }
823 
824 public:
825  // Variables
832 };
833 
835 {
836 public:
838 };
839 
841 {
842 public:
844 };
845 
847 {
848 public:
850 };
851 
853 {
854 public:
856 
857 protected:
858  bool parseOption(const char *) override { return false; }
859 
860 public:
861  // Variables
865 
867 };
868 
870 {
871 public:
872  // Functions
873  VCConfiguration();
874 
877 
878  // Variables
886  QString Name; // "ConfigurationName|PlatformName"
897 
898  // XML sub-parts
910 };
911 
913 {
915  { excludeFromBuild = false; }
916  VCFilterFile(const QString &filename, bool exclude = false )
917  { file = filename; excludeFromBuild = exclude; }
918 
921 };
922 
923 #ifndef QT_NO_DEBUG_OUTPUT
924 inline QDebug operator<<(QDebug dbg, const VCFilterFile &p)
925 {
926  dbg.nospace() << "VCFilterFile(file(" << p.file
927  << ") excludeFromBuild(" << p.excludeFromBuild << "))" << Qt::endl;
928  return dbg.space();
929 }
930 #endif
931 
932 class VcprojGenerator;
933 class VCFilter
934 {
935 public:
936  // Functions
937  VCFilter();
938 
939  void addFile(const QString& filename);
940  void addFile(const VCFilterFile& fileInfo);
941  void addFiles(const QStringList& fileList);
942  void addFiles(const ProStringList& fileList);
943  bool addExtraCompiler(const VCFilterFile &info);
944  void modifyPCHstage(QString str);
945  VCFilterFile findFile(const QString &filePath, bool *found) const;
946 
947  // Variables
955 
958 
961 };
962 
965 {
966 public:
967  enum FilterTypes {
975  Extras
976  };
977 
978  // Variables
987 
988  // XML sub-parts
1001 
1003 
1004  const VCFilter &filterByName(const QString &name) const;
1005  const VCFilter &filterForExtraCompiler(const QString &compilerName) const;
1006 };
1008 
1009 // Tree & Flat view of files --------------------------------------------------
1010 class VCFilter;
1011 class Node
1012 {
1013 public:
1014  virtual ~Node() { }
1016  addElement(file.file, file);
1017  }
1018  virtual void addElement(const QString &filepath, const VCFilterFile &allInfo) = 0;
1019  virtual void removeElements()= 0;
1020  virtual void generateXML(XmlOutput &xml, const QString &tagName, VCProject &tool, const QString &filter) = 0;
1021  virtual bool hasElements() = 0;
1022 };
1023 
1024 class TreeNode : public Node
1025 {
1027  VCFilterFile info;
1028  ChildrenMap children;
1029 
1030 public:
1031  virtual ~TreeNode() { removeElements(); }
1032 
1033  int pathIndex(const QString &filepath) {
1034  int Windex = filepath.indexOf("\\");
1035  int Uindex = filepath.indexOf("/");
1036  if (Windex != -1 && Uindex != -1)
1037  return qMin(Windex, Uindex);
1038  else if (Windex != -1)
1039  return Windex;
1040  return Uindex;
1041  }
1042 
1043  void addElement(const QString &filepath, const VCFilterFile &allInfo) override {
1044  QString newNodeName(filepath);
1045 
1046  int index = pathIndex(filepath);
1047  if (index != -1)
1048  newNodeName = filepath.left(index);
1049 
1050  TreeNode *n = children.value(newNodeName);
1051  if (!n) {
1052  n = new TreeNode;
1053  n->info = allInfo;
1054  children.insert(newNodeName, n);
1055  }
1056  if (index != -1)
1057  n->addElement(filepath.mid(index+1), allInfo);
1058  }
1059 
1060  void removeElements() override {
1063  for( ; it != end; it++) {
1064  (*it)->removeElements();
1065  delete it.value();
1066  }
1067  children.clear();
1068  }
1069 
1070  void generateXML(XmlOutput &xml, const QString &tagName, VCProject &tool, const QString &filter) override;
1071  bool hasElements() override {
1072  return children.size() != 0;
1073  }
1074 };
1075 
1076 class FlatNode : public Node
1077 {
1079  ChildrenMapFlat children;
1080 
1081 public:
1082  virtual ~FlatNode() { removeElements(); }
1083 
1084  int pathIndex(const QString &filepath) {
1085  int Windex = filepath.lastIndexOf("\\");
1086  int Uindex = filepath.lastIndexOf("/");
1087  if (Windex != -1 && Uindex != -1)
1088  return qMax(Windex, Uindex);
1089  else if (Windex != -1)
1090  return Windex;
1091  return Uindex;
1092  }
1093 
1094  void addElement(const QString &filepath, const VCFilterFile &allInfo) override {
1095  QString newKey(filepath);
1096 
1097  int index = pathIndex(filepath);
1098  if (index != -1)
1099  newKey = filepath.mid(index+1);
1100 
1101  // Key designed to sort files with same
1102  // name in different paths correctly
1103  children.insert(newKey + "\0" + allInfo.file, allInfo);
1104  }
1105 
1106  void removeElements() override {
1107  children.clear();
1108  }
1109 
1110  void generateXML(XmlOutput &xml, const QString &tagName, VCProject &proj, const QString &filter) override;
1111  bool hasElements() override {
1112  return children.size() != 0;
1113  }
1114 };
1115 // ----------------------------------------------------------------------------
1116 
1118 {
1119 public:
1120  // Variables
1131 
1132  // Single projects
1134 
1135  // List of all extracompilers
1137 };
1138 
1140 {
1141 public:
1142  virtual ~VCProjectWriter() {}
1143 
1144  virtual void write(XmlOutput &, VCProjectSingleConfig &);
1145  virtual void write(XmlOutput &, VCProject &);
1146 
1147  virtual void write(XmlOutput &, const VCCLCompilerTool &);
1148  virtual void write(XmlOutput &, const VCLinkerTool &);
1149  virtual void write(XmlOutput &, const VCManifestTool &);
1150  virtual void write(XmlOutput &, const VCMIDLTool &);
1151  virtual void write(XmlOutput &, const VCCustomBuildTool &);
1152  virtual void write(XmlOutput &, const VCLibrarianTool &);
1153  virtual void write(XmlOutput &, const VCResourceCompilerTool &);
1154  virtual void write(XmlOutput &, const VCEventTool &);
1155  virtual void write(XmlOutput &, const VCDeploymentTool &);
1156  virtual void write(XmlOutput &, const VCWinDeployQtTool &);
1157  virtual void write(XmlOutput &, const VCConfiguration &);
1158  virtual void write(XmlOutput &, VCFilter &);
1159 
1160 private:
1161  static void outputFilter(VCProject &project, XmlOutput &xml, const QString &filtername);
1162  static void outputFileConfigs(VCProject &project, XmlOutput &xml, const VCFilterFile &info, const QString &filtername);
1163  static void outputFileConfig(VCFilter &filter, XmlOutput &xml, const QString &filename);
1164 
1165  friend class TreeNode;
1166  friend class FlatNode;
1167 };
1168 
1170 
1171 #endif // MSVC_OBJECTMODEL_H
void generateXML(XmlOutput &xml, const QString &tagName, VCProject &proj, const QString &filter) override
virtual ~FlatNode()
int pathIndex(const QString &filepath)
bool hasElements() override
void removeElements() override
void addElement(const QString &filepath, const VCFilterFile &allInfo) override
[0]
Definition: node.h:62
virtual bool hasElements()=0
virtual void addElement(const QString &filepath, const VCFilterFile &allInfo)=0
edge_iterator end() const
Definition: lalr.h:176
virtual ~Node()
void addElement(const VCFilterFile &file)
virtual void generateXML(XmlOutput &xml, const QString &tagName, VCProject &tool, const QString &filter)=0
virtual void removeElements()=0
operator<<(QDataStream &ds, qfloat16 f)
Definition: qfloat16.cpp:327
The QDebug class provides an output stream for debugging information.
Definition: qdebug.h:65
QDebug & nospace()
Definition: qdebug.h:113
QDebug & space()
Definition: qdebug.h:112
iterator end()
Definition: qlist.h:624
iterator begin()
Definition: qlist.h:623
const_iterator ConstIterator
Definition: qlist.h:280
iterator insert(const Key &key, const T &value)
Definition: qmap.h:719
T value(const Key &key, const T &defaultValue=T()) const
Definition: qmap.h:392
void clear()
Definition: qmap.h:324
const_iterator ConstIterator
Definition: qmap.h:670
const_iterator constBegin() const
Definition: qmap.h:635
size_type size() const
Definition: qmap.h:302
const_iterator constEnd() const
Definition: qmap.h:639
The QString class provides a Unicode character string.
Definition: qstring.h:388
qsizetype lastIndexOf(QChar c, Qt::CaseSensitivity cs=Qt::CaseSensitive) const noexcept
Definition: qstring.h:514
QString mid(qsizetype position, qsizetype n=-1) const
Definition: qstring.cpp:4994
QString left(qsizetype n) const
Definition: qstring.cpp:4951
static QString static QString qsizetype indexOf(QChar c, qsizetype from=0, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
Definition: qstring.cpp:4197
The QStringList class provides a list of strings.
void addElement(const QString &filepath, const VCFilterFile &allInfo) override
void removeElements() override
void generateXML(XmlOutput &xml, const QString &tagName, VCProject &tool, const QString &filter) override
bool hasElements() override
int pathIndex(const QString &filepath)
virtual ~TreeNode()
triState TurnOffAssemblyGeneration
QStringList ForcedUsingFiles
QStringList AdditionalOptions
triState GlobalOptimizations
triState EnableIntrinsicFunctions
triState EnableFunctionLevelLinking
VCConfiguration * config
QString ProgramDataBaseFileName
debugOption DebugInformationFormat
pchOption UsePrecompiledHeader
ProcessorOptimizeOption OptimizeForProcessor
triState OptimizeForWindowsApplication
browseInfoOption BrowseInformation
QStringList AdditionalUsingDirectories
optimizeOption Optimization
compileAsManagedOptions CompileAsManaged
callingConventionOption CallingConvention
QStringList TreatSpecificWarningsAsErrors
triState FloatingPointExceptions
triState UseUnicodeForAssemblerListing
bool parseOption(const char *option) override
QString XMLDocumentationFileName
floatingPointModel FloatingPointModel
triState TreatWChar_tAsBuiltInType
asmListingOption AssemblerOutput
triState ExpandAttributedSource
QStringList PreprocessorDefinitions
triState PreprocessSuppressLineNumbers
inlineExpansionOption InlineFunctionExpansion
triState GenerateXMLDocumentationFiles
QStringList DisableSpecificWarnings
favorSizeOrSpeedOption FavorSizeOrSpeed
triState IgnoreStandardIncludePath
triState OmitFramePointers
QString MultiProcessorCompilationProcessorCount
triState ForceConformanceInForLoopScope
triState EnableFiberSafeOptimizations
enhancedInstructionSetOption EnableEnhancedInstructionSet
useOfArchitecture CompileForArchitecture
QStringList UndefinePreprocessorDefinitions
triState CreateHotpatchableImage
triState WholeProgramOptimization
exceptionHandling ExceptionHandling
triState ImproveFloatingPointConsistency
QString AssemblerListingLocation
runtimeLibraryOption RuntimeLibrary
QString BrowseInformationFile
QString PrecompiledHeaderThrough
triState DisableLanguageExtensions
triState Detect64BitPortabilityProblems
QString PrecompiledHeaderFile
triState SuppressStartupBanner
QStringList AdditionalIncludeDirectories
warningLevelOption WarningLevel
CompileAsOptions CompileAs
QString PreprocessOutputPath
QStringList ForcedIncludeFiles
triState BufferSecurityCheck
preprocessOption GeneratePreprocessedFile
triState DefaultCharIsUnsigned
triState MultiProcessorCompilation
structMemberAlignOption StructMemberAlignment
triState OmitDefaultLibName
basicRuntimeCheckOption BasicRuntimeChecks
triState UndefineAllPreprocessorDefinitions
VCWinDeployQtTool windeployqt
VCResourceCompilerTool resource
ConfigurationTypes ConfigurationType
VCPreBuildEventTool preBuild
VCLibrarianTool librarian
triState WholeProgramOptimization
VCLinkerTool linker
VCManifestTool manifestTool
triState BuildBrowserInformation
triState ATLMinimizesCRunTimeLibraryUsage
VCPostBuildEventTool postBuild
QString IntermediateDirectory
QString DeleteExtensionsOnClean
bool suppressUnknownOptionWarnings
VCDeploymentTool deployment
QString PrimaryOutputExtension
VCCLCompilerTool compiler
VCPreLinkEventTool preLink
QStringList AdditionalDependencies
QStringList CommandLine
VCConfiguration * config
bool parseOption(const char *) override
RegisterDeployOption RegisterOutput
QStringList CommandLine
VCEventTool(const QString &eventName)
QString Description
bool parseOption(const char *) override
triState ExcludedFromBuild
bool useCompilerTool
triState ParseFiles
void modifyPCHstage(QString str)
QString Filter
bool addExtraCompiler(const VCFilterFile &info)
bool useCustomBuildTool
VcprojGenerator * Project
VCCustomBuildTool CustomBuildTool
void addFiles(const QStringList &fileList)
VCConfiguration * Config
QList< VCFilterFile > Files
VCCLCompilerTool CompilerTool
VCFilterFile findFile(const QString &filePath, bool *found) const
QString Name
QString Guid
void addFile(const QString &filename)
QStringList ForceSymbolReferences
triState IgnoreAllDefaultLibraries
QString ModuleDefinitionFile
QStringList ExportNamedFunctions
bool parseOption(const char *) override
QStringList AdditionalLibraryDirectories
QStringList IgnoreDefaultLibraryNames
triState SuppressStartupBanner
QStringList AdditionalOptions
QStringList AdditionalDependencies
triState IgnoreAllDefaultLibraries
qlonglong StackCommitSize
triState GenerateManifest
triState ImageHasSafeExceptionHandlers
linkIncrementalType LinkIncremental
qlonglong StackReserveSize
QString MergedIDLBaseFileName
QStringList AdditionalDependencies
triState IgnoreImportLibrary
QString WindowsMetadataFile
QString TypeLibraryFile
QString ManifestFile
triState ResourceOnlyDLL
QString ProgramDatabaseFile
QString FunctionOrder
triState RegisterOutput
optLinkTimeCodeGenType LinkTimeCodeGeneration
QStringList DelayLoadDLLs
VCConfiguration * config
qlonglong HeapCommitSize
triState AllowIsolation
triState UACUIAccess
triState IgnoreEmbeddedIDL
qlonglong HeapReserveSize
triState GenerateMapFile
QStringList IgnoreDefaultLibraryNames
triState DelaySign
optRefType OptimizeReferences
QStringList AdditionalOptions
optFoldingType EnableCOMDATFolding
QString UACExecutionLevel
linkProgressOption ShowProgress
optWin98Type OptimizeForWindows98
bool parseOption(const char *option) override
QString MergeSections
triState TreatWarningsAsErrors
machineTypeOption TargetMachine
QString MidlCommandFile
triState DataExecutionPrevention
triState SwapRunFromCD
triState PreventDllBinding
addressAwarenessType LargeAddressAware
QString CLRThreadAttribute
triState SetChecksum
QString StripPrivateSymbols
triState TurnOffAssemblyGeneration
QString ImportLibrary
QStringList AssemblyLinkResource
triState AssemblyDebug
triState SuppressStartupBanner
triState RandomizedBaseAddress
QString LinkToManagedResourceFile
qlonglong SectionAlignment
triState MapExports
triState EnableUAC
QString ModuleDefinitionFile
QString CLRImageType
triState GenerateWindowsMetadata
QString KeyContainer
linkerDebugOption DebugInfoOption
QStringList ForceSymbolReferences
QStringList AddModuleNamesToAssembly
triState SwapRunFromNet
triState SupportUnloadOfDelayLoadedDLL
triState CLRUnmanagedCodeCheck
QString CLRSupportLastError
qlonglong TypeLibraryResourceID
QStringList AdditionalManifestDependencies
QString EntryPointSymbol
termSvrAwarenessType TerminalServerAware
QStringList AdditionalLibraryDirectories
triState GenerateDebugInformation
subSystemOption SubSystem
QString LinkErrorReporting
bool parseOption(const char *option) override
QStringList AdditionalOptions
midlStructMemberAlignOption StructMemberAlignment
triState GenerateTypeLibrary
QStringList PreprocessorDefinitions
qlonglong LocaleID
QString ClientStubFile
triState SuppressCompilerWarnings
QString RedirectOutputAndErrors
triState ErrorCheckAllocations
triState ValidateParameters
triState IgnoreStandardIncludePath
QStringList AdditionalIncludeDirectories
triState ApplicationConfigurationMode
QString GenerateClientFiles
triState SuppressStartupBanner
triState ErrorCheckStubData
QString TypeLibraryName
triState ValidateAllParameters
triState WarnAsError
midlErrorCheckOption EnableErrorChecks
QString InterfaceIdentifierFileName
QStringList UndefinePreprocessorDefinitions
triState MkTypLibCompatible
midlWarningLevelOption WarningLevel
QStringList CPreprocessOptions
triState ErrorCheckRefPointers
QString ProxyFileName
triState ErrorCheckEnumRange
QStringList FullIncludePath
QString ServerStubFile
triState GenerateStublessProxies
QString OutputDirectory
QString HeaderFileName
QString TypeLibFormat
midlTargetEnvironment TargetEnvironment
QString GenerateServerFiles
QString DLLDataFileName
midlCharOption DefaultCharType
VCConfiguration * config
triState ErrorCheckBounds
triState EmbedManifest
bool parseOption(const char *option) override
VCPostBuildEventTool()
QString WindowsTargetPlatformMinVersion
QList< VCProjectSingleConfig > SingleProjects
QString ProjectGUID
QString SccLocalPath
QString PlatformName
QStringList ExtraCompilers
QString WindowsTargetPlatformVersion
QString SdkVersion
QString SccProjectName
const VCFilter & filterByName(const QString &name) const
const VCFilter & filterForExtraCompiler(const QString &compilerName) const
VCFilterList ExtraCompilersFiles
VCConfiguration Configuration
virtual ~VCProjectWriter()
virtual void write(XmlOutput &, VCProjectSingleConfig &)
enumResourceLangID Culture
bool parseOption(const char *) override
QStringList AdditionalIncludeDirectories
QStringList PreprocessorDefinitions
linkProgressOption ShowProgress
static QStringList fixCommandLine(const QString &input)
virtual bool parseOption(const char *option)=0
void parseOptions(const ProStringList &options)
virtual ~VCToolBase()
VCConfiguration * config
bool parseOption(const char *) override
QString str
[2]
backing_store_ptr info
[4]
Definition: jmemsys.h:161
ConfigurationTypes
@ typeDynamicLibrary
@ typeGeneric
@ typeStaticLibrary
@ typeApplication
@ typeUnknown
asmListingOption
@ asmListingAsmMachine
@ asmListingAssemblyOnly
@ asmListingNone
@ asmListingAsmMachineSrc
@ asmListingAsmSrc
triState
@ _False
@ _True
@ unset
inlineExpansionOption
@ expandDisable
@ expandDefault
@ expandOnlyInline
@ expandAnySuitable
toolSetType
@ toolSetAll
@ toolSetLibrarian
@ toolSetMakefile
@ toolSetUtility
@ toolSetLinker
midlErrorCheckOption
@ midlDisableAll
@ midlEnableAll
@ midlEnableCustom
linkIncrementalType
@ linkIncrementalNo
@ linkIncrementalYes
@ linkIncrementalDefault
compileAsManagedOptions
@ managedAssemblyPure
@ managedAssemblyOldSyntax
@ managedAssemblySafe
@ managedDefault
@ managedAssembly
optWin98Type
@ optWin98Yes
@ optWin98Default
@ optWin98No
ProcessorOptimizeOption
@ procOptimizePentiumProAndAbove
@ procOptimizePentium4AndAbove
@ procOptimizeBlended
@ procOptimizePentium
RemoteDebuggerType
@ DbgRemoteTCPIP
@ DbgLocal
@ DbgRemote
favorSizeOrSpeedOption
@ favorSpeed
@ favorSize
@ favorNone
eAppProtectionOption
@ eAppProtectLow
@ eAppProtectHigh
@ eAppProtectMedium
@ eAppProtectUnchanged
midlStructMemberAlignOption
@ midlAlignFourBytes
@ midlAlignTwoBytes
@ midlAlignNotSet
@ midlAlignSixteenBytes
@ midlAlignEightBytes
@ midlAlignSingleByte
Q_DECLARE_TYPEINFO(VCProjectSingleConfig, Q_RELOCATABLE_TYPE)
QList< VCFilter > VCFilterList
enumResourceLangID
@ rcSpanishPeru
@ rcBulgarian
@ rcChineseTaiwan
@ rcArabicEgypt
@ rcItalianSwitzerland
@ rcSpanishParaguay
@ rcBasque
@ rcArabicOman
@ rcIcelandic
@ rcPolish
@ rcCroatian
@ rcEnglishIreland
@ rcEstonian
@ rcArabicIraq
@ rcGreek
@ rcGermanLuxembourg
@ rcThai
@ rcSwedish
@ rcAfrikaans
@ rcSpanishCostaRica
@ rcKorean
@ rcRomanian
@ rcSpanishArgentina
@ rcDutchBelgium
@ rcCzech
@ rcHungarian
@ rcArabicSaudi
@ rcUrdu
@ rcSpanishMexico
@ rcArabicAlgeria
@ rcSpanishGuatemala
@ rcByelorussian
@ rcSpanishEcuador
@ rcChineseHongKong
@ rcArabicLebanon
@ rcEnglishNewZealand
@ rcCatalan
@ rcEnglishBritain
@ rcNorwegianNynorsk
@ rcUkrainian
@ rcFrenchSwitzerland
@ rcChineseSingapore
@ rcAlbanian
@ rcArabicKuwait
@ rcDanish
@ rcArabicBahrain
@ rcArabicQatar
@ rcItalianStandard
@ rcFrenchLuxembourg
@ rcTurkish
@ RcEnglishCaribbean
@ rcSpanishUruguay
@ rcArabicUnitedArabEmirates
@ rcLithuanian
@ rcSerbian
@ rcFrenchStandard
@ rcSpanishColombia
@ rcNorwegianBokmal
@ rcChinesePRC
@ rcHebrew
@ rcSpanishTraditional
@ rcArabicLibya
@ rcKoreanJohab
@ rcSpanishDominicanRepublic
@ rcEnglishJamaica
@ rcEnglishCanada
@ rcGermanAustria
@ rcSpanishBolivia
@ rcGermanStandard
@ rcDutchStandard
@ rcArabicSyria
@ rcSpanishChile
@ rcSpanishPanama
@ rcArabicJordan
@ rcIndonesian
@ rcEnglishUS
@ rcJapanese
@ rcArabicYemen
@ rcEnglishAustralia
@ rcSpanishVenezuela
@ rcFrenchCanada
@ rcLatvian
@ rcFinnish
@ rcArabicMorocco
@ rcFarsi
@ rcFrenchBelgium
@ rcGermanLichtenstein
@ rcSpanishModern
@ rcPortugueseBrazilian
@ rcPortugueseStandard
@ rcArabicTunisia
@ rcGermanSwitzerland
@ rcSlovak
@ rcEnglishSouthAfrica
@ rcUseDefault
@ rcRussian
DotNET vsVersionFromString(const ProString &versionString)
pchOption
@ pchCreateUsingSpecific
@ pchUseUsingSpecific
@ pchUnset
@ pchGenerateAuto
@ pchNone
useOfMfc
@ useMfcStatic
@ useMfcStdWin
@ useMfcDynamic
TypeOfDebugger
@ DbgAuto
@ DbgNativeOnly
@ DbgManagedOnly
@ DbgMixed
DotNET
@ NET2015
@ NET2003
@ NET2005
@ NET2002
@ NET2008
@ NET2013
@ NET2022
@ NET2012
@ NET2017
@ NET2010
@ NETUnknown
@ NET2019
browseInfoOption
@ brAllInfo
@ brNoLocalSymbols
@ brInfoNone
subSystemOption
@ subSystemConsole
@ subSystemNotSet
@ subSystemWindows
RegisterDeployOption
@ registerNo
@ registerYes
preprocessOption
@ preprocessNoLineNumbers
@ preprocessUnknown
@ preprocessYes
@ preprocessNo
linkerDebugOption
@ linkerDebugOptionNone
@ linkerDebugOptionFastLink
midlTargetEnvironment
@ midlTargetWin32
@ midlTargetNotSet
@ midlTargetWin64
structMemberAlignOption
@ alignNotSet
@ alignSixteenBytes
@ alignTwoBytes
@ alignEightBytes
@ alignFourBytes
@ alignSingleByte
runtimeLibraryOption
@ rtMultiThreadedDLL
@ rtMultiThreadedDebugDLL
@ rtMultiThreadedDebug
@ rtUnknown
@ rtMultiThreaded
@ rtSingleThreaded
@ rtSingleThreadedDebug
midlCharOption
@ midlCharUnsigned
@ midlCharAscii7
@ midlCharSigned
optimizeOption
@ optimizeDisabled
@ optimizeMaxSpeed
@ optimizeDefault
@ optimizeCustom
@ optimizeFull
@ optimizeMinSpace
linkProgressOption
@ linkProgressLibs
@ linkProgressAll
@ linkProgressNotSet
enhancedInstructionSetOption
@ archNotSet
@ archSSE2
@ archSSE
debugOption
@ debugOldStyleInfo
@ debugLineInfoOnly
@ debugEditAndContinue
@ debugDisabled
@ debugEnabled
@ debugUnknown
floatingPointModel
@ floatingPointPrecise
@ floatingPointFast
@ floatingPointNotSet
@ floatingPointStrict
@ charSetMBCS
@ charSetUnicode
@ charSetNotSet
optRefType
@ optReferences
@ optNoReferences
@ optReferencesDefault
basicRuntimeCheckOption
@ runtimeBasicCheckAll
@ runtimeCheckStackFrame
@ runtimeCheckUninitVariables
@ runtimeBasicCheckNone
optFoldingType
@ optNoFolding
@ optFoldingDefault
@ optFolding
triState operator!(const triState &rhs)
addressAwarenessType
@ addrAwareNoLarge
@ addrAwareLarge
@ addrAwareDefault
machineTypeOption
@ machineX64
@ machineNotSet
@ machineX86
exceptionHandling
@ ehNone
@ ehNoSEH
@ ehSEH
@ ehDefault
useOfATL
@ useATLDynamic
@ useATLNotSet
@ useATLStatic
useOfArchitecture
@ archUnknown
@ archArmv5
@ archArmv5T
@ archMips16
@ archMips2
@ archMips5
@ archMips1
@ archArmv4T
@ archArmv4
@ archMips32
@ archMips64
@ archMips3
@ archMips4
CompileAsOptions
@ compileAsDefault
@ compileAsCPlusPlus
@ compileAsC
optLinkTimeCodeGenType
@ optLTCGDefault
@ optLTCGEnabled
@ optLTCGOptimize
@ optLTCGInstrument
@ optLTCGUpdate
genProxyLanguage
@ genProxyNative
@ genProxyManaged
warningLevelOption
@ warningLevelUnknown
@ warningLevel_2
@ warningLevel_4
@ warningLevel_3
@ warningLevel_1
@ warningLevel_0
midlWarningLevelOption
@ midlWarningLevel_1
@ midlWarningLevel_4
@ midlWarningLevel_3
@ midlWarningLevel_2
@ midlWarningLevel_0
callingConventionOption
@ callConventionStdCall
@ callConventionDefault
@ callConventionFastCall
@ callConventionCDecl
termSvrAwarenessType
@ termSvrAwareNo
@ termSvrAwareDefault
@ termSvrAwareYes
enumSccEvent
@ eProjectInScc
@ ePreDirtyNotification
QTextStream & endl(QTextStream &stream)
qint64 qlonglong
Definition: qglobal.h:301
GLuint index
[2]
GLuint GLuint end
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLuint name
GLfloat n
const GLubyte * c
Definition: qopenglext.h:12701
GLfloat GLfloat p
[1]
Definition: qopenglext.h:12698
GLuint GLenum option
Definition: qopenglext.h:5929
GLenum GLenum GLenum input
Definition: qopenglext.h:10816
@ Q_RELOCATABLE_TYPE
Definition: qtypeinfo.h:156
QFile file
[0]
QXmlStreamReader xml
[0]
QStringList::Iterator it
VCFilterFile(const QString &filename, bool exclude=false)
#define rhs