appveyor.yml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. version: "{build}-{branch}"
  2. # If we ever get a backlog larger than clone_depth, builds will fail
  3. # spuriously. I do not think we will ever get 20 deep commits deep though.
  4. clone_depth: 20
  5. # We want to build everything, except for branches that are explicitly
  6. # for messing around with travis.
  7. branches:
  8. except:
  9. - /dev-travis.+/
  10. # We need a more up to date pip because Python 2.7 is EOL soon
  11. init:
  12. - set PATH=C:\Python35;C:\Python35\Scripts;%PATH%
  13. install:
  14. - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { pip --disable-pip-version-check install codecov }
  15. # This removes our changes to PATH. Keep this step last!
  16. - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { .\tools\misc\installOpenCppCoverage.ps1 }
  17. before_build:
  18. # We need to modify PATH again, because it was reset since the "init" step
  19. - set PATH=C:\Python35;C:\Python35\Scripts;%PATH%
  20. - set CXXFLAGS=%additional_flags%
  21. # If we are building examples/extra-tests, we need to regenerate the amalgamated files
  22. - cmd: if "%examples%"=="1" ( python .\tools\scripts\generateAmalgamatedFiles.py )
  23. # Indirection because appveyor doesn't handle multiline batch scripts properly
  24. # https://stackoverflow.com/questions/37627248/how-to-split-a-command-over-multiple-lines-in-appveyor-yml/37647169#37647169
  25. # https://help.appveyor.com/discussions/questions/3888-multi-line-cmd-or-powershell-warning-ignore
  26. - cmd: .\tools\misc\appveyorBuildConfigurationScript.bat
  27. # build with MSBuild
  28. build:
  29. project: Build\Catch2.sln # path to Visual Studio solution or project
  30. parallel: true # enable MSBuild parallel builds
  31. verbosity: normal # MSBuild verbosity level {quiet|minimal|normal|detailed}
  32. test_script:
  33. - set CTEST_OUTPUT_ON_FAILURE=1
  34. - cmd: .\tools\misc\appveyorTestRunScript.bat
  35. # Sadly we cannot use the standard "dimensions" based approach towards
  36. # specifying the different builds, as there is no way to add one-offs
  37. # builds afterwards. This means that we will painfully specify each
  38. # build explicitly.
  39. environment:
  40. matrix:
  41. - FLAVOR: VS 2019 x64 Debug Surrogates Configure Tests
  42. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
  43. surrogates: 1
  44. configure_tests: 1
  45. platform: x64
  46. configuration: Debug
  47. - FLAVOR: VS 2019 x64 Release
  48. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
  49. platform: x64
  50. configuration: Release
  51. - FLAVOR: VS 2019 x64 Debug Coverage Examples
  52. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
  53. examples: 1
  54. coverage: 1
  55. platform: x64
  56. configuration: Debug
  57. - FLAVOR: VS 2019 x64 Debug WMain
  58. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
  59. wmain: 1
  60. additional_flags: "/D_UNICODE /DUNICODE"
  61. platform: x64
  62. configuration: Debug
  63. - FLAVOR: VS 2019 Win32 Debug
  64. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
  65. platform: Win32
  66. configuration: Debug
  67. - FLAVOR: VS 2019 x64 Debug Latest Strict
  68. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
  69. additional_flags: "/permissive- /std:c++latest"
  70. platform: x64
  71. configuration: Debug
  72. - FLAVOR: VS 2017 x64 Debug
  73. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  74. platform: x64
  75. configuration: Debug
  76. - FLAVOR: VS 2017 x64 Release
  77. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  78. platform: x64
  79. configuration: Release
  80. - FLAVOR: VS 2017 x64 Release Coverage
  81. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  82. coverage: 1
  83. platform: x64
  84. configuration: Debug
  85. - FLAVOR: VS 2017 Win32 Debug
  86. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  87. platform: Win32
  88. configuration: Debug
  89. - FLAVOR: VS 2017 Win32 Debug Examples
  90. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  91. examples: 1
  92. platform: Win32
  93. configuration: Debug
  94. - FLAVOR: VS 2017 Win32 Debug WMain
  95. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  96. wmain: 1
  97. additional_flags: "/D_UNICODE /DUNICODE"
  98. platform: Win32
  99. configuration: Debug
  100. - FLAVOR: VS 2017 x64 Debug Latest Strict
  101. APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
  102. additional_flags: "/permissive- /std:c++latest"
  103. platform: x64
  104. configuration: Debug