|
160
|
1 :: Copyright 2017 - Refael Ackermann
|
|
|
2 :: Distributed under MIT style license or the libuv license
|
|
|
3 :: See accompanying file LICENSE at https://github.com/node4good/windows-autoconf
|
|
|
4 :: or libuv LICENSE file at https://github.com/libuv/libuv
|
|
|
5 :: version: 2.0.0
|
|
|
6
|
|
|
7 @if not defined DEBUG_HELPER @ECHO OFF
|
|
|
8 setlocal
|
|
|
9 if "%~1"=="prerelease" set VSWHERE_WITH_PRERELEASE=1
|
|
|
10 set "InstallerPath=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer"
|
|
|
11 if not exist "%InstallerPath%" set "InstallerPath=%ProgramFiles%\Microsoft Visual Studio\Installer"
|
|
|
12 if not exist "%InstallerPath%" goto :no-vswhere
|
|
|
13 :: Manipulate %Path% for easier " handeling
|
|
|
14 set "Path=%Path%;%InstallerPath%"
|
|
|
15 where vswhere 2> nul > nul
|
|
|
16 if errorlevel 1 goto :no-vswhere
|
|
|
17 set VSWHERE_REQ=-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64
|
|
|
18 set VSWHERE_PRP=-property installationPath
|
|
|
19 set VSWHERE_LMT=-version "[15.0,16.0)"
|
|
|
20 vswhere -prerelease > nul
|
|
|
21 if not errorlevel 1 if "%VSWHERE_WITH_PRERELEASE%"=="1" set "VSWHERE_LMT=%VSWHERE_LMT% -prerelease"
|
|
|
22 SET VSWHERE_ARGS=-latest -products * %VSWHERE_REQ% %VSWHERE_PRP% %VSWHERE_LMT%
|
|
|
23 for /f "usebackq tokens=*" %%i in (`vswhere %VSWHERE_ARGS%`) do (
|
|
|
24 endlocal
|
|
|
25 set "VCINSTALLDIR=%%i\VC\"
|
|
|
26 set "VS150COMNTOOLS=%%i\Common7\Tools\"
|
|
|
27 exit /B 0
|
|
|
28 )
|
|
|
29
|
|
|
30 :no-vswhere
|
|
|
31 endlocal
|
|
|
32 echo could not find "vswhere"
|
|
|
33 exit /B 1 |