vswhere_usability_wrapper.cmd 1.3 KB

123456789101112131415161718192021222324252627282930313233
  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. @if not defined DEBUG_HELPER @ECHO OFF
  7. setlocal
  8. if "%~1"=="prerelease" set VSWHERE_WITH_PRERELEASE=1
  9. set "InstallerPath=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer"
  10. if not exist "%InstallerPath%" set "InstallerPath=%ProgramFiles%\Microsoft Visual Studio\Installer"
  11. if not exist "%InstallerPath%" goto :no-vswhere
  12. :: Manipulate %Path% for easier " handeling
  13. set "Path=%Path%;%InstallerPath%"
  14. where vswhere 2> nul > nul
  15. if errorlevel 1 goto :no-vswhere
  16. set VSWHERE_REQ=-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64
  17. set VSWHERE_PRP=-property installationPath
  18. set VSWHERE_LMT=-version "[15.0,16.0)"
  19. vswhere -prerelease > nul
  20. if not errorlevel 1 if "%VSWHERE_WITH_PRERELEASE%"=="1" set "VSWHERE_LMT=%VSWHERE_LMT% -prerelease"
  21. SET VSWHERE_ARGS=-latest -products * %VSWHERE_REQ% %VSWHERE_PRP% %VSWHERE_LMT%
  22. for /f "usebackq tokens=*" %%i in (`vswhere %VSWHERE_ARGS%`) do (
  23. endlocal
  24. set "VCINSTALLDIR=%%i\VC\"
  25. set "VS150COMNTOOLS=%%i\Common7\Tools\"
  26. exit /B 0
  27. )
  28. :no-vswhere
  29. endlocal
  30. echo could not find "vswhere"
  31. exit /B 1