qmake: added support for WindowsMetadataFile
In order to be able to use the linker's /WINMD and /WINMDFILE options Change-Id: I2673e20aa073c6b807e8c9f191fd408c7976efc4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
parent
6008eb525e
commit
083b5b503c
@ -139,6 +139,7 @@ const char _GenerateMapFile[] = "GenerateMapFile";
|
||||
const char _GenerateServerFiles[] = "GenerateServerFiles";
|
||||
const char _GenerateStublessProxies[] = "GenerateStublessProxies";
|
||||
const char _GenerateTypeLibrary[] = "GenerateTypeLibrary";
|
||||
const char _GenerateWindowsMetadata[] = "GenerateWindowsMetadata";
|
||||
const char _GenerateXMLDocumentationFiles[] = "GenerateXMLDocumentationFiles";
|
||||
const char _HeaderFileName[] = "HeaderFileName";
|
||||
const char _HeapCommitSize[] = "HeapCommitSize";
|
||||
@ -255,6 +256,7 @@ const char _Version[] = "Version";
|
||||
const char _WarnAsError[] = "WarnAsError";
|
||||
const char _WarningLevel[] = "WarningLevel";
|
||||
const char _WholeProgramOptimization[] = "WholeProgramOptimization";
|
||||
const char _WindowsMetadataFile[] = "WindowsMetadataFile";
|
||||
const char _XMLDocumentationFileName[] = "XMLDocumentationFileName";
|
||||
|
||||
|
||||
@ -1479,6 +1481,8 @@ void VCXProjectWriter::write(XmlOutput &xml, const VCLinkerTool &tool)
|
||||
<< attrTagS(_FunctionOrder, tool.FunctionOrder)
|
||||
<< attrTagT(_GenerateDebugInformation, tool.GenerateDebugInformation)
|
||||
<< attrTagT(_GenerateManifest, tool.GenerateManifest)
|
||||
<< attrTagT(_GenerateWindowsMetadata, tool.GenerateWindowsMetadata)
|
||||
<< attrTagS(_WindowsMetadataFile, tool.GenerateWindowsMetadata == _True ? tool.WindowsMetadataFile : QString())
|
||||
<< attrTagT(_GenerateMapFile, tool.GenerateMapFile)
|
||||
<< attrTagL(_HeapCommitSize, tool.HeapCommitSize, /*ifNot*/ -1)
|
||||
<< attrTagL(_HeapReserveSize, tool.HeapReserveSize, /*ifNot*/ -1)
|
||||
|
@ -1198,6 +1198,7 @@ VCLinkerTool::VCLinkerTool()
|
||||
TurnOffAssemblyGeneration(unset),
|
||||
TypeLibraryResourceID(0),
|
||||
GenerateManifest(unset),
|
||||
GenerateWindowsMetadata(unset),
|
||||
EnableUAC(unset),
|
||||
UACUIAccess(unset),
|
||||
SectionAlignment(-1),
|
||||
@ -1265,6 +1266,7 @@ bool VCLinkerTool::parseOption(const char* option)
|
||||
displayHash("/SWAPRUN"); displayHash("/TLBID"); displayHash("/TLBOUT");
|
||||
displayHash("/TSAWARE"); displayHash("/VERBOSE"); displayHash("/VERSION");
|
||||
displayHash("/VXD"); displayHash("/WS "); displayHash("/libpath");
|
||||
displayHash("/WINMD"); displayHash("/WINMDFILE:");
|
||||
|
||||
#endif
|
||||
#ifdef USE_DISPLAY_HASH
|
||||
@ -1377,6 +1379,15 @@ bool VCLinkerTool::parseOption(const char* option)
|
||||
else
|
||||
GenerateManifest = _True;
|
||||
break;
|
||||
case 0x34be314: // /WINMD[:NO]
|
||||
if ((*(option+6) == ':' && (*(option+7) == 'N' || *(option+7) == 'n')))
|
||||
GenerateWindowsMetadata = _False;
|
||||
else
|
||||
GenerateWindowsMetadata = _True;
|
||||
break;
|
||||
case 0x31be7e5: // /WINMDFILE:filename
|
||||
WindowsMetadataFile = option+11;
|
||||
break;
|
||||
case 0x8b64559: // /MANIFESTDEPENDENCY:manifest_dependency
|
||||
AdditionalManifestDependencies += option+20;
|
||||
break;
|
||||
|
@ -674,6 +674,10 @@ public:
|
||||
QString KeyFile;
|
||||
QString LinkErrorReporting;
|
||||
|
||||
// VS2012
|
||||
triState GenerateWindowsMetadata;
|
||||
QString WindowsMetadataFile;
|
||||
|
||||
VCConfiguration* config;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user