version: "{build}-{branch}" # If we ever get a backlog larger than clone_depth, builds will fail # spuriously. I do not think we will ever get 20 deep commits deep though. clone_depth: 20 # We want to build everything, except for branches that are explicitly # for messing around with travis. branches: except: - /dev-travis.+/ # We need a more up to date pip because Python 2.7 is EOL soon init: - set PATH=C:\Python35\Scripts;%PATH% install: - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { pip --disable-pip-version-check install codecov } - ps: if (($env:CONFIGURATION) -eq "Debug" -And ($env:coverage) -eq "1" ) { .\tools\misc\installOpenCppCoverage.ps1 } before_build: - set CXXFLAGS=%additional_flags% # Indirection because appveyor doesn't handle multiline batch scripts properly # https://stackoverflow.com/questions/37627248/how-to-split-a-command-over-multiple-lines-in-appveyor-yml/37647169#37647169 # https://help.appveyor.com/discussions/questions/3888-multi-line-cmd-or-powershell-warning-ignore - cmd: .\tools\misc\appveyorBuildConfigurationScript.bat # build with MSBuild build: project: Build\Catch2.sln # path to Visual Studio solution or project parallel: true # enable MSBuild parallel builds verbosity: normal # MSBuild verbosity level {quiet|minimal|normal|detailed} test_script: - set CTEST_OUTPUT_ON_FAILURE=1 - cmd: .\tools\misc\appveyorTestRunScript.bat # Sadly we cannot use the standard "dimensions" based approach towards # specifying the different builds, as there is no way to add one-offs # builds afterwards. This means that we will painfully specify each # build explicitly. environment: matrix: - FLAVOR: VS 2019 x64 Debug APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 platform: x64 configuration: Debug - FLAVOR: VS 2019 x64 Release APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 platform: x64 configuration: Release - FLAVOR: VS 2019 x64 Debug Coverage APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 coverage: 1 platform: x64 configuration: Debug - FLAVOR: VS 2019 x64 Debug Examples APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 examples: 1 platform: x64 configuration: Debug - FLAVOR: VS 2019 x64 Debug WMain APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 wmain: 1 additional_flags: "/D_UNICODE /DUNICODE" platform: x64 configuration: Debug - FLAVOR: VS 2019 Win32 Debug APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 platform: Win32 configuration: Debug - FLAVOR: VS 2019 x64 Debug Latest Strict APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 additional_flags: "/permissive- /std:c++latest" platform: x64 configuration: Debug - FLAVOR: VS 2017 x64 Debug APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 platform: x64 configuration: Debug - FLAVOR: VS 2017 x64 Release APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 platform: x64 configuration: Release - FLAVOR: VS 2017 x64 Release Coverage APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 coverage: 1 platform: x64 configuration: Debug - FLAVOR: VS 2017 Win32 Debug APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 platform: Win32 configuration: Debug # This build causes error after 30 minutes, because the VS2017 image # tries to launch just-in-time debugger on call to std::terminate, which # is an expected part of the tests in this build. # We can reenable it, if we handle disabling that test in CMake. # - FLAVOR: VS 2017 Win32 Debug Examples # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 # examples: 1 # platform: Win32 # configuration: Debug - FLAVOR: VS 2017 Win32 Debug WMain APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 wmain: 1 additional_flags: "/D_UNICODE /DUNICODE" platform: Win32 configuration: Debug - FLAVOR: VS 2017 x64 Debug Latest Strict APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 additional_flags: "/permissive- /std:c++latest" platform: x64 configuration: Debug