QtBase  v6.3.1
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
VcprojGenerator Class Reference

#include <msvc_vcproj.h>

Inheritance diagram for VcprojGenerator:
Inheritance graph
[legend]
Collaboration diagram for VcprojGenerator:
Collaboration graph
[legend]

Public Member Functions

 VcprojGenerator ()
 
 ~VcprojGenerator ()
 
QString defaultMakefile () const
 
- Public Member Functions inherited from Win32MakefileGenerator
ProKey fullTargetVariable () const override
 
- Public Member Functions inherited from MakefileGenerator
QMakeProjectprojectFile () const
 
void setProjectFile (QMakeProject *p)
 
void setNoIO (bool o)
 
bool noIO () const
 
bool exists (QString file) const
 
QFileInfo fileInfo (QString file) const
 
virtual bool write ()
 
bool isWindowsShell () const
 
QString shellQuote (const QString &str) const
 

Static Public Member Functions

static bool hasBuiltinCompiler (const QString &file)
 
- Static Public Member Functions inherited from MakefileGenerator
static MakefileGeneratorcreate (QMakeProject *)
 

Public Attributes

QString precompH
 
QString precompHFilename
 
QString precompSource
 
QString precompObj
 
QString precompPch
 
bool autogenPrecompSource
 
QHash< QString, QStringListextraCompilerSources
 
QHash< QString, QStringextraCompilerOutputs
 
const QString customBuildToolFilterFileSuffix
 
bool usePCH
 
bool pchIsCFile = false
 
VCProjectWriterprojectWriter
 

Protected Member Functions

virtual VCProjectWritercreateProjectWriter ()
 
bool doDepends () const override
 
QString replaceExtraCompilerVariables (const QString &, const QStringList &, const QStringList &, ReplaceFor) override
 
QString extraCompilerName (const ProString &extraCompiler, const QStringList &inputs, const QStringList &outputs)
 
bool supportsMetaBuild () override
 
bool supportsMergedBuilds () override
 
bool mergeBuildProject (MakefileGenerator *other) override
 
bool openOutput (QFile &file, const QString &build) const override
 
virtual void initProject ()
 
void initConfiguration ()
 
void initCompilerTool ()
 
void initLinkerTool ()
 
void initLibrarianTool ()
 
void initManifestTool ()
 
void initResourceTool ()
 
void initIDLTool ()
 
void initCustomBuildTool ()
 
void initPreBuildEventTools ()
 
void initPostBuildEventTools ()
 
void initDeploymentTool ()
 
void initWinDeployQtTool ()
 
void initPreLinkEventTools ()
 
void initRootFiles ()
 
void initSourceFiles ()
 
void initHeaderFiles ()
 
void initGeneratedFiles ()
 
void initTranslationFiles ()
 
void initFormFiles ()
 
void initResourceFiles ()
 
void initDeploymentFiles ()
 
void initDistributionFiles ()
 
void initLexYaccFiles ()
 
void initExtraCompilerOutputs ()
 
void writeSubDirs (QTextStream &t)
 
QUuid getProjectUUID (const QString &filename=QString())
 
- Protected Member Functions inherited from Win32MakefileGenerator
QString defaultInstall (const QString &) override
 
void writeDefaultVariables (QTextStream &t) override
 
virtual void writeCleanParts (QTextStream &t)
 
virtual void writeStandardParts (QTextStream &t)
 
virtual void writeIncPart (QTextStream &t)
 
virtual void writeLibsPart (QTextStream &t)
 
virtual void writeObjectsPart (QTextStream &t)
 
virtual void writeImplicitRulesPart (QTextStream &t)
 
virtual void writeBuildRulesPart (QTextStream &)
 
QString escapeFilePath (const QString &path) const override
 
QString escapeDependencyPath (const QString &path) const override
 
virtual void writeRcFilePart (QTextStream &t)
 
bool findLibraries (bool linkPrl, bool mergeLflags) override
 
LibFlagType parseLibFlag (const ProString &flag, ProString *arg) override
 
ProString fixLibFlag (const ProString &lib) override
 
bool processPrlFileBase (QString &origFile, QStringView origName, QStringView fixedBase, int slashOff) override
 
void processVars ()
 
void fixTargetExt ()
 
void processRcFileVar ()
 
virtual QString escapeFilePath (const QString &path) const=0
 
ProString escapeFilePath (const ProString &path) const
 
