Workaround: try with full-path; and return user PATH

This commit is contained in:
Roelf-Jilling 2018-11-16 17:01:35 +01:00
parent 0f4fb04bac
commit 97062933ac

View File

@ -18,8 +18,8 @@ environment:
# USE_TOOLSET: MSVC # USE_TOOLSET: MSVC
#- GSL_CXX_STANDARD: 17 #- GSL_CXX_STANDARD: 17
# USE_TOOLSET: MSVC # USE_TOOLSET: MSVC
- GSL_CXX_STANDARD: 14 #- GSL_CXX_STANDARD: 14
USE_TOOLSET: LLVM # USE_TOOLSET: LLVM
- GSL_CXX_STANDARD: 17 - GSL_CXX_STANDARD: 17
USE_TOOLSET: LLVM USE_TOOLSET: LLVM
@ -57,17 +57,19 @@ before_build:
} }
echo generator="$env:generator" echo generator="$env:generator"
if ($env:USE_TOOLSET -eq "LLVM") { if ($env:USE_TOOLSET -eq "LLVM") {
$COMPILER = "C:\Program Files\LLVM\bin\clang-cl.exe"
$LINKER = "lld-link" $LINKER = "lld-link"
# Workaround for lld bug with vcpkg integration # Workaround for lld bug with vcpkg integration
if ((Get-Content C:\Tools\vcpkg\toolsrc\VERSION.txt).Replace('.','').Trim('"') -lt 20181020) { if ((Get-Content C:\Tools\vcpkg\toolsrc\VERSION.txt).Replace('.','').Trim('"') -lt 20181020) {
echo "Fallback to MSVC linker." echo "Fallback to MSVC linker."
cmd /c '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %PLATFORM% && PATH > path.txt' cmd /c '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %PLATFORM% && PATH > path.txt'
$env:PATH = (Get-Content .\path.txt).Remove(0,5) # "PATH=" $env:PATH = (Get-Content .\path.txt).Remove(0,5) # "PATH="
$LINKER = "link" $LINKER = "link.exe"
} else { echo "==> vcpkg has been updated, please remove the workaround from appvayor.yml." } } else { echo "==> vcpkg has been updated, please remove the workaround from appvayor.yml." }
# /Workaround # /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=$LINKER echo $env:PATH
cmake .. -G "$env:generator" -T llvm -DGSL_CXX_STANDARD="$env:GSL_CXX_STANDARD" -DCMAKE_CXX_COMPILER="$COMPILER" -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"