2017-04-20 07:26:21 +08:00
|
|
|
version: '{build}'
|
|
|
|
|
|
|
|
shallow_clone: true
|
|
|
|
|
|
|
|
os:
|
|
|
|
- Visual Studio 2015
|
|
|
|
|
|
|
|
build:
|
|
|
|
verbosity: detailed
|
|
|
|
|
|
|
|
branches:
|
|
|
|
only:
|
2017-04-20 07:27:48 +08:00
|
|
|
- master
|
2017-04-20 07:26:21 +08:00
|
|
|
|
|
|
|
configuration:
|
|
|
|
- Debug
|
|
|
|
|
|
|
|
environment:
|
|
|
|
matrix:
|
|
|
|
- COMPILER: Clang-CL 4.0
|
|
|
|
|
|
|
|
install:
|
|
|
|
############################################################################
|
|
|
|
# All external dependencies are installed in C:\projects\deps
|
|
|
|
############################################################################
|
|
|
|
- mkdir C:\projects\deps
|
|
|
|
- cd C:\projects\deps
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Install Ninja
|
|
|
|
############################################################################
|
|
|
|
- set NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip"
|
|
|
|
- appveyor DownloadFile %NINJA_URL% -FileName ninja.zip
|
|
|
|
- 7z x ninja.zip -oC:\projects\deps\ninja > nul
|
|
|
|
- set PATH=C:\projects\deps\ninja;%PATH%
|
|
|
|
- ninja --version
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Install a recent CMake
|
|
|
|
############################################################################
|
|
|
|
- set CMAKE_URL="https://cmake.org/files/v3.7/cmake-3.7.2-win64-x64.zip"
|
|
|
|
- appveyor DownloadFile %CMAKE_URL% -FileName cmake.zip
|
|
|
|
- 7z x cmake.zip -oC:\projects\deps > nul
|
|
|
|
- move C:\projects\deps\cmake-* C:\projects\deps\cmake # Move to a version-agnostic directory
|
|
|
|
- set PATH=C:\projects\deps\cmake\bin;%PATH%
|
|
|
|
- cmake --version
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Setup the path to Clang-cl
|
|
|
|
############################################################################
|
|
|
|
- set PATH="C:\Program Files\LLVM\bin";%PATH%
|
|
|
|
- clang-cl -v
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Setup the cached copy of LLVM
|
|
|
|
############################################################################
|
|
|
|
- if exist llvm (git -C llvm pull --rebase=true --ff-only)
|
|
|
|
- if not exist llvm (git clone --depth=1 http://llvm.org/git/llvm.git)
|
|
|
|
|
|
|
|
|
|
|
|
before_build:
|
|
|
|
- call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
|
|
|
|
- cd C:\projects\libcxx
|
|
|
|
|
|
|
|
build_script:
|
|
|
|
- md C:\projects\build-libcxx
|
|
|
|
- cd C:\projects\build-libcxx
|
|
|
|
- echo %configuration%
|
|
|
|
|
|
|
|
#############################################################################
|
|
|
|
# Configuration Step
|
|
|
|
#############################################################################
|
|
|
|
- cmake -G Ninja %extra_cmake_flags%
|
|
|
|
-DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_CXX_COMPILER=clang-cl.exe
|
|
|
|
"-DCMAKE_BUILD_TYPE=%configuration%"
|
|
|
|
"-DLLVM_PATH=C:\projects\deps\llvm" -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
|
|
|
|
-DLLVM_LIT_ARGS="-sv --no-progress-bar --show-xfail --show-unsupported"
|
|
|
|
C:\projects\libcxx
|
|
|
|
|
|
|
|
#############################################################################
|
|
|
|
# Build Step
|
|
|
|
#############################################################################
|
|
|
|
- ninja
|
|
|
|
|
|
|
|
test_script:
|
|
|
|
- ninja check-cxx
|
|
|
|
|
|
|
|
on_failure:
|
|
|
|
- appveyor PushArtifact CMakeFiles/CMakeOutput.log
|
|
|
|
- appveyor PushArtifact CMakeFiles/CMakeError.log
|
|
|
|
|
|
|
|
artifacts:
|
|
|
|
- path: '_build/CMakeFiles/*.log'
|
|
|
|
name: logs
|
|
|
|
|
|
|
|
cache:
|
|
|
|
- C:\projects\deps\llvm
|