7a521150aa
In a future commit we want to add support for MSVC 2019. For that version cmake requires us to pass in the architecture not part of the generator but explicitly. So let's pass that in always like that. This also removes the doubling of the platform/architecture.
112 lines
3.9 KiB
YAML
112 lines
3.9 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 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: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 15 2017
|
|
|
|
- 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 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: ""
|
|
LINKER_FLAGS: ""
|
|
GENERATOR: Visual Studio 15 2017
|
|
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
configuration: Release
|
|
platform: x64
|
|
CXX_FLAGS: "/permissive- /std:c++latest /utf-8 /F4000000"
|
|
LINKER_FLAGS: "/STACK:4000000"
|
|
GENERATOR: Visual Studio 15 2017
|
|
|
|
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
|