wxWidgets/build/tools/msvs/findvs.bat
Danny Scott a52b839f66 Use vswhere to set environment variables for MSVS 2017
Allow building official releases with MSVS 2017 without doing it from
its "developer command prompt" by using the vswhere utility to set up
the paths correctly.

Closes #18083.
2018-02-17 13:40:41 +01:00

55 lines
1.2 KiB
Batchfile

@echo off
rem This is used to set up the VS2017 and later (hopefully) environment.
rem Called with two paramaters, the inclusive low and the exclusisve high.
if "%1" == "" goto ERR_NOPARM
if "%2" == "" goto ERR_NOPARM
rem If not running from official build, remember where we are.
if "%curr_dir%" == "" (
set curr_dir=%cd%
)
@echo Checking if vswhere in path
vswhere 1>nul
if errorlevel 9009 (
@echo "vswhere not found, trying C:\Program Files (x86)\Microsoft Visual Studio\Installer"
set "PATH=C:\Program Files (x86)\Microsoft Visual Studio\Installer;%PATH%"
)
vswhere 1>nul
if errorlevel 9009 (
@echo "vswhere not found"
goto ERR_EXIT
)
for /f "usebackq tokens=*" %%i in (`vswhere -latest -version "[%1,%2)" -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do (
set InstallDir=%%i
)
if "%InstallDir%" == "" (
@echo Install directory not found
goto ERR_EXIT
)
if NOT exist "%InstallDir%\Common7\Tools\vsdevcmd.bat" (
@echo Can't find an vsdevcmd.bat
goto ERR_EXIT
)
call "%InstallDir%"\Common7\Tools\vsdevcmd.bat
rem Go back to where we were before vsdevcmd changed things.
cd %curr_dir%
goto end
:ERR_NOPARM
@echo Need to specifiy version min/max range, eg.: 15.0 16.0
:ERR_EXIT
exit /b 1
:end