vcbuild: add an option to install individual 'features'

In this context, a "feature" is a dependency combined with its own
dependencies.

Signed-off-by: Ian Bearman <ianb@microsoft.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Ian Bearman
2020-02-04 10:34:40 -08:00
committed by Johannes Schindelin
parent b766f3a60c
commit 1810941cbe

View File

@@ -85,14 +85,47 @@ REM ================================================================
:sub__install_one :sub__install_one
echo Installing package %1... echo Installing package %1...
call :%1_features
REM vcpkg may not be reliable on slow, intermittent or proxy REM vcpkg may not be reliable on slow, intermittent or proxy
REM connections, see e.g. REM connections, see e.g.
REM https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/4a8f7be5-5e15-4213-a7bb-ddf424a954e6/winhttpsendrequest-ends-with-12002-errorhttptimeout-after-21-seconds-no-matter-what-timeout?forum=windowssdk REM https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/4a8f7be5-5e15-4213-a7bb-ddf424a954e6/winhttpsendrequest-ends-with-12002-errorhttptimeout-after-21-seconds-no-matter-what-timeout?forum=windowssdk
REM which explains the hidden 21 second timeout REM which explains the hidden 21 second timeout
REM (last post by Dave : Microsoft - Windows Networking team) REM (last post by Dave : Microsoft - Windows Networking team)
.\vcpkg.exe install %1:%arch% .\vcpkg.exe install %1%features%:%arch%
IF ERRORLEVEL 1 ( EXIT /B 1 ) IF ERRORLEVEL 1 ( EXIT /B 1 )
echo Finished %1 echo Finished %1
goto :EOF goto :EOF
::
:: features for each vcpkg to install
:: there should be an entry here for each package to install
:: 'set features=' means use the default otherwise
:: 'set features=[comma-delimited-feature-set]' is the syntax
::
:zlib_features
set features=
goto :EOF
:expat_features
set features=
goto :EOF
:libiconv_features
set features=
goto :EOF
:openssl_features
set features=
goto :EOF
:libssh2_features
set features=
goto :EOF
:curl_features
set features=[core,openssl]
goto :EOF