MSVC: Add support for ARM64 architecture

Visual Studio 15.4 adds support for this architecture.

Fixes: #17213
This commit is contained in:
Minmin Gong
2017-09-01 21:06:38 -07:00
committed by Brad King
parent 3f8c6cab4b
commit bc7c94fe13
10 changed files with 35 additions and 5 deletions

View File

@@ -695,7 +695,12 @@ bool cmGlobalVisualStudio10Generator::FindVCTargetsPath(cmMakefile* mf)
xw.Content(this->WindowsTargetPlatformVersion);
xw.EndElement(); // WindowsTargetPlatformVersion
}
if (this->GetPlatformName() == "ARM") {
if (this->GetPlatformName() == "ARM64") {
xw.StartElement("WindowsSDKDesktopARM64Support");
xw.Content("true");
xw.EndElement(); // WindowsSDK64DesktopARMSupport
}
else if (this->GetPlatformName() == "ARM") {
xw.StartElement("WindowsSDKDesktopARMSupport");
xw.Content("true");
xw.EndElement(); // WindowsSDKDesktopARMSupport

View File

@@ -526,6 +526,7 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorLinkFlagTable[] = {
{ "TargetMachine", "MACHINE:SH5", "Machine SH5", "15", 0 },
{ "TargetMachine", "MACHINE:THUMB", "Machine THUMB", "16", 0 },
{ "TargetMachine", "MACHINE:X64", "Machine x64", "17", 0 },
{ "TargetMachine", "MACHINE:ARM64", "Machine ARM64", "18", 0 },
{ "TurnOffAssemblyGeneration", "NOASSEMBLY",
"No assembly even if CLR information is present in objects.", "true", 0 },
{ "ModuleDefinitionFile", "DEF:", "add an export def file", "",

View File

@@ -87,6 +87,7 @@ static cmVS7FlagTable cmVS141LinkFlagTable[] = {
{ "TargetMachine", "", "Not Set", "NotSet", 0 },
{ "TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0 },
{ "TargetMachine", "MACHINE:ARM64", "MachineARM64", "MachineARM64", 0 },
{ "TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0 },
{ "TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0 },
{ "TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0 },

View File

@@ -11,6 +11,7 @@ static cmVS7FlagTable cmVS14LibFlagTable[] = {
0 },
{ "TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0 },
{ "TargetMachine", "MACHINE:ARM64", "MachineARM64", "MachineARM64", 0 },
{ "TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0 },
{ "TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0 },
{ "TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0 },

View File

@@ -3893,6 +3893,10 @@ void cmVisualStudio10TargetGenerator::WriteApplicationTypeSettings()
this->WriteString("<AppContainerApplication>true"
"</AppContainerApplication>\n",
2);
} else if (this->Platform == "ARM64") {
this->WriteString("<WindowsSDKDesktopARM64Support>true"
"</WindowsSDKDesktopARM64Support>\n",
2);
} else if (this->Platform == "ARM") {
this->WriteString("<WindowsSDKDesktopARMSupport>true"
"</WindowsSDKDesktopARMSupport>\n",