From af4a5a7b3a86879d517e56c65f1e99b436fe0115 Mon Sep 17 00:00:00 2001 From: Refael Ackermann Date: Tue, 27 Jun 2017 11:18:54 -0400 Subject: [PATCH 1/2] extra ERRORLEVEL reset --- src/engine/config_toolset.bat | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/engine/config_toolset.bat b/src/engine/config_toolset.bat index a66317c2f1..fd59f94d99 100644 --- a/src/engine/config_toolset.bat +++ b/src/engine/config_toolset.bat @@ -162,6 +162,8 @@ set "_known_=1" :Skip_VC14 if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc141_" goto Skip_VC141 call vswhere_usability_wrapper.cmd +REM Reset ERRORLEVEL since from now on it's all based on ENV vars +ver > nul 2> nul if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" ( if NOT "_%VS150COMNTOOLS%_" == "__" ( set "BOOST_JAM_TOOLSET_ROOT=%VS150COMNTOOLS%..\..\VC\" From 685a89c27e7b6aceabfe2269cdf6d719693708e1 Mon Sep 17 00:00:00 2001 From: Refael Ackermann Date: Tue, 27 Jun 2017 11:19:06 -0400 Subject: [PATCH 2/2] bump vswhere_usability_wrapper.cmd * bump to 1.15.4 * specific Boost.build patch (no VCINSTALLDIR) --- src/engine/vswhere_usability_wrapper.cmd | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/engine/vswhere_usability_wrapper.cmd b/src/engine/vswhere_usability_wrapper.cmd index b5e5653ad6..eb7c537bc3 100644 --- a/src/engine/vswhere_usability_wrapper.cmd +++ b/src/engine/vswhere_usability_wrapper.cmd @@ -1,20 +1,33 @@ :: Copyright 2017 - Refael Ackermann :: Distributed under MIT style license :: See accompanying file LICENSE at https://github.com/node4good/windows-autoconf -:: version: 1.14.0 +:: version: 1.15.4 @if not defined DEBUG_HELPER @ECHO OFF setlocal +set "InstallerPath=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer" +if not exist "%InstallerPath%" set "InstallerPath=%ProgramFiles%\Microsoft Visual Studio\Installer" +if not exist "%InstallerPath%" goto :no-vswhere +:: Manipulate %Path% for easier " handeling +set Path=%Path%;%InstallerPath% +where vswhere 2> nul > nul +if errorlevel 1 goto :no-vswhere set VSWHERE_REQ=-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 set VSWHERE_PRP=-property installationPath set VSWHERE_LMT=-version "[15.0,16.0)" +vswhere -prerelease > nul +if "%~1"=="prerelase" set VSWHERE_WITH_PRERELASE=1 +if not errorlevel 1 if "%VSWHERE_WITH_PRERELASE%"=="1" set "VSWHERE_LMT=%VSWHERE_LMT% -prerelease" SET VSWHERE_ARGS=-latest -products * %VSWHERE_REQ% %VSWHERE_PRP% %VSWHERE_LMT% -set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer" -if not exist "%VSWHERE%" set "VSWHERE=%ProgramFiles%\Microsoft Visual Studio\Installer" -if not exist "%VSWHERE%" exit /B 1 -set Path=%Path%;%VSWHERE% for /f "usebackq tokens=*" %%i in (`vswhere %VSWHERE_ARGS%`) do ( endlocal - set "VCINSTALLDIR=%%i\VC\" + @rem comment out setting VCINSTALLDIR for Boost.build + @rem set "VCINSTALLDIR=%%i\VC\" set "VS150COMNTOOLS=%%i\Common7\Tools\" - exit /B 0) + exit /B 0 +) + +:no-vswhere +endlocal +echo could not find "vswhere" +exit /B 1 \ No newline at end of file