1 | @REM @file
|
---|
2 | @REM Windows batch file to find the Visual Studio set up script
|
---|
3 | @REM
|
---|
4 | @REM Copyright (c) 2013-2014, ARM Limited. All rights reserved.
|
---|
5 |
|
---|
6 | @REM SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
7 | @REM
|
---|
8 |
|
---|
9 |
|
---|
10 | @echo off
|
---|
11 | set SCRIPT_ERROR=0
|
---|
12 | if "%1"=="" goto main
|
---|
13 | if /I "%1"=="VS2019" goto VS2019Vars
|
---|
14 | if /I "%1"=="VS2017" goto VS2017Vars
|
---|
15 | if /I "%1"=="VS2015" goto VS2015Vars
|
---|
16 |
|
---|
17 | :set_vsvars
|
---|
18 | if defined VCINSTALLDIR goto :EOF
|
---|
19 | call %* > vswhereInfo
|
---|
20 | for /f "usebackq tokens=1* delims=: " %%i in (vswhereInfo) do (
|
---|
21 | if /i "%%i"=="installationPath" (
|
---|
22 | call "%%j\VC\Auxiliary\Build\vcvars32.bat"
|
---|
23 | )
|
---|
24 | )
|
---|
25 | del vswhereInfo
|
---|
26 | goto :EOF
|
---|
27 |
|
---|
28 | :read_vsvars
|
---|
29 | @rem Do nothing if already found, otherwise call vsvars32.bat if there
|
---|
30 | if defined VCINSTALLDIR goto :EOF
|
---|
31 | set GET_VSVARS_BAT_CHECK_DIR=%*
|
---|
32 | set GET_VSVARS_BAT_CHECK_DIR=%GET_VSVARS_BAT_CHECK_DIR:"=%
|
---|
33 | if exist "%GET_VSVARS_BAT_CHECK_DIR%\vsvars32.bat" call "%GET_VSVARS_BAT_CHECK_DIR%\vsvars32.bat"
|
---|
34 | :vsvars_done
|
---|
35 | goto :EOF
|
---|
36 |
|
---|
37 |
|
---|
38 | :ToolNotInstall
|
---|
39 | set SCRIPT_ERROR=1
|
---|
40 | goto :EOF
|
---|
41 |
|
---|
42 | REM NOTE: This file will find the most recent Visual Studio installation
|
---|
43 | REM apparent from the environment.
|
---|
44 | REM To use an older version, modify your environment set up.
|
---|
45 | REM (Or invoke the relevant vsvars32 file beforehand).
|
---|
46 |
|
---|
47 | :main
|
---|
48 | if defined VCINSTALLDIR goto :done
|
---|
49 | :VS2019Vars
|
---|
50 | if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" (
|
---|
51 | if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\BuildTools" (
|
---|
52 | call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 16,17
|
---|
53 | ) else (
|
---|
54 | call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version 16,17
|
---|
55 | )
|
---|
56 | )
|
---|
57 | if exist "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" (
|
---|
58 | if exist "%ProgramFiles%\Microsoft Visual Studio\2019\BuildTools" (
|
---|
59 | call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 16,17
|
---|
60 | ) else (
|
---|
61 | call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -version 16,17
|
---|
62 | )
|
---|
63 | )
|
---|
64 | if /I "%1"=="VS2019" goto ToolNotInstall
|
---|
65 |
|
---|
66 | :VS2017Vars
|
---|
67 | if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" (
|
---|
68 | if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\BuildTools" (
|
---|
69 | call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 15,16
|
---|
70 | ) else (
|
---|
71 | call :set_vsvars "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version 15,16
|
---|
72 | )
|
---|
73 | )
|
---|
74 | if exist "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" (
|
---|
75 | if exist "%ProgramFiles%\Microsoft Visual Studio\2017\BuildTools" (
|
---|
76 | call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -version 15,16
|
---|
77 | ) else (
|
---|
78 | call :set_vsvars "%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe" -version 15,16
|
---|
79 | )
|
---|
80 | )
|
---|
81 | if /I "%1"=="VS2017" goto ToolNotInstall
|
---|
82 |
|
---|
83 | :VS2015Vars
|
---|
84 | if defined VS140COMNTOOLS (call :read_vsvars "%VS140COMNTOOLS%") else (if /I "%1"=="VS2015" goto ToolNotInstall)
|
---|
85 |
|
---|
86 | :done
|
---|
87 | set GET_VSVARS_BAT_CHECK_DIR=
|
---|