1version: '{build}'
2
3shallow_clone: true
4
5build:
6  verbosity: detailed
7
8configuration:
9  - Debug
10
11environment:
12  matrix:
13    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
14      CMAKE_OPTIONS: -DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_CXX_COMPILER=clang-cl.exe
15      CLANG_VERSION: ToT
16      MSVC_SETUP_PATH: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
17      MSVC_SETUP_ARG: x86
18      GENERATOR: Ninja
19      MAKE_PROGRAM: ninja
20      APPVEYOR_SAVE_CACHE_ON_ERROR: true
21# TODO: Maybe re-enable this configuration? Do we want to support MSVC 2015's runtime?
22#    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
23#      MINGW_PATH: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin
24#      GENERATOR: MinGW Makefiles
25#      MAKE_PROGRAM: mingw32-make
26#      APPVEYOR_SAVE_CACHE_ON_ERROR: true
27
28install:
29  ############################################################################
30  # All external dependencies are installed in C:\projects\deps
31  ############################################################################
32  - call "%APPVEYOR_BUILD_FOLDER%\\appveyor-reqs-install.cmd"
33
34before_build:
35  - if DEFINED MSVC_SETUP_PATH call "%MSVC_SETUP_PATH%" %MSVC_SETUP_ARG%
36  - cd %APPVEYOR_BUILD_FOLDER%
37
38build_script:
39  - md C:\projects\build-libcxx
40  - cd C:\projects\build-libcxx
41  - echo %configuration%
42
43  #############################################################################
44  # Configuration Step
45  #############################################################################
46  - cmake -G "%GENERATOR%" %CMAKE_OPTIONS%
47    "-DCMAKE_BUILD_TYPE=%configuration%"
48    "-DLLVM_PATH=C:\projects\deps\llvm" -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
49    -DLLVM_LIT_ARGS="-sv --show-xfail --show-unsupported"
50    %APPVEYOR_BUILD_FOLDER%
51
52  #############################################################################
53  # Build Step
54  #############################################################################
55  - "%MAKE_PROGRAM%"
56
57test_script:
58  - "%MAKE_PROGRAM% check-cxx"
59
60on_failure:
61  - appveyor PushArtifact CMakeFiles/CMakeOutput.log
62  - appveyor PushArtifact CMakeFiles/CMakeError.log
63
64artifacts:
65  - path: '_build/CMakeFiles/*.log'
66    name: logs
67
68cache:
69 - C:\projects\deps\ninja
70 - C:\projects\deps\cmake
71 - C:\projects\deps\llvm-installer.exe
72