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