azure: Install Boost binaries for Windows

This installs a Boost distribution with built binaries for Windows, so
we can have test coverage of both (i) boost components which are
header-only libraries, and (ii) boost components which have
separately-compiled libraries.

(This duplicates the behaviour from appveyor of using Boost 1.64 with
VS1027 (the first version which provides pre-built binaries for that),
and Boost 1.60 for VS2015 (the oldest Boost provided by appveyor))

Don't install Boost when using clang-cl, as there appear to be issues in
either Boost or clang-cl which prevent that from working well.
pull/4524/head
Jon Turney 6 years ago committed by Nirbheek Chauhan
parent d55c0b6e94
commit c7a3e81098
  1. 15
      ci/azure-steps.yml

@ -58,6 +58,21 @@ steps:
$env:Path = "C:\java\jdk\jdk1.8.0_102\bin\;$env:Path"
}
# install boost (except for clang-cl)
if ($env:arch -eq 'x86') { $boost_bitness = '32' } else { $boost_bitness = '64' }
if ($env:compiler -eq 'msvc2015') {
$boost_version = '1.60.0' ; $boost_abi_tag = '14.0'
} elseif ($env:compiler -eq 'msvc2017') {
$boost_version = '1.64.0' ; $boost_abi_tag = '14.1'
}
if ($boost_version) {
$boost_filename = $boost_version.Replace('.', '_')
Downloadfile -Source "https://sourceforge.net/projects/boost/files/boost-binaries/$boost_version/boost_$boost_filename-msvc-$boost_abi_tag-$boost_bitness.exe" -Destination boost_$boost_filename-msvc-$boost_abi_tag-$boost_bitness.exe
Start-Process "boost_$boost_filename-msvc-$boost_abi_tag-$boost_bitness.exe" -ArgumentList "/dir=$(System.WorkFolder)\boost_$boost_filename /silent" -Wait
$env:BOOST_ROOT = "$(System.WorkFolder)\boost_$boost_filename"
$env:Path = "$env:Path;$env:BOOST_ROOT\lib$boost_bitness-msvc-$boost_abi_tag"
}
# install D compiler and dub packages
if ($env:backend -eq 'ninja') {
& .\ci\install-dmd.ps1

Loading…
Cancel
Save