aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--azure-pipelines.yml4
-rw-r--r--ci/azure-steps.yml16
2 files changed, 19 insertions, 1 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 8c36abd..5f7e3c4 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -44,6 +44,10 @@ jobs:
arch: x64
compiler: msvc2017
backend: vs2017
+ clangclx64ninja:
+ arch: x64
+ compiler: clang-cl
+ backend: ninja
steps:
- template: ci/azure-steps.yml
diff --git a/ci/azure-steps.yml b/ci/azure-steps.yml
index 5c4a058..40581c1 100644
--- a/ci/azure-steps.yml
+++ b/ci/azure-steps.yml
@@ -49,12 +49,26 @@ steps:
$env:Path = "$env:SYSTEM_WORKFOLDER;$env:Path"
# import visual studio variables
+ if ($env:compiler -eq 'msvc2015') {
+ $vsver = $env:compiler.Replace('msvc', '')
+ } else {
+ $vsver = '2017'
+ }
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Install-Module Pscx -Scope CurrentUser -AllowClobber
Install-Module VSSetup -Scope CurrentUser
- $vsver = $env:compiler.Replace('msvc', '')
Import-VisualStudioVars -VisualStudioVersion $vsver -Architecture $(arch)
+ # install llvm for clang-cl builds
+ # (note that we use LIB, WINDRES from VS, so leave those in PATH)
+ if ($env:compiler -eq 'clang-cl') {
+ DownloadFile -Source 'http://releases.llvm.org/7.0.0/LLVM-7.0.0-win64.exe' -Destination LLVM-7.0.0-win64.exe
+ Start-Process .\LLVM-7.0.0-win64.exe -ArgumentList '/S' -Wait
+ $env:Path = "C:\Program Files\LLVM\bin;$env:Path"
+ $env:CC = "clang-cl"
+ $env:CXX = "clang-cl"
+ }
+
# add .NET framework tools to path for resgen for C# tests
# (always use 32-bit tool, as there doesn't seem to be a 64-bit tool)
if ((Get-Command "resgen.exe" -ErrorAction SilentlyContinue) -eq $null) {