vcxproj generator: Support the /DEBUG:FASTLINK option of VS 2015
Make qmake understand the /DEBUG:FASTLINK option in QMAKE_LFLAGS, and write the corresponding value correctly to VS 2015 project files. Task-number: QTBUG-55591 Change-Id: I670375ed1523a5ab96bb3cce28635785564edba8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
parent
15df60239d
commit
c0c75b3c20
@ -1163,6 +1163,21 @@ static inline QString toString(subSystemOption option)
|
||||
return QString();
|
||||
}
|
||||
|
||||
static inline QString toString(triState genDebugInfo, linkerDebugOption option)
|
||||
{
|
||||
switch (genDebugInfo) {
|
||||
case unset:
|
||||
break;
|
||||
case _False:
|
||||
return "false";
|
||||
case _True:
|
||||
if (option == linkerDebugOptionFastLink)
|
||||
return "DebugFastLink";
|
||||
return "true";
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
static inline QString toString(machineTypeOption option)
|
||||
{
|
||||
switch (option) {
|
||||
@ -1541,7 +1556,7 @@ void VCXProjectWriter::write(XmlOutput &xml, const VCLinkerTool &tool)
|
||||
<< attrTagS(_EntryPointSymbol, tool.EntryPointSymbol)
|
||||
<< attrTagX(_ForceSymbolReferences, tool.ForceSymbolReferences, ";")
|
||||
<< attrTagS(_FunctionOrder, tool.FunctionOrder)
|
||||
<< attrTagT(_GenerateDebugInformation, tool.GenerateDebugInformation)
|
||||
<< attrTagS(_GenerateDebugInformation, toString(tool.GenerateDebugInformation, tool.DebugInfoOption))
|
||||
<< attrTagT(_GenerateManifest, tool.GenerateManifest)
|
||||
<< attrTagT(_GenerateWindowsMetadata, tool.GenerateWindowsMetadata)
|
||||
<< attrTagS(_WindowsMetadataFile, tool.GenerateWindowsMetadata == _True ? tool.WindowsMetadataFile : QString())
|
||||
|
@ -1430,8 +1430,10 @@ bool VCLinkerTool::parseOption(const char* option)
|
||||
}else
|
||||
EnableUAC = _True;
|
||||
break;
|
||||
case 0x3389797: // /DEBUG
|
||||
case 0x3389797: // /DEBUG[:FASTLINK]
|
||||
GenerateDebugInformation = _True;
|
||||
if (config->CompilerVersion >= NET2015 && strcmp(option + 7, "FASTLINK") == 0)
|
||||
DebugInfoOption = linkerDebugOptionFastLink;
|
||||
break;
|
||||
case 0x0033896: // /DEF:filename
|
||||
ModuleDefinitionFile = option+5;
|
||||
|
@ -282,6 +282,10 @@ enum inlineExpansionOption {
|
||||
expandAnySuitable,
|
||||
expandDefault // Not useful number, but stops the output
|
||||
};
|
||||
enum linkerDebugOption {
|
||||
linkerDebugOptionNone,
|
||||
linkerDebugOptionFastLink
|
||||
};
|
||||
enum linkIncrementalType {
|
||||
linkIncrementalDefault,
|
||||
linkIncrementalNo,
|
||||
@ -595,6 +599,7 @@ public:
|
||||
QStringList ForceSymbolReferences;
|
||||
QString FunctionOrder;
|
||||
triState GenerateDebugInformation;
|
||||
linkerDebugOption DebugInfoOption;
|
||||
triState GenerateMapFile;
|
||||
qlonglong HeapCommitSize;
|
||||
qlonglong HeapReserveSize;
|
||||
|
Loading…
x
Reference in New Issue
Block a user