summaryrefslogtreecommitdiff
path: root/appveyor.yml
blob: be69a555d778f2f9b04967ddad8e42f17c97165c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
version: '{build}'

shallow_clone: true

build:
  verbosity: detailed

configuration:
  - Debug

environment:
  matrix:
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      CMAKE_OPTIONS: -DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_CXX_COMPILER=clang-cl.exe
      CLANG_VERSION: ToT
      MSVC_SETUP_PATH: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
      MSVC_SETUP_ARG: x86
      GENERATOR: Ninja
      MAKE_PROGRAM: ninja
      APPVEYOR_SAVE_CACHE_ON_ERROR: true
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      CMAKE_OPTIONS: -DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_CXX_COMPILER=clang-cl.exe
      CLANG_VERSION: 4
      MSVC_SETUP_PATH: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
      MSVC_SETUP_ARG: x86_amd64
      GENERATOR: Ninja
      MAKE_PROGRAM: ninja
      APPVEYOR_SAVE_CACHE_ON_ERROR: true
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      MINGW_PATH: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin
      GENERATOR: MinGW Makefiles
      MAKE_PROGRAM: mingw32-make
      APPVEYOR_SAVE_CACHE_ON_ERROR: true

install:
  ############################################################################
  # All external dependencies are installed in C:\projects\deps
  ############################################################################
  - call "%APPVEYOR_BUILD_FOLDER%\\appveyor-reqs-install.cmd"

before_build:
  - if DEFINED MSVC_SETUP_PATH call "%MSVC_SETUP_PATH%" %MSVC_SETUP_ARG%
  - cd %APPVEYOR_BUILD_FOLDER%

build_script:
  - md C:\projects\build-libcxx
  - cd C:\projects\build-libcxx
  - echo %configuration%

  #############################################################################
  # Configuration Step
  #############################################################################
  - cmake -G "%GENERATOR%" %CMAKE_OPTIONS%
    "-DCMAKE_BUILD_TYPE=%configuration%"
    "-DLLVM_PATH=C:\projects\deps\llvm" -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
    -DLLVM_LIT_ARGS="-sv --show-xfail --show-unsupported"
    %APPVEYOR_BUILD_FOLDER%

  #############################################################################
  # Build Step
  #############################################################################
  - "%MAKE_PROGRAM%"

test_script:
  - "%MAKE_PROGRAM% 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\ninja
 - C:\projects\deps\cmake
 - C:\projects\deps\llvm-installer.exe