Files
Michał Janiszewski 983432c9a4 MSVC 2026 (#26204)
* Update internal vstool.cmd to better detect new versions

* Switch windows CI image to VS 2026

* Move ARM64 MSVC build back to VS2022
2026-03-16 11:28:16 +01:00

61 lines
2.6 KiB
Batchfile

@echo off
rem Invokes a tool within a Visual Studio prompt
rem Uses %PLATFORM% to set architecture of prompt
set "vspath="
rem Try to use vswhere to find the latest Visual Studio
set "vswhere=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
if not exist "%vswhere%" set "vswhere=%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe"
if exist "%vswhere%" (
for /f "usebackq tokens=*" %%i in (`"%vswhere%" -latest -prerelease -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do (
set "vspath=%%i"
)
)
if not defined vspath (
rem Fallback to searching common paths
if exist "%ProgramFiles%\Microsoft Visual Studio\2026\Enterprise" (
set "vspath=%ProgramFiles%\Microsoft Visual Studio\2026\Enterprise"
) else if exist "%ProgramFiles%\Microsoft Visual Studio\2026\Community" (
set "vspath=%ProgramFiles%\Microsoft Visual Studio\2026\Community"
) else if exist "%ProgramFiles%\Microsoft Visual Studio\2026\Professional" (
set "vspath=%ProgramFiles%\Microsoft Visual Studio\2026\Professional"
) else if exist "%ProgramFiles%\Microsoft Visual Studio\18\Enterprise" (
rem Visual Studio 2026 changed its installation path to use "18" instead of "2026"
set "vspath=%ProgramFiles%\Microsoft Visual Studio\18\Enterprise"
) else if exist "%ProgramFiles%\Microsoft Visual Studio\18\Community" (
set "vspath=%ProgramFiles%\Microsoft Visual Studio\18\Community"
) else if exist "%ProgramFiles%\Microsoft Visual Studio\18\Professional" (
set "vspath=%ProgramFiles%\Microsoft Visual Studio\18\Professional"
) else if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise" (
set "vspath=%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise"
) else if exist "%ProgramFiles%\Microsoft Visual Studio\2022\Community" (
set "vspath=%ProgramFiles%\Microsoft Visual Studio\2022\Community"
) else if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise" (
set "vspath=%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise"
) else if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community" (
set "vspath=%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community"
)
)
if not defined vspath goto notfound
if not exist "%vspath%" goto notfound
echo Using Visual Studio from %vspath%
if "%platform%"=="x64" (
call "%vspath%\Common7\Tools\VsDevCmd.bat" -no_logo -arch=x64
) else (
call "%vspath%\Common7\Tools\VsDevCmd.bat" -no_logo
)
%*
exit /b %errorlevel%
:notfound
echo Visual Studio directory not found
exit /b 1