appveyor.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # version string format -- This will be overwritten later anyway
  2. version: "{build}"
  3. # We need a more up to date pip because Python 2.7 is EOL soon
  4. init:
  5. - set PATH=C:\Python35\Scripts;%PATH%
  6. branches:
  7. except:
  8. - /dev-travis.+/
  9. os:
  10. - Visual Studio 2017
  11. - Visual Studio 2015
  12. environment:
  13. matrix:
  14. - additional_flags: "/permissive- /std:c++latest"
  15. wmain: 0
  16. - additional_flags: ""
  17. wmain: 0
  18. - additional_flags: "/D_UNICODE /DUNICODE"
  19. wmain: 1
  20. coverage: 0
  21. # Have a coverage dimension
  22. - additional_flags: ""
  23. wmain: 0
  24. coverage: 1
  25. # Have an examples dimension
  26. - additional_flags: ""
  27. wmain: 0
  28. examples: 1
  29. matrix:
  30. exclude:
  31. - os: Visual Studio 2015
  32. additional_flags: "/permissive- /std:c++latest"
  33. - os: Visual Studio 2015
  34. additional_flags: "/D_UNICODE /DUNICODE"
  35. # Exclude unwanted coverage configurations
  36. - coverage: 1
  37. platform: Win32
  38. - coverage: 1
  39. os: Visual Studio 2015
  40. - coverage: 1
  41. configuration: Release
  42. # Exclude unwanted examples configurations
  43. - examples: 1
  44. platform: Win32
  45. - examples: 1
  46. os: Visual Studio 2015
  47. - examples: 1
  48. configuration: Release
  49. install:
  50. - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { pip --disable-pip-version-check install codecov }
  51. - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { .\misc\installOpenCppCoverage.ps1 }
  52. # Win32 and x64 are CMake-compatible solution platform names.
  53. # This allows us to pass %PLATFORM% to CMake -A.
  54. platform:
  55. - Win32
  56. - x64
  57. # build Configurations, i.e. Debug, Release, etc.
  58. configuration:
  59. - Debug
  60. - Release
  61. #Cmake will autodetect the compiler, but we set the arch
  62. before_build:
  63. - set CXXFLAGS=%additional_flags%
  64. # Indirection because appveyor doesn't handle multiline batch scripts properly
  65. # https://stackoverflow.com/questions/37627248/how-to-split-a-command-over-multiple-lines-in-appveyor-yml/37647169#37647169
  66. # https://help.appveyor.com/discussions/questions/3888-multi-line-cmd-or-powershell-warning-ignore
  67. - cmd: .\misc\appveyorBuildConfigurationScript.bat
  68. # build with MSBuild
  69. build:
  70. project: Build\Catch2.sln # path to Visual Studio solution or project
  71. parallel: true # enable MSBuild parallel builds
  72. verbosity: normal # MSBuild verbosity level {quiet|minimal|normal|detailed}
  73. test_script:
  74. - set CTEST_OUTPUT_ON_FAILURE=1
  75. - cmd: .\misc\appveyorTestRunScript.bat