@echo off\r
set SCRIPT_ERROR=0\r
if "%1"=="" goto main\r
+if /I "%1"=="VS2019" goto VS2019Vars\r
if /I "%1"=="VS2017" goto VS2017Vars\r
if /I "%1"=="VS2015" goto VS2015Vars\r
if /I "%1"=="VS2013" goto VS2013Vars\r
if /I "%1"=="VS2012" goto VS2012Vars\r
\r
:set_vsvars\r
-for /f "usebackq tokens=1* delims=: " %%i in (`%*`) do (\r
- if /i "%%i"=="installationPath" call "%%j\VC\Auxiliary\Build\vcvars32.bat"\r
-)\r
+if defined VCINSTALLDIR goto :EOF\r
+ call %* > vswhereInfo\r
+ for /f "usebackq tokens=1* delims=: " %%i in (vswhereInfo) do (\r
+ if /i "%%i"=="installationPath" (\r
+ call "%%j\VC\Auxiliary\Build\vcvars32.bat"\r
+ )\r
+ )\r
+ del vswhereInfo\r
goto :EOF\r
\r
:read_vsvars\r
\r
:main\r
if defined VCINSTALLDIR goto :done\r
+ :VS2019Vars\r
+ if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" (\r
+ if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\BuildTools" (\r
+ call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 16,17\r
+ ) else (\r
+ call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version 16,17\r
+ )\r
+ )\r
+ if exist "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" (\r
+ if exist "%ProgramFiles%\Microsoft Visual Studio\2019\BuildTools" (\r
+ call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 16,17\r
+ ) else (\r
+ call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -version 16,17\r
+ )\r
+ )\r
+ if /I "%1"=="VS2019" goto ToolNotInstall\r
+\r
:VS2017Vars\r
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" (\r
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\BuildTools" (\r
- call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools\r
+ call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 15,16\r
) else (\r
- call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"\r
+ call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version 15,16\r
)\r
)\r
if exist "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" (\r
if exist "%ProgramFiles%\Microsoft Visual Studio\2017\BuildTools" (\r
- call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools\r
+ call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 15,16\r
) else (\r
- call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe"\r
+ call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -version 15,16\r
)\r
)\r
if /I "%1"=="VS2017" goto ToolNotInstall\r