From 80273514aa57003243e864567351727467c667c1 Mon Sep 17 00:00:00 2001
From: Tommy Vercetti <7903172+tommyvct@users.noreply.github.com>
Date: Fri, 17 Jun 2022 14:44:59 -0500
Subject: VS: Prefer ARM64 MSBuild on Windows ARM64 host

Fixes: #23629
---
 Source/cmGlobalVisualStudioVersionedGenerator.cxx | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Source/cmGlobalVisualStudioVersionedGenerator.cxx b/Source/cmGlobalVisualStudioVersionedGenerator.cxx
index fb76f7a..b72fc4e 100644
--- a/Source/cmGlobalVisualStudioVersionedGenerator.cxx
+++ b/Source/cmGlobalVisualStudioVersionedGenerator.cxx
@@ -899,6 +899,14 @@ std::string cmGlobalVisualStudioVersionedGenerator::FindMSBuildCommand()
   std::string vs;
   if (vsSetupAPIHelper.GetVSInstanceInfo(vs)) {
     if (this->Version >= cmGlobalVisualStudioGenerator::VSVersion::VS17) {
+#if defined(_M_ARM64)
+      std::string msbuild_arm64 =
+        vs + "/MSBuild/Current/Bin/arm64/MSBuild.exe";
+      if (cmSystemTools::FileExists(msbuild_arm64)) {
+        return msbuild_arm64;
+      }
+#endif
+
       msbuild = vs + "/MSBuild/Current/Bin/amd64/MSBuild.exe";
       if (cmSystemTools::FileExists(msbuild)) {
         return msbuild;
-- 
cgit v0.12