appveyor.yml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. version: '{build}'
  2. environment:
  3. matrix:
  4. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  5. configuration: Debug
  6. platform: x86
  7. CXX_FLAGS: ""
  8. LINKER_FLAGS: ""
  9. GENERATOR: Visual Studio 14 2015
  10. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  11. configuration: Debug
  12. platform: x86
  13. CXX_FLAGS: ""
  14. LINKER_FLAGS: ""
  15. GENERATOR: Visual Studio 15 2017
  16. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
  17. configuration: Debug
  18. platform: x86
  19. CXX_FLAGS: ""
  20. LINKER_FLAGS: ""
  21. GENERATOR: Visual Studio 16 2019
  22. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
  23. configuration: Debug
  24. platform: x64
  25. CXX_FLAGS: ""
  26. LINKER_FLAGS: ""
  27. GENERATOR: Visual Studio 16 2019
  28. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  29. configuration: Debug
  30. COMPILER: mingw
  31. platform: x86
  32. CXX_FLAGS: ""
  33. LINKER_FLAGS: ""
  34. GENERATOR: Ninja
  35. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  36. configuration: Release
  37. COMPILER: mingw
  38. platform: x86
  39. CXX_FLAGS: ""
  40. LINKER_FLAGS: ""
  41. GENERATOR: Ninja
  42. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  43. configuration: Release
  44. platform: x86
  45. CXX_FLAGS: ""
  46. LINKER_FLAGS: ""
  47. GENERATOR: Visual Studio 14 2015
  48. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  49. configuration: Release
  50. platform: x86
  51. name: with_win_header
  52. CXX_FLAGS: ""
  53. LINKER_FLAGS: ""
  54. GENERATOR: Visual Studio 14 2015
  55. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  56. configuration: Release
  57. platform: x86
  58. CXX_FLAGS: "/permissive- /std:c++latest /utf-8"
  59. LINKER_FLAGS: ""
  60. GENERATOR: Visual Studio 15 2017
  61. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
  62. configuration: Release
  63. platform: x86
  64. CXX_FLAGS: ""
  65. LINKER_FLAGS: ""
  66. GENERATOR: Visual Studio 16 2019
  67. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
  68. configuration: Release
  69. platform: x64
  70. CXX_FLAGS: ""
  71. LINKER_FLAGS: ""
  72. GENERATOR: Visual Studio 14 2015
  73. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  74. configuration: Release
  75. platform: x64
  76. CXX_FLAGS: "/permissive- /std:c++latest /Zc:__cplusplus /utf-8 /F4000000"
  77. LINKER_FLAGS: "/STACK:4000000"
  78. GENERATOR: Visual Studio 15 2017
  79. - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
  80. configuration: Release
  81. platform: x64
  82. CXX_FLAGS: ""
  83. LINKER_FLAGS: ""
  84. GENERATOR: Visual Studio 16 2019
  85. init:
  86. - cmake --version
  87. - msbuild /version
  88. install:
  89. - if "%COMPILER%"=="mingw" appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip -FileName ninja.zip
  90. - if "%COMPILER%"=="mingw" 7z x ninja.zip -oC:\projects\deps\ninja > nul
  91. - if "%COMPILER%"=="mingw" set PATH=C:\projects\deps\ninja;%PATH%
  92. - if "%COMPILER%"=="mingw" set PATH=C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin;%PATH%
  93. - if "%COMPILER%"=="mingw" g++ --version
  94. - if "%platform%"=="x86" set GENERATOR_PLATFORM=Win32
  95. before_build:
  96. # for with_win_header build, inject the inclusion of Windows.h to the single-header library
  97. - ps: if ($env:name -Eq "with_win_header") { $header_path = "single_include\nlohmann\json.hpp" }
  98. - ps: if ($env:name -Eq "with_win_header") { "#include <Windows.h>`n" + (Get-Content $header_path | Out-String) | Set-Content $header_path }
  99. - 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")
  100. build_script:
  101. - cmake --build . --config "%configuration%"
  102. test_script:
  103. - if "%configuration%"=="Release" ctest -C "%configuration%" -V -j
  104. # On Debug builds, skip test-unicode_all
  105. # as it is extremely slow to run and cause
  106. # occasional timeouts on AppVeyor.
  107. # More info: https://github.com/nlohmann/json/pull/1570
  108. - if "%configuration%"=="Debug" ctest --exclude-regex "test-unicode" -C "%configuration%" -V -j