language: cpp

branches:
  except:
  - /dev-appveyor.*/

common_sources: &all_sources
  - ubuntu-toolchain-r-test
  - llvm-toolchain-trusty
  - llvm-toolchain-trusty-3.9
  - llvm-toolchain-trusty-4.0
  - llvm-toolchain-xenial-5.0
  - llvm-toolchain-xenial-6.0

matrix:
  include:

    # 1/ Linux Clang Builds
    - os: linux
      compiler: clang
      addons:
        apt:
          sources: *all_sources
          packages: ['clang-3.5']
      env: COMPILER='clang++-3.5'

    - os: linux
      compiler: clang
      addons:
        apt:
          sources: *all_sources
          packages: ['clang-3.6']
      env: COMPILER='clang++-3.6'

    # Clang 3.7 is intentionally skipped as we cannot get it easily on
    # TravisCI container

    - os: linux
      compiler: clang
      addons:
        apt:
          sources: *all_sources
          packages: ['lcov', 'clang-3.8']
      env: COMPILER='clang++-3.8'

    - os: linux
      compiler: clang
      addons:
          apt:
              sources: *all_sources
              packages: ['clang-3.9']
      env: COMPILER='clang++-3.9'

    - os: linux
      compiler: clang
      addons:
          apt:
              sources: *all_sources
              packages: ['clang-4.0']
      env: COMPILER='clang++-4.0'

    - os: linux
      dist: xenial
      compiler: clang
      addons:
          apt:
              sources: *all_sources
              packages: ['clang-5.0']
      env: COMPILER='clang++-5.0'

    - os: linux
      dist: xenial
      compiler: clang
      addons:
          apt:
              sources: *all_sources
              packages: ['clang-6.0']
      env: COMPILER='clang++-6.0'

    # 2/ Linux GCC Builds
    - os: linux
      compiler: gcc
      addons:
        apt:
         sources: *all_sources
         packages: ['g++-4.8']
      env: COMPILER='g++-4.8'

    - os: linux
      compiler: gcc
      addons:
        apt:
          sources: *all_sources
          packages: ['g++-4.9']
      env: COMPILER='g++-4.9'

    - os: linux
      compiler: gcc
      addons:
        apt:
          sources: *all_sources
          packages: ['g++-5']
      env: COMPILER='g++-5'

    - os: linux
      compiler: gcc
      addons: &gcc6
        apt:
          sources: *all_sources
          packages: ['g++-6']
      env: COMPILER='g++-6'

    - os: linux
      compiler: gcc
      addons: &gcc7
        apt:
          sources: *all_sources
          packages: ['g++-7']
      env: COMPILER='g++-7'

    - os: linux
      compiler: gcc
      addons: &gcc8
        apt:
          sources: *all_sources
          packages: ['g++-8']
      env: COMPILER='g++-8'

    # 3b/ Linux C++14 Clang builds
    # Note that we need newer libstdc++ for C++14 support
    - os: linux
      compiler: clang
      addons:
          apt:
              packages: ['clang-3.8', 'libstdc++-6-dev']
              sources:
                  - ubuntu-toolchain-r-test
                  - llvm-toolchain-trusty
      env: COMPILER='clang++-3.8' CPP14=1

    - os: linux
      compiler: clang
      addons:
          apt:
              sources: *all_sources
              packages: ['clang-3.9', 'libstdc++-6-dev']
      env: COMPILER='clang++-3.9' CPP14=1

    - os: linux
      compiler: clang
      addons:
          apt:
              sources: *all_sources
              packages: ['clang-4.0', 'libstdc++-6-dev']
      env: COMPILER='clang++-4.0' CPP14=1

    - os: linux
      dist: xenial
      compiler: clang
      addons:
          apt:
              sources: *all_sources
              packages: ['clang-5.0', 'libstdc++-6-dev']
      env: COMPILER='clang++-5.0' CPP14=1

    - os: linux
      dist: xenial
      compiler: clang
      addons:
          apt:
              sources: *all_sources
              packages: ['clang-6.0', 'libstdc++-6-dev']
      env: COMPILER='clang++-6.0' CPP14=1


    # 4a/ Linux C++14 GCC builds
    - os: linux
      compiler: gcc
      addons: *gcc6
      env: COMPILER='g++-6' CPP14=1

    - os: linux
      compiler: gcc
      addons: *gcc7
      env: COMPILER='g++-7' CPP14=1

    - os: linux
      compiler: gcc
      addons: *gcc8
      env: COMPILER='g++-8' CPP14=1

    # 5/ OSX Clang Builds
    - os: osx
      osx_image: xcode7.3
      compiler: clang
      env: COMPILER='clang++'

    - os: osx
      osx_image: xcode8
      compiler: clang
      env: COMPILER='clang++'

    - os: osx
      osx_image: xcode9
      compiler: clang
      env: COMPILER='clang++'

    - os: osx
      osx_image: xcode9.1
      compiler: clang
      env: COMPILER='clang++'

    - os: osx
      osx_image: xcode9.1
      compiler: clang
      env: COMPILER='clang++' CPP14=1

    # 6/ Special builds -- examples, coverage, valgrind, etc.
    - os: linux
      compiler: gcc
      addons:
        apt:
          sources: *all_sources
          packages: ['lcov', 'g++-7']
      env: COMPILER='g++-7' CPP14=1 EXAMPLES=1 COVERAGE=1 EXTRAS=1

    - os: linux
      compiler: clang
      addons:
        apt:
          packages: ['clang-3.8', 'lcov']
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-trusty
      env: COMPILER='clang++-3.8' EXAMPLES=1 COVERAGE=1 EXTRAS=1

    - os: linux
      compiler: gcc
      addons:
        apt:
          sources: *all_sources
          packages: ['valgrind', 'lcov', 'g++-7']
      env: COMPILER='g++-7' CPP14=1 VALGRIND=1

    - os: osx
      osx_image: xcode9.1
      compiler: clang
      env: COMPILER='clang++' CPP14=1 EXAMPLES=1 COVERAGE=1 EXTRAS=1

    # 7/ C++17 builds
    - os: linux
      compiler: gcc
      addons: *gcc7
      env: COMPILER='g++-7' CPP17=1

    - os: linux
      compiler: gcc
      addons: *gcc7
      env: COMPILER='g++-7' EXAMPLES=1 COVERAGE=1 EXTRAS=1 CPP17=1

    - os: linux
      dist: xenial
      compiler: clang
      addons:
          apt:
              sources: *all_sources
              packages: ['clang-6.0', 'libstdc++-8-dev']
      env: COMPILER='clang++-6.0' CPP17=1

    - os: linux
      dist: xenial
      compiler: clang
      addons:
          apt:
              sources: *all_sources
              packages: ['clang-6.0', 'libstdc++-8-dev']
      env: COMPILER='clang++-6.0' CPP17=1 EXAMPLES=1 COVERAGE=1 EXTRAS=1

    # 8/ Conan
    - language: python
      python:
        - "3.7"
      dist: xenial
      install:
        - pip install conan-package-tools
      env:
        - CONAN_GCC_VERSIONS=8
        - CONAN_DOCKER_IMAGE=conanio/gcc8
      script:
        - python .conan/build.py

