@REM\r
@REM Copyright (c) 2013-2014, ARM Limited. All rights reserved.\r
\r
-@REM This program and the accompanying materials\r
-@REM are licensed and made available under the terms and conditions of the BSD License\r
-@REM which accompanies this distribution. The full text of the license may be found at\r
-@REM http://opensource.org/licenses/bsd-license.php\r
-@REM\r
-@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+@REM SPDX-License-Identifier: BSD-2-Clause-Patent\r
@REM\r
\r
\r
@echo off\r
-goto :main\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
+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
@rem Do nothing if already found, otherwise call vsvars32.bat if there\r
goto :EOF\r
\r
\r
+:ToolNotInstall\r
+set SCRIPT_ERROR=1\r
+goto :EOF\r
+\r
REM NOTE: This file will find the most recent Visual Studio installation\r
REM apparent from the environment.\r
REM To use an older version, modify your environment set up.\r
\r
:main\r
if defined VCINSTALLDIR goto :done\r
- if defined VS140COMNTOOLS call :read_vsvars "%VS140COMNTOOLS%"\r
- if defined VS130COMNTOOLS call :read_vsvars "%VS130COMNTOOLS%"\r
- if defined VS120COMNTOOLS call :read_vsvars "%VS120COMNTOOLS%"\r
- if defined VS110COMNTOOLS call :read_vsvars "%VS110COMNTOOLS%"\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 -version 15,16\r
+ ) else (\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 -version 15,16\r
+ ) else (\r
+ call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -version 15,16\r
+ )\r
+ )\r
+ if /I "%1"=="VS2017" goto ToolNotInstall\r
+\r
+ :VS2015Vars\r
+ if defined VS140COMNTOOLS (call :read_vsvars "%VS140COMNTOOLS%") else (if /I "%1"=="VS2015" goto ToolNotInstall)\r
+\r
+ :VS2013Vars\r
+ if defined VS120COMNTOOLS ( call :read_vsvars "%VS120COMNTOOLS%") else (if /I "%1"=="VS2013" goto ToolNotInstall)\r
+\r
+ :VS2012Vars\r
+ if defined VS110COMNTOOLS (call :read_vsvars "%VS110COMNTOOLS%") else (if /I "%1"=="VS2012" goto ToolNotInstall)\r
+\r
if defined VS100COMNTOOLS call :read_vsvars "%VS100COMNTOOLS%"\r
if defined VS90COMNTOOLS call :read_vsvars "%VS90COMNTOOLS%"\r
if defined VS80COMNTOOLS call :read_vsvars "%VS80COMNTOOLS%"\r