| @REM @file | |
| @REM Windows batch file to find the Visual Studio set up script | |
| @REM | |
| @REM Copyright (c) 2013-2014, ARM Limited. All rights reserved. | |
| @REM SPDX-License-Identifier: BSD-2-Clause-Patent | |
| @REM | |
| @echo off | |
| set SCRIPT_ERROR=0 | |
| if "%1"=="" goto main | |
| if /I "%1"=="VS2019" goto VS2019Vars | |
| if /I "%1"=="VS2017" goto VS2017Vars | |
| if /I "%1"=="VS2015" goto VS2015Vars | |
| :set_vsvars | |
| if defined VCINSTALLDIR goto :EOF | |
| call %* > vswhereInfo | |
| for /f "usebackq tokens=1* delims=: " %%i in (vswhereInfo) do ( | |
| if /i "%%i"=="installationPath" ( | |
| call "%%j\VC\Auxiliary\Build\vcvars32.bat" | |
| ) | |
| ) | |
| del vswhereInfo | |
| goto :EOF | |
| :read_vsvars | |
| @rem Do nothing if already found, otherwise call vsvars32.bat if there | |
| if defined VCINSTALLDIR goto :EOF | |
| set GET_VSVARS_BAT_CHECK_DIR=%* | |
| set GET_VSVARS_BAT_CHECK_DIR=%GET_VSVARS_BAT_CHECK_DIR:"=% | |
| if exist "%GET_VSVARS_BAT_CHECK_DIR%\vsvars32.bat" call "%GET_VSVARS_BAT_CHECK_DIR%\vsvars32.bat" | |
| :vsvars_done | |
| goto :EOF | |
| :ToolNotInstall | |
| set SCRIPT_ERROR=1 | |
| goto :EOF | |
| REM NOTE: This file will find the most recent Visual Studio installation | |
| REM apparent from the environment. | |
| REM To use an older version, modify your environment set up. | |
| REM (Or invoke the relevant vsvars32 file beforehand). | |
| :main | |
| if defined VCINSTALLDIR goto :done | |
| :VS2019Vars | |
| if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" ( | |
| if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\BuildTools" ( | |
| call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 16,17 | |
| ) else ( | |
| call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version 16,17 | |
| ) | |
| ) | |
| if exist "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" ( | |
| if exist "%ProgramFiles%\Microsoft Visual Studio\2019\BuildTools" ( | |
| call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 16,17 | |
| ) else ( | |
| call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -version 16,17 | |
| ) | |
| ) | |
| if /I "%1"=="VS2019" goto ToolNotInstall | |
| :VS2017Vars | |
| if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" ( | |
| if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\BuildTools" ( | |
| call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 15,16 | |
| ) else ( | |
| call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version 15,16 | |
| ) | |
| ) | |
| if exist "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" ( | |
| if exist "%ProgramFiles%\Microsoft Visual Studio\2017\BuildTools" ( | |
| call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 15,16 | |
| ) else ( | |
| call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -version 15,16 | |
| ) | |
| ) | |
| if /I "%1"=="VS2017" goto ToolNotInstall | |
| :VS2015Vars | |
| if defined VS140COMNTOOLS (call :read_vsvars "%VS140COMNTOOLS%") else (if /I "%1"=="VS2015" goto ToolNotInstall) | |
| :done | |
| set GET_VSVARS_BAT_CHECK_DIR= |