Blame tools/vswhere_usability_wrapper.cmd

Packit b5b901
:: Copyright 2017 - Refael Ackermann
Packit b5b901
:: Distributed under MIT style license or the libuv license
Packit b5b901
:: See accompanying file LICENSE at https://github.com/node4good/windows-autoconf
Packit b5b901
:: or libuv LICENSE file at https://github.com/libuv/libuv
Packit b5b901
:: version: 2.0.0
Packit b5b901
Packit b5b901
@if not defined DEBUG_HELPER @ECHO OFF
Packit b5b901
setlocal
Packit b5b901
if "%~1"=="prerelease" set VSWHERE_WITH_PRERELEASE=1
Packit b5b901
set "InstallerPath=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer"
Packit b5b901
if not exist "%InstallerPath%" set "InstallerPath=%ProgramFiles%\Microsoft Visual Studio\Installer"
Packit b5b901
if not exist "%InstallerPath%" goto :no-vswhere
Packit b5b901
:: Manipulate %Path% for easier " handeling
Packit b5b901
set "Path=%Path%;%InstallerPath%"
Packit b5b901
where vswhere 2> nul > nul
Packit b5b901
if errorlevel 1 goto :no-vswhere
Packit b5b901
set VSWHERE_REQ=-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64
Packit b5b901
set VSWHERE_PRP=-property installationPath
Packit b5b901
set VSWHERE_LMT=-version "[15.0,16.0)"
Packit b5b901
vswhere -prerelease > nul
Packit b5b901
if not errorlevel 1 if "%VSWHERE_WITH_PRERELEASE%"=="1" set "VSWHERE_LMT=%VSWHERE_LMT% -prerelease"
Packit b5b901
SET VSWHERE_ARGS=-latest -products * %VSWHERE_REQ% %VSWHERE_PRP% %VSWHERE_LMT%
Packit b5b901
for /f "usebackq tokens=*" %%i in (`vswhere %VSWHERE_ARGS%`) do (
Packit b5b901
    endlocal
Packit b5b901
    set "VCINSTALLDIR=%%i\VC\"
Packit b5b901
    set "VS150COMNTOOLS=%%i\Common7\Tools\"
Packit b5b901
    exit /B 0
Packit b5b901
)
Packit b5b901
Packit b5b901
:no-vswhere
Packit b5b901
endlocal
Packit b5b901
echo could not find "vswhere"
Packit b5b901
exit /B 1