Workaround: fallback to mscv link.exe

This commit is contained in:
Roelf-Jilling 2018-11-16 15:21:56 +01:00
parent 3e62f50737
commit a5739ea5f0

View File

@ -32,7 +32,6 @@ matrix:
cache: cache:
- C:\cmake-3.8.0-win32-x86 - C:\cmake-3.8.0-win32-x86
- C:\Tools\vcpkg
install: install:
- ps: | - ps: |
@ -43,15 +42,6 @@ install:
} }
$env:PATH="C:\cmake-3.8.0-win32-x86\bin;$env:PATH" $env:PATH="C:\cmake-3.8.0-win32-x86\bin;$env:PATH"
} }
# Until vcpkg has been updated.
# Note: vcpkg can also be removed from "cache".
if ($env:USE_TOOLSET -eq "LLVM" -and
(Get-Content C:\Tools\vcpkg\toolsrc\VERSION.txt).Replace('.','').Trim('"') -lt 20181020
) {
cd C:\Tools\vcpkg
git pull
cd "$env:APPVEYOR_BUILD_FOLDER"
}
before_build: before_build:
- ps: | - ps: |
@ -67,8 +57,14 @@ before_build:
} }
echo generator="$env:generator" echo generator="$env:generator"
if ($env:USE_TOOLSET -eq "LLVM") { if ($env:USE_TOOLSET -eq "LLVM") {
$LINKER = "lld-link"
# Workaround for lld bug with vcpkg integration
if ((Get-Content C:\Tools\vcpkg\toolsrc\VERSION.txt).Replace('.','').Trim('"') -lt 20181020) {
$LINKER = "link" # MSVC-linker
} else { echo "==> vcpkg has been updated, please remove the workaround from appvayor.yml." }
# /Workaround
clang-cl --version clang-cl --version
cmake .. -G "$env:generator" -T llvm -DGSL_CXX_STANDARD="$env:GSL_CXX_STANDARD" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_LINKER=lld-link cmake .. -G "$env:generator" -T llvm -DGSL_CXX_STANDARD="$env:GSL_CXX_STANDARD" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_LINKER=$LINKER
} }
else { else {
cmake .. -G "$env:generator" -DGSL_CXX_STANDARD="$env:GSL_CXX_STANDARD" cmake .. -G "$env:generator" -DGSL_CXX_STANDARD="$env:GSL_CXX_STANDARD"