template<typename A , typename B >
QString escapeFilePath (const QStringBuilder< A, B > &path) const
 
virtual QString escapeDependencyPath (const QString &path) const
 
ProString escapeDependencyPath (const ProString &path) const
 
template<typename A , typename B >
QString escapeDependencyPath (const QStringBuilder< A, B > &path) const
 
- Protected Member Functions inherited from MakefileGenerator
ProStringList createObjectList (const ProStringList &sources)
 
void writeObj (QTextStream &, const char *src)
 
void writeInstalls (QTextStream &t, bool noBuild=false)
 
void writeHeader (QTextStream &t)
 
void writeSubDirs (QTextStream &t)
 
void writeMakeQmake (QTextStream &t, bool noDummyQmakeAll=false)
 
void writeExportedVariables (QTextStream &t)
 
void writeExtraVariables (QTextStream &t)
 
void writeExtraTargets (QTextStream &t)
 
QString resolveDependency (const QDir &outDir, const QString &file)
 
void callExtraCompilerDependCommand (const ProString &extraCompiler, const QString &tmp_dep_cmd, const QString &inpf, const QString &tmp_out, bool dep_lines, QStringList *deps, bool existingDepsOnly, bool checkCommandAvailability=false)
 
void writeExtraCompilerTargets (QTextStream &t)
 
void writeExtraCompilerVariables (QTextStream &t)
 
bool writeDummyMakefile (QTextStream &t)
 
QString pkgConfigPrefix () const
 
QString pkgConfigFileName (bool fixify=true)
 
QString pkgConfigFixPath (QString) const
 
void writePkgConfigFile ()
 
QList< MakefileGenerator::SubTarget * > findSubDirsSubTargets () const
 
void writeSubTargetCall (QTextStream &t, const QString &in_directory, const QString &in, const QString &out_directory, const QString &out, const QString &out_directory_cdin, const QString &makefilein)
 
virtual void writeSubMakeCall (QTextStream &t, const QString &outDirectory_cdin, const QString &makeFileIn)
 
virtual void writeSubTargets (QTextStream &t, QList< SubTarget * > subtargets, int flags)
 
virtual ProStringList extraSubTargetDependencies ()
 
bool verifyExtraCompiler (const ProString &c, const QString &f)
 
QString replaceExtraCompilerVariables (const QString &val, const QString &in, const QString &out, ReplaceFor forShell)
 
QMakeLocalFileName fixPathForFile (const QMakeLocalFileName &, bool) override
 
QMakeLocalFileName findFileForDep (const QMakeLocalFileName &, const QMakeLocalFileName &) override
 
QFileInfo findFileInfo (const QMakeLocalFileName &) override
 
ProString escapeFilePath (const ProString &path) const
 
template<typename A , typename B >
QString escapeFilePath (const QStringBuilder< A, B > &path) const
 
QStringList escapeFilePaths (const QStringList &paths) const
 
ProStringList escapeFilePaths (const ProStringList &paths) const
 
ProString escapeDependencyPath (const ProString &path) const
 
template<typename A , typename B >
QString escapeDependencyPath (const QStringBuilder< A, B > &path) const
 
QStringList escapeDependencyPaths (const QStringList &paths) const
 
ProStringList escapeDependencyPaths (const ProStringList &paths) const
 
QStringList finalizeDependencyPaths (const QStringList &paths) const
 
void verifyCompilers ()
 
void initOutPaths ()
 
virtual bool inhibitMakeDirOutPath (const ProKey &path) const
 
void initCompiler (const Compiler &comp)
 
ProStringList findFilesInVPATH (ProStringList l, uchar flags, const QString &var="")
 
int findExecutable (const QStringList &cmdline)
 
bool canExecute (const QStringList &cmdline, int *argv0) const
 
bool canExecute (const QString &cmdline) const
 
bool mkdir (const QString &dir) const
 
QString mkdir_p_asstring (const QString &dir, bool escape=true) const
 
QString specdir ()
 
QString buildArgs (bool withExtra)
 
virtual QStringListfindDependencies (const QString &file)
 
void filterIncludedFiles (const char *)
 
void processSources ()
 
virtual QString installRoot () const
 
QString prlFileName (bool fixify=true)
 
void writePrlFile ()
 
bool processPrlFile (QString &, bool baseOnly)
 
virtual void writePrlFile (QTextStream &)
 
virtual QString var (const ProKey &var) const
 