install:
  - DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
  - mkdir -p ${DEPS_DIR} && cd ${DEPS_DIR}
  - |
    if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
      CMAKE_URL="http://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz"
      mkdir cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake
      export PATH=${DEPS_DIR}/cmake/bin:${PATH}
    elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
        which cmake || brew install cmake;
    fi

before_script:
  - export CXX=${COMPILER}
  - cd ${TRAVIS_BUILD_DIR}
  # Regenerate single header file, so it is tested in the examples...
  - python scripts/generateSingleHeader.py

  - |
    if [[ ${CPP17} -eq 1 ]]; then
      export CPP_STANDARD=17
    elif [[ ${CPP14} -eq 1 ]]; then
      export CPP_STANDARD=14
    else
      export CPP_STANDARD=11
    fi

    # Use Debug builds for running Valgrind and building examples
  - cmake -H. -BBuild-Debug -DCMAKE_BUILD_TYPE=Debug -Wdev -DCATCH_USE_VALGRIND=${VALGRIND} -DCATCH_BUILD_EXAMPLES=${EXAMPLES} -DCATCH_ENABLE_COVERAGE=${COVERAGE} -DCATCH_BUILD_EXTRA_TESTS=${EXTRAS} -DCMAKE_CXX_STANDARD=${CPP_STANDARD} -DCMAKE_CXX_STANDARD_REQUIRED=On -DCMAKE_CXX_EXTENSIONS=OFF
    # Don't bother with release build for coverage build
  - cmake -H. -BBuild-Release -DCMAKE_BUILD_TYPE=Release -Wdev -DCMAKE_CXX_STANDARD=${CPP_STANDARD} -DCMAKE_CXX_STANDARD_REQUIRED=On -DCMAKE_CXX_EXTENSIONS=OFF


script:
  - cd Build-Debug
  - make -j 2
  - CTEST_OUTPUT_ON_FAILURE=1 ctest -j 2
    # Coverage collection does not work for OS X atm
  - |
    if [[ "${TRAVIS_OS_NAME}" == "linux" ]] && [[ "${COVERAGE}" == "1" ]]; then
      make gcov
      make lcov
      bash <(curl -s https://codecov.io/bash) -X gcov || echo "Codecov did not collect coverage reports"
    fi
  - # Go to release build
  - cd ../Build-Release
  - make -j 2
  - CTEST_OUTPUT_ON_FAILURE=1 ctest -j 2
