@@ -246,12 +246,12 @@ if defined noprojgen if defined nobuild goto :after-build
246246set msvs_host_arch=x86
247247if _%PROCESSOR_ARCHITECTURE%_==_AMD64_ set msvs_host_arch=amd64
248248if _%PROCESSOR_ARCHITEW6432%_==_AMD64_ set msvs_host_arch=amd64
249+ if _%PROCESSOR_ARCHITECTURE%_==_ARM64_ set msvs_host_arch=arm64
249250@rem usually vcvarsall takes an argument: host + '_' + target
250251set vcvarsall_arg=%msvs_host_arch%_%target_arch%
251- @rem unless both host and target are x64
252+ @rem unless both the host and the target are the same
252253if %target_arch%==x64 if %msvs_host_arch%==amd64 set vcvarsall_arg=amd64
253- @rem also if both are x86
254- if %target_arch%==x86 if %msvs_host_arch%==x86 set vcvarsall_arg=x86
254+ if %target_arch%==%msvs_host_arch% set vcvarsall_arg=%target_arch%
255255
256256@rem Look for Visual Studio 2022
257257:vs-set-2022
@@ -261,7 +261,7 @@ echo Looking for Visual Studio 2022
261261@rem cleared first as vswhere_usability_wrapper.cmd doesn't when it fails to
262262@rem detect the version searched for
263263if not defined target_env set "VCINSTALLDIR="
264- call tools\msvs\vswhere_usability_wrapper.cmd "[17.0,18.0)" "prerelease"
264+ call tools\msvs\vswhere_usability_wrapper.cmd "[17.0,18.0)" %target_arch% "prerelease"
265265if "_%VCINSTALLDIR%_" == "__" goto vs-set-2019
266266set "WIXSDKDIR=%WIX%\SDK\VS2017"
267267if defined msi (
@@ -301,7 +301,7 @@ echo Looking for Visual Studio 2019
301301@rem cleared first as vswhere_usability_wrapper.cmd doesn't when it fails to
302302@rem detect the version searched for
303303if not defined target_env set "VCINSTALLDIR="
304- call tools\msvs\vswhere_usability_wrapper.cmd "[16.0,17.0)" "prerelease"
304+ call tools\msvs\vswhere_usability_wrapper.cmd "[16.0,17.0)" %target_arch% "prerelease"
305305if "_%VCINSTALLDIR%_" == "__" goto msbuild-not-found
306306set "WIXSDKDIR=%WIX%\SDK\VS2017"
307307if defined msi (
0 commit comments