QString varGlue (const ProKey &var, const QString &before, const QString &glue, const QString &after) const
 
QString varList (const ProKey &var) const
 
QString fixFileVarGlue (const ProKey &var, const QString &before, const QString &glue, const QString &after) const
 
QString fileVarList (const ProKey &var) const
 
QString fileVarGlue (const ProKey &var, const QString &before, const QString &glue, const QString &after) const
 
QString fileVar (const ProKey &var) const
 
QString depVar (const ProKey &var) const
 
QString val (const ProStringList &varList) const
 
QString val (const QStringList &varList) const
 
QString valGlue (const QStringList &varList, const QString &before, const QString &glue, const QString &after) const
 
QString valGlue (const ProStringList &varList, const QString &before, const QString &glue, const QString &after) const
 
QString valList (const QStringList &varList) const
 
QString valList (const ProStringList &varList) const
 
QString filePrefixRoot (const QString &, const QString &)
 
ProStringList fixLibFlags (const ProKey &var)
 
QString fileFixify (const QString &file, FileFixifyTypes fix=FileFixifyDefault, bool canon=true) const
 
QStringList fileFixify (const QStringList &files, FileFixifyTypes fix=FileFixifyDefault, bool canon=true) const
 
QString createSedArgs (const ProKey &replace_rule, const QString &file_type=QString()) const
 
QString installMetaFile (const ProKey &replace_rule, const QString &src, const QString &dst) const
 
bool processPrlFileCore (QString &origFile, QStringView origName, const QString &fixedFile)
 
QString createResponseFile (const QString &baseName, const ProStringList &objList, const QString &prefix=QString()) const
 
LinkerResponseFileInfo maybeCreateLinkerResponseFile () const
 
 QMakeSourceFileInfo ()
 
virtual ~QMakeSourceFileInfo ()
 
QList< QMakeLocalFileNamedependencyPaths () const
 
void setDependencyPaths (const QList< QMakeLocalFileName > &)
 
void setDependencyMode (DependencyMode mode)
 
DependencyMode dependencyMode () const
 
void setSystemIncludes (const ProStringList &list)
 
void addSourceFiles (const ProStringList &, uchar seek, SourceFileType type=TYPE_C)
 
void addSourceFile (const QString &, uchar seek, SourceFileType type=TYPE_C)
 
bool containsSourceFile (const QString &, SourceFileType type=TYPE_C)
 
bool isSystemInclude (const QString &)
 
int included (const QString &file)
 
QStringList dependencies (const QString &file)
 
bool mocable (const QString &file)
 

Protected Attributes

Target projectTarget
 
VCProjectSingleConfig vcProject
 
QList< VcprojGenerator * > mergedProjects
 
- Protected Attributes inherited from MakefileGenerator
enum MakefileGenerator::TARG_MODE target_mode
 
QMakeProjectproject = nullptr
 

Friends

class VCFilter
 

Additional Inherited Members

- Public Types inherited from MakefileGenerator
enum  ReplaceFor { NoShell , LocalShell , TargetShell }
 
enum  FileFixifyType {
  FileFixifyFromIndir = 0 , FileFixifyFromOutdir = 1 , FileFixifyToOutDir = 0 , FileFixifyToIndir = 2 ,
  FileFixifyBackwards = FileFixifyFromOutdir | FileFixifyToIndir , FileFixifyDefault = 0 , FileFixifyAbsolute = 4 , FileFixifyRelative = 8
}
 
- Protected Types inherited from MakefileGenerator
enum  TARG_MODE { TARG_UNIX_MODE , TARG_MAC_MODE , TARG_WIN_MODE }
 
enum  SubTargetFlags {
  SubTargetInstalls =0x01 , SubTargetOrdered =0x02 , SubTargetSkipDefaultVariables =0x04 , SubTargetSkipDefaultTargets =0x08 ,
  SubTargetsNoFlags =0x00
}
 
enum  VPATHFlag { VPATH_NoFlag = 0x00 , VPATH_WarnMissingFiles = 0x01 , VPATH_RemoveMissingFiles = 0x02 , VPATH_NoFixify = 0x04 }
 
enum  LibFlagType { LibFlagLib , LibFlagPath , LibFlagFile , LibFlagOther }
 
- Protected Types inherited from QMakeSourceFileInfo
enum  DependencyMode { Recursive , NonRecursive }
 
