From c7a3e81098b8879522a2bbbf733c037d1345d05c Mon Sep 17 00:00:00 2001 From: Jon Turney Date: Thu, 15 Nov 2018 13:02:19 +0000 Subject: [PATCH] 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. --- ci/azure-steps.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ci/azure-steps.yml b/ci/azure-steps.yml index ec2ee942d..3dde5a37a 100644 --- a/ci/azure-steps.yml +++ b/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