version: '{build}' shallow_clone: true os: - Visual Studio 2015 build: verbosity: detailed branches: only: - master 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