enum  SourceFileType { TYPE_UNKNOWN , TYPE_C , TYPE_UI , TYPE_QRC }
 
enum  SourceFileSeek { SEEK_DEPS =0x01 , SEEK_MOCS =0x02 }
 
- Static Protected Member Functions inherited from Win32MakefileGenerator
static QString cQuoted (const QString &str)
 

Detailed Description

Definition at line 45 of file msvc_vcproj.h.

Constructor & Destructor Documentation

◆ VcprojGenerator()

VcprojGenerator::VcprojGenerator ( )

Definition at line 115 of file msvc_vcproj.cpp.

◆ ~VcprojGenerator()

VcprojGenerator::~VcprojGenerator ( )

Definition at line 123 of file msvc_vcproj.cpp.

Member Function Documentation

◆ createProjectWriter()

VCProjectWriter * VcprojGenerator::createProjectWriter ( )
protectedvirtual

Reimplemented in VcxprojGenerator.

Definition at line 1636 of file msvc_vcproj.cpp.

◆ defaultMakefile()

QString VcprojGenerator::defaultMakefile ( ) const
inline

Definition at line 143 of file msvc_vcproj.h.

Here is the call graph for this function:

◆ doDepends()

bool VcprojGenerator::doDepends ( ) const
inlineoverrideprotectedvirtual

Reimplemented from MakefileGenerator.

Definition at line 76 of file msvc_vcproj.h.

◆ extraCompilerName()

QString VcprojGenerator::extraCompilerName ( const ProString extraCompiler,
const QStringList inputs,
const QStringList outputs 
)
protected

Definition at line 1518 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getProjectUUID()

QUuid VcprojGenerator::getProjectUUID ( const QString filename = QString())
protected

Definition at line 231 of file msvc_vcproj.cpp.

Here is the call graph for this function:

◆ hasBuiltinCompiler()

bool VcprojGenerator::hasBuiltinCompiler ( const QString file)
static

Definition at line 658 of file msvc_vcproj.cpp.

Here is the caller graph for this function:

◆ initCompilerTool()

void VcprojGenerator::initCompilerTool ( )
protected

Definition at line 1077 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initConfiguration()

void VcprojGenerator::initConfiguration ( )
protected

Definition at line 972 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initCustomBuildTool()

void VcprojGenerator::initCustomBuildTool ( )
protected

Definition at line 1191 of file msvc_vcproj.cpp.

Here is the caller graph for this function:

◆ initDeploymentFiles()

void VcprojGenerator::initDeploymentFiles ( )
protected

◆ initDeploymentTool()

void VcprojGenerator::initDeploymentTool ( )
protected

Definition at line 1215 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initDistributionFiles()

void VcprojGenerator::initDistributionFiles ( )
protected

Definition at line 1507 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initExtraCompilerOutputs()

void VcprojGenerator::initExtraCompilerOutputs ( )
protected

Definition at line 1530 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initFormFiles()

void VcprojGenerator::initFormFiles ( )
protected

Definition at line 1463 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initGeneratedFiles()

void VcprojGenerator::initGeneratedFiles ( )
protected

Definition at line 1415 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initHeaderFiles()

void VcprojGenerator::initHeaderFiles ( )
protected

Definition at line 1399 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initIDLTool()

void VcprojGenerator::initIDLTool ( )
protected

Definition at line 1187 of file msvc_vcproj.cpp.

Here is the caller graph for this function:

◆ initLexYaccFiles()

void VcprojGenerator::initLexYaccFiles ( )
protected

Definition at line 1435 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initLibrarianTool()

void VcprojGenerator::initLibrarianTool ( )
protected

Definition at line 1112 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initLinkerTool()

void VcprojGenerator::initLinkerTool ( )
protected

Definition at line 1133 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initManifestTool()

void VcprojGenerator::initManifestTool ( )
protected

Definition at line 1120 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initPostBuildEventTools()

void VcprojGenerator::initPostBuildEventTools ( )
protected

Definition at line 1199 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initPreBuildEventTools()

void VcprojGenerator::initPreBuildEventTools ( )
protected

Definition at line 1195 of file msvc_vcproj.cpp.

Here is the caller graph for this function:

◆ initPreLinkEventTools()

void VcprojGenerator::initPreLinkEventTools ( )
protected

Definition at line 1367 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initProject()

void VcprojGenerator::initProject ( )
protectedvirtual

Definition at line 889 of file msvc_vcproj.cpp.

Here is the call graph for this function:

◆ initResourceFiles()

void VcprojGenerator::initResourceFiles ( )
protected

Definition at line 1474 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initResourceTool()

void VcprojGenerator::initResourceTool ( )
protected

Definition at line 1157 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initRootFiles()

void VcprojGenerator::initRootFiles ( )
protected

Definition at line 1378 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initSourceFiles()

void VcprojGenerator::initSourceFiles ( )
protected

Definition at line 1387 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initTranslationFiles()

void VcprojGenerator::initTranslationFiles ( )
protected

Definition at line 1449 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initWinDeployQtTool()

void VcprojGenerator::initWinDeployQtTool ( )
protected

Definition at line 1340 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mergeBuildProject()

bool VcprojGenerator::mergeBuildProject ( MakefileGenerator other)
overrideprotectedvirtual

Reimplemented from MakefileGenerator.

Definition at line 873 of file msvc_vcproj.cpp.

Here is the call graph for this function:

◆ openOutput()

bool VcprojGenerator::openOutput ( QFile file,
const QString build 
) const
overrideprotectedvirtual

Reimplemented from MakefileGenerator.

Definition at line 1660 of file msvc_vcproj.cpp.

Here is the call graph for this function:

◆ replaceExtraCompilerVariables()

QString VcprojGenerator::replaceExtraCompilerVariables ( const QString var,
const QStringList in,
const QStringList out,
ReplaceFor  forShell 
)
overrideprotectedvirtual

Reimplemented from MakefileGenerator.

Definition at line 1641 of file msvc_vcproj.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ supportsMergedBuilds()

bool VcprojGenerator::supportsMergedBuilds ( )
inlineoverrideprotectedvirtual

Reimplemented from MakefileGenerator.

Definition at line 82 of file msvc_vcproj.h.

◆ supportsMetaBuild()

bool VcprojGenerator::supportsMetaBuild ( )
inlineoverrideprotectedvirtual

Reimplemented from MakefileGenerator.

Definition at line 81 of file msvc_vcproj.h.

◆ writeSubDirs()

void VcprojGenerator::writeSubDirs ( QTextStream t)
protected

Definition at line 519 of file msvc_vcproj.cpp.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ VCFilter

friend class VCFilter
friend

Definition at line 140 of file msvc_vcproj.h.

Member Data Documentation

◆ autogenPrecompSource

bool VcprojGenerator::autogenPrecompSource

Definition at line 62 of file msvc_vcproj.h.

◆ customBuildToolFilterFileSuffix

const QString VcprojGenerator::customBuildToolFilterFileSuffix

Definition at line 67 of file msvc_vcproj.h.

◆ extraCompilerOutputs

QHash<QString, QString> VcprojGenerator::extraCompilerOutputs

Definition at line 66 of file msvc_vcproj.h.

◆ extraCompilerSources

QHash<QString, QStringList> VcprojGenerator::extraCompilerSources

Definition at line 65 of file msvc_vcproj.h.

◆ mergedProjects

QList<VcprojGenerator*> VcprojGenerator::mergedProjects
protected

Definition at line 122 of file msvc_vcproj.h.

◆ pchIsCFile

bool VcprojGenerator::pchIsCFile = false

Definition at line 69 of file msvc_vcproj.h.

◆ precompH

QString VcprojGenerator::precompH

Definition at line 60 of file msvc_vcproj.h.

◆ precompHFilename

QString VcprojGenerator::precompHFilename

Definition at line 60 of file msvc_vcproj.h.

◆ precompObj

QString VcprojGenerator::precompObj

Definition at line 61 of file msvc_vcproj.h.

◆ precompPch

QString VcprojGenerator::precompPch

Definition at line 61 of file msvc_vcproj.h.

◆ precompSource

QString VcprojGenerator::precompSource

Definition at line 60 of file msvc_vcproj.h.

◆ projectTarget

Target VcprojGenerator::projectTarget
protected

Definition at line 116 of file msvc_vcproj.h.

◆ projectWriter

VCProjectWriter* VcprojGenerator::projectWriter

Definition at line 70 of file msvc_vcproj.h.

◆ usePCH

bool VcprojGenerator::usePCH

Definition at line 68 of file msvc_vcproj.h.

◆ vcProject

VCProjectSingleConfig VcprojGenerator::vcProject
protected

Definition at line 119 of file msvc_vcproj.h.


The documentation for this class was generated from the following files: