• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1version: '{build}'
2
3environment:
4  matrix:
5    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
6      configuration: Debug
7      platform: x86
8      CXX_FLAGS: ""
9      LINKER_FLAGS: ""
10      CMAKE_OPTIONS: ""
11      GENERATOR: Visual Studio 14 2015
12
13    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
14      configuration: Debug
15      platform: x86
16      CXX_FLAGS: ""
17      LINKER_FLAGS: ""
18      CMAKE_OPTIONS: ""
19      GENERATOR: Visual Studio 15 2017
20
21    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
22      configuration: Debug
23      platform: x86
24      CXX_FLAGS: ""
25      LINKER_FLAGS: ""
26      CMAKE_OPTIONS: ""
27      GENERATOR: Visual Studio 16 2019
28
29    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
30      configuration: Debug
31      platform: x64
32      CXX_FLAGS: ""
33      LINKER_FLAGS: ""
34      CMAKE_OPTIONS: ""
35      GENERATOR: Visual Studio 16 2019
36
37    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
38      configuration: Debug
39      COMPILER: mingw
40      platform: x86
41      CXX_FLAGS: ""
42      LINKER_FLAGS: ""
43      CMAKE_OPTIONS: ""
44      GENERATOR: Ninja
45
46    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
47      configuration: Release
48      COMPILER: mingw
49      platform: x86
50      CXX_FLAGS: ""
51      LINKER_FLAGS: ""
52      CMAKE_OPTIONS: ""
53      GENERATOR: Ninja
54
55    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
56      configuration: Release
57      platform: x86
58      CXX_FLAGS: ""
59      LINKER_FLAGS: ""
60      CMAKE_OPTIONS: ""
61      GENERATOR: Visual Studio 14 2015
62
63    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
64      configuration: Release
65      platform: x86
66      name: with_win_header
67      CXX_FLAGS: ""
68      LINKER_FLAGS: ""
69      CMAKE_OPTIONS: ""
70      GENERATOR: Visual Studio 14 2015
71
72    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
73      configuration: Release
74      platform: x86
75      CXX_FLAGS: "/permissive- /std:c++latest /utf-8"
76      LINKER_FLAGS: ""
77      CMAKE_OPTIONS: ""
78      GENERATOR: Visual Studio 15 2017
79
80    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
81      configuration: Release
82      platform: x86
83      CXX_FLAGS: ""
84      LINKER_FLAGS: ""
85      CMAKE_OPTIONS: "-DJSON_ImplicitConversions=OFF"
86      GENERATOR: Visual Studio 16 2019
87
88    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
89      configuration: Release
90      platform: x64
91      CXX_FLAGS: ""
92      LINKER_FLAGS: ""
93      CMAKE_OPTIONS: ""
94      GENERATOR: Visual Studio 16 2019
95
96    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
97      configuration: Release
98      platform: x64
99      CXX_FLAGS: ""
100      LINKER_FLAGS: ""
101      CMAKE_OPTIONS: ""
102      GENERATOR: Visual Studio 14 2015
103
104    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
105      configuration: Release
106      platform: x64
107      CXX_FLAGS: "/permissive- /std:c++latest /Zc:__cplusplus /utf-8 /F4000000"
108      LINKER_FLAGS: "/STACK:4000000"
109      CMAKE_OPTIONS: ""
110      GENERATOR: Visual Studio 15 2017
111
112    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
113      configuration: Release
114      platform: x64
115      CXX_FLAGS: ""
116      LINKER_FLAGS: ""
117      CMAKE_OPTIONS: ""
118      GENERATOR: Visual Studio 16 2019
119
120init:
121  - cmake --version
122  - msbuild /version
123
124install:
125  - if "%COMPILER%"=="mingw"  appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip -FileName ninja.zip
126  - if "%COMPILER%"=="mingw"  7z x ninja.zip -oC:\projects\deps\ninja > nul
127  - if "%COMPILER%"=="mingw"  set PATH=C:\projects\deps\ninja;%PATH%
128  - if "%COMPILER%"=="mingw"  set PATH=C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin;%PATH%
129  - if "%COMPILER%"=="mingw"  g++ --version
130  - if "%platform%"=="x86"    set GENERATOR_PLATFORM=Win32
131
132before_build:
133  # for with_win_header build, inject the inclusion of Windows.h to the single-header library
134  - ps: if ($env:name -Eq "with_win_header") { $header_path = "single_include\nlohmann\json.hpp" }
135  - ps: if ($env:name -Eq "with_win_header") { "#include <Windows.h>`n" + (Get-Content $header_path | Out-String) | Set-Content $header_path }
136  - if "%GENERATOR%"=="Ninja" (cmake . -G "%GENERATOR%" -DCMAKE_BUILD_TYPE="%configuration%" -DCMAKE_CXX_FLAGS="%CXX_FLAGS%" -DCMAKE_EXE_LINKER_FLAGS="%LINKER_FLAGS%" -DCMAKE_IGNORE_PATH="C:/Program Files/Git/usr/bin" -DJSON_BuildTests=On "%CMAKE_OPTIONS%") else (cmake . -G "%GENERATOR%" -A "%GENERATOR_PLATFORM%" -DCMAKE_CXX_FLAGS="%CXX_FLAGS%" -DCMAKE_EXE_LINKER_FLAGS="%LINKER_FLAGS%" -DCMAKE_IGNORE_PATH="C:/Program Files/Git/usr/bin" -DJSON_BuildTests=On "%CMAKE_OPTIONS%")
137
138build_script:
139  - cmake --build . --config "%configuration%"
140
141test_script:
142  - if "%configuration%"=="Release" ctest -C "%configuration%" -V -j
143  # On Debug builds, skip test-unicode_all
144  # as it is extremely slow to run and cause
145  # occasional timeouts on AppVeyor.
146  # More info: https://github.com/nlohmann/json/pull/1570
147  - if "%configuration%"=="Debug" ctest --exclude-regex "test-unicode" -C "%configuration%" -V -j
148