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