@echo off
setlocal ENABLEEXTENSIONS

::- check for vswhere
set vswhere=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe
if not exist "%vswhere%" (
  echo 1>&2 vswhere.exe not found
  exit /b 1
)

::- find the latest build tool and its setup batch file.
set VSDEVCMD=
for /f "delims=" %%I in ('"%vswhere%" -products * -latest -property installationPath') do (
  set VSDEVCMD=%%I\Common7\Tools\VsDevCmd.bat
)
if not defined VSDEVCMD (
  echo 1>&2 Visual Studio not found
  exit /b 1
)

::- default to the current processor.
set arch=%PROCESSOR_ARCHITECTURE%
::- `vsdevcmd.bat` requires arch names to be lowercase
for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do @(
  call set arch=%%arch:%%i=%%i%%
)
echo on && endlocal && "%VSDEVCMD%" -arch=%arch% -host_arch=%arch% %*
