1
2clone_depth: 5
3
4environment:
5  SCCACHE_CACHE_SIZE: 160M
6  SCCACHE_VERSION: 0.2.12
7  APPVEYOR_SAVE_CACHE_ON_ERROR: true
8
9  matrix:
10
11    # MSVC 2015 DLL x86-32
12    - CC: VC2015
13      PLATFORM: x86
14      TARGET: shared
15      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
16      BOOST_ROOT: "C:\\Libraries\\boost_1_69_0"
17      BOOST_LIBRARYDIR: "C:\\Libraries\\boost_1_69_0\\lib32-msvc-14.0"
18      BOOST_SYSTEM_LIBRARY: "libboost_system-vc140-mt-x32-1_69"
19      MAKE_TOOL: nmake
20      TARGET_CC: msvc
21      EXTRA_FLAGS: "--disable-werror"
22
23    # MSVC 2017 DLL x86-32
24    - CC: VC2017
25      PLATFORM: x86
26      TARGET: shared
27      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
28      BOOST_ROOT: "C:\\Libraries\\boost_1_69_0"
29      BOOST_LIBRARYDIR: "C:\\Libraries\\boost_1_69_0\\lib32-msvc-14.1"
30      BOOST_SYSTEM_LIBRARY: "libboost_system-vc141-mt-x32-1_69"
31      MAKE_TOOL: jom
32      TARGET_CC: msvc
33
34    # MSVC 2017 DLL x86-64
35    - CC: VC2017
36      PLATFORM: x86_amd64
37      TARGET: shared
38      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
39      BOOST_ROOT: "C:\\Libraries\\boost_1_69_0"
40      BOOST_LIBRARYDIR: "C:\\Libraries\\boost_1_69_0\\lib64-msvc-14.1"
41      BOOST_SYSTEM_LIBRARY: "libboost_system-vc141-mt-x64-1_69"
42      MAKE_TOOL: jom
43      TARGET_CC: msvc
44
45    # MSVC 2017 static x86-64
46    - CC: VC2017
47      PLATFORM: x86_amd64
48      TARGET: static
49      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
50      BOOST_ROOT: "C:\\Libraries\\boost_1_69_0"
51      BOOST_LIBRARYDIR: "C:\\Libraries\\boost_1_69_0\\lib64-msvc-14.1"
52      BOOST_SYSTEM_LIBRARY: "libboost_system-vc141-mt-x64-1_69"
53      MAKE_TOOL: jom
54      TARGET_CC: msvc
55      EXTRA_FLAGS: "--extra-cxxflags=/DUNICODE --extra-cxxflags=/D_UNICODE"
56
57    # MSVC 2019 static x86-64 w/debug iterators
58    - CC: VC2019
59      PLATFORM: x86_amd64
60      TARGET: sanitizer
61      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
62      MAKE_TOOL: jom
63      TARGET_CC: msvc
64
65    # MSVC 2019 x86-64 preview
66    - CC: VC2019p
67      PLATFORM: x86_amd64
68      TARGET: static
69      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 Preview
70      MAKE_TOOL: jom
71      TARGET_CC: msvc
72
73    # MinGW GCC
74    - CC: MinGW
75      PLATFORM: x86_amd64
76      TARGET: static
77      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
78      MAKE_TOOL: mingw32-make
79      TARGET_CC: gcc
80
81install:
82  - call src\scripts\ci\setup_appveyor.bat
83
84build_script:
85  - python src\scripts\ci_build.py --os=windows --cc=%TARGET_CC% --without-python3 --compiler-cache=sccache --make-tool=%MAKE_TOOL% --cpu=%PLATFORM% %EXTRA_FLAGS% %TARGET%
86
87# whitelist branches to avoid testing feature branches twice (as branch and as pull request)
88branches:
89  only:
90    - master
91    - release-2
92
93cache:
94  - C:\Users\appveyor\AppData\Local\Mozilla\sccache\cache
95