summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorMinmin Gong <gongminmin@msn.com>2017-09-02 04:06:38 (GMT)
committerBrad King <brad.king@kitware.com>2017-09-12 13:54:29 (GMT)
commitbc7c94fe13eeda2b59f5af606a03fdad5a9c29a5 (patch)
tree86395272041689ead3e1bc6f2a062cece8861cc5 /Source
parent3f8c6cab4bb4a9f68708c11a38e4487dad363e38 (diff)
downloadCMake-bc7c94fe13eeda2b59f5af606a03fdad5a9c29a5.zip
CMake-bc7c94fe13eeda2b59f5af606a03fdad5a9c29a5.tar.gz
CMake-bc7c94fe13eeda2b59f5af606a03fdad5a9c29a5.tar.bz2
MSVC: Add support for ARM64 architecture
Visual Studio 15.4 adds support for this architecture. Fixes: #17213
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalVisualStudio10Generator.cxx7
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx1
-rw-r--r--Source/cmVS141LinkFlagTable.h1
-rw-r--r--Source/cmVS14LibFlagTable.h1
-rw-r--r--Source/cmVisualStudio10TargetGenerator.cxx4
5 files changed, 13 insertions, 1 deletions
diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx
index 1c0953a..5db81ce 100644
--- a/Source/cmGlobalVisualStudio10Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Generator.cxx
@@ -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
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 857ce46..fc42d6e 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -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", "",
diff --git a/Source/cmVS141LinkFlagTable.h b/Source/cmVS141LinkFlagTable.h
index 8f0f1f4..a440ee7 100644
--- a/Source/cmVS141LinkFlagTable.h
+++ b/Source/cmVS141LinkFlagTable.h
@@ -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 },
diff --git a/Source/cmVS14LibFlagTable.h b/Source/cmVS14LibFlagTable.h
index 7fa7138..be4652c 100644
--- a/Source/cmVS14LibFlagTable.h
+++ b/Source/cmVS14LibFlagTable.h
@@ -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 },
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index bd3e82d..bbf834e 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -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",