mirror of
https://github.com/nlohmann/json.git
synced 2024-11-24 23:09:02 +08:00
5607dfb48a
According to [1] the C++ macro __cplusplus has always the value 199711L even if you enable later version of C++ support via /std. Use one job with /Zc:__cplusplus defined so that we know that it compiles. [1]: https://docs.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=vs-2019
127 lines
4.2 KiB
YAML
127 lines
4.2 KiB
YAML
version: '{build}'
|
|
|
|
environment:
|
|
matrix:
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
configuration: Debug
|
|
platform: x86
|
|
CXX_FLAGS: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 14 2015
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
configuration: Debug
|
|
platform: x86
|
|
CXX_FLAGS: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 15 2017
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
configuration: Debug
|
|
platform: x86
|
|
CXX_FLAGS: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 16 2019
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
configuration: Debug
|
|
platform: x64
|
|
CXX_FLAGS: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 16 2019
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
configuration: Debug
|
|
COMPILER: mingw
|
|
platform: x86
|
|
CXX_FLAGS: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Ninja
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
configuration: Release
|
|
COMPILER: mingw
|
|
platform: x86
|
|
CXX_FLAGS: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Ninja
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
configuration: Release
|
|
platform: x86
|
|
CXX_FLAGS: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 14 2015
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
configuration: Release
|
|
platform: x86
|
|
name: with_win_header
|
|
CXX_FLAGS: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 14 2015
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
configuration: Release
|
|
platform: x86
|
|
CXX_FLAGS: "/permissive- /std:c++latest /utf-8"
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 15 2017
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
configuration: Release
|
|
platform: x86
|
|
CXX_FLAGS: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 16 2019
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
configuration: Release
|
|
platform: x64
|
|
CXX_FLAGS: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 14 2015
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
configuration: Release
|
|
platform: x64
|
|
CXX_FLAGS: "/permissive- /std:c++latest /Zc:__cplusplus /utf-8 /F4000000"
|
|
LINKER_FLAGS: "/STACK:4000000"
|
|
GENERATOR: Visual Studio 15 2017
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
configuration: Release
|
|
platform: x64
|
|
CXX_FLAGS: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 16 2019
|
|
|
|
init:
|
|
- cmake --version
|
|
- msbuild /version
|
|
|
|
install:
|
|
- if "%COMPILER%"=="mingw" appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip -FileName ninja.zip
|
|
- if "%COMPILER%"=="mingw" 7z x ninja.zip -oC:\projects\deps\ninja > nul
|
|
- if "%COMPILER%"=="mingw" set PATH=C:\projects\deps\ninja;%PATH%
|
|
- if "%COMPILER%"=="mingw" set PATH=C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin;%PATH%
|
|
- if "%COMPILER%"=="mingw" g++ --version
|
|
- if "%platform%"=="x86" set GENERATOR_PLATFORM=Win32
|
|
|
|
before_build:
|
|
# for with_win_header build, inject the inclusion of Windows.h to the single-header library
|
|
- ps: if ($env:name -Eq "with_win_header") { $header_path = "single_include\nlohmann\json.hpp" }
|
|
- ps: if ($env:name -Eq "with_win_header") { "#include <Windows.h>`n" + (Get-Content $header_path | Out-String) | Set-Content $header_path }
|
|
- 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") 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")
|
|
|
|
build_script:
|
|
- cmake --build . --config "%configuration%"
|
|
|
|
test_script:
|
|
- if "%configuration%"=="Release" ctest -C "%configuration%" -V -j
|
|
# On Debug builds, skip test-unicode_all
|
|
# as it is extremely slow to run and cause
|
|
# occasional timeouts on AppVeyor.
|
|
# More info: https://github.com/nlohmann/json/pull/1570
|
|
- if "%configuration%"=="Debug" ctest --exclude-regex "test-unicode_all" -C "%configuration%" -V -j
|