#sudo: false
#language: c++
#
#notifications:
#  email:
#    on_success: change
#    on_failure: always
#  # gitter
#  webhooks:
#    urls: https://webhooks.gitter.im/e/10941dd1c67e5e967706
#    on_success: change
#    on_failure: always
#git:
#  depth: 5
#
#env:
#  global:
#    - CMAKE_OPTIONS_GLOBAL="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
#  # Workaround for https://github.com/travis-ci/travis-ci/issues/4681
#  # "Defining the build matrix only with matrix.include leads to an additional, unwanted job"
#  matrix:
#    - TRAVIS_EMPTY_JOB_WORKAROUND=true
#
## these apt sources will be referenced later (by using *name)
#addons:
#  apt:
#    sources: &apt_sources
#      - ubuntu-toolchain-r-test
#      - llvm-toolchain-precise-3.5
#      - llvm-toolchain-precise-3.6
#      - llvm-toolchain-precise-3.7
#      - llvm-toolchain-precise-3.8
#      - llvm-toolchain-precise
#
#compiler: clang
#os: linux
#
#matrix:
#  exclude:
#    - env: TRAVIS_EMPTY_JOB_WORKAROUND=true
#
#  include:
#    # coverage
#    - env: COMPILER=g++ COVERALLS_SERVICE_NAME=travis-ci
#      compiler: gcc
#      addons:
#        apt:
#          packages: ["lcov", "curl"]
#
#    # GCC 4.4
#    - env: COMPILER=g++-4.4
#      compiler: gcc
#      addons: &gcc44
#        apt:
#          packages: ["g++-4.4", "valgrind", "g++-4.4-multilib", "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
#    # GCC 4.5
#    - env: COMPILER=g++-4.5
#      compiler: gcc
#      addons: &gcc45
#        apt:
#          packages: ["g++-4.5", "valgrind", "g++-4.5-multilib", "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
#    # GCC 4.6
#    - env: COMPILER=g++-4.6
#      compiler: gcc
#      addons: &gcc46
#        apt:
#          packages: [           "valgrind", "g++-4.6-multilib", "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
#    # GCC 4.7
#    - env: COMPILER=g++-4.7
#      compiler: gcc
#      addons: &gcc47
#        apt:
#          packages: ["g++-4.7", "valgrind", "g++-4.7-multilib", "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
#    # GCC 4.8
#    - env: COMPILER=g++-4.8 HAS_ASAN_32=true HAS_ASAN_64=true
#      compiler: gcc
#      addons: &gcc48
#        apt:
#          packages: ["g++-4.8", "valgrind", "g++-4.8-multilib", "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
#    # GCC 4.9
#    - env: COMPILER=g++-4.9 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
#      compiler: gcc
#      addons: &gcc49
#        apt:
#          packages: ["g++-4.9", "valgrind", "g++-4.9-multilib", "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
#    # GCC 5
#    - env: COMPILER=g++-5 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
#      compiler: gcc
#      addons: &gcc5
#        apt:
#          packages: ["g++-5",   "valgrind", "g++-5-multilib",   "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
##    # GCC 6
##    # released on 2016.04.27
##    # wait for it to enter the whitelist - https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
##    # also with homebrew under OSX!!!
##    - env: COMPILER=g++-6 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
##      compiler: gcc
##      addons: &gcc6
##        apt:
##          packages: ["g++-6",   "valgrind", "g++-6-multilib",   "libc6-dbg", "libc6-dbg:i386"]
##          sources: *apt_sources
#
#    # Clang 3.4
#    - env: COMPILER=clang++ HAS_ASAN_64=true HAS_UBSAN_64=true
#      addons: &clang
#        apt:
#          packages: [             "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
#    # Clang 3.5
#    - env: COMPILER=clang++-3.5 HAS_ASAN_64=true HAS_UBSAN_64=true
#      addons: &clang35
#        apt:
#          packages: ["clang-3.5", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
#    # Clang 3.6
#    - env: COMPILER=clang++-3.6 HAS_ASAN_64=true HAS_UBSAN_64=true
#      addons: &clang36
#        apt:
#          packages: ["clang-3.6", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
#    # Clang 3.7
#    - env: COMPILER=clang++-3.7 # no sanitizers - not even for 64 bit - https://llvm.org/bugs/show_bug.cgi?id=22757
#      addons: &clang37
#        apt:
#          packages: ["clang-3.7", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
#    # Clang 3.8
#    - env: COMPILER=clang++-3.8 # no sanitizers - not even for 64 bit - https://llvm.org/bugs/show_bug.cgi?id=22757
#      addons: &clang38
#        apt:
#          packages: ["clang-3.8", "valgrind", "g++-multilib", "libc6-dbg", "libc6-dbg:i386"]
#          sources: *apt_sources
#
#    # Xcode 6.1 Clang
#    - env: COMPILER=clang++
#      os: osx
#
#    # Xcode 6.2 Clang
#    - env: COMPILER=clang++
#      osx_image: beta-xcode6.2
#      os: osx
#
#    # Xcode 6.3 Clang
#    - env: COMPILER=clang++
#      osx_image: beta-xcode6.3
#      os: osx
#
#    # Xcode 6.4 Clang
#    - env: COMPILER=clang++
#      osx_image: xcode6.4
#      os: osx
#
#    # Xcode 7 Clang
#    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
#      osx_image: xcode7
#      os: osx
#
#    # Xcode 7.1 Clang
#    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
#      osx_image: xcode7.1
#      os: osx
#
#    # Xcode 7.2 Clang
#    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
#      osx_image: xcode7.2
#      os: osx
#
#    # Xcode 7.3 Clang
#    - env: COMPILER=clang++ HAS_ASAN_32=true HAS_ASAN_64=true
#      osx_image: xcode7.3
#      os: osx
#
#    # OSX GCC 4.4
#    - env: COMPILER=g++-4.4
#      compiler: gcc
#      os: osx
#
#    # OSX GCC 4.5
#    - env: COMPILER=g++-4.5
#      compiler: gcc
#      os: osx
#
#    # OSX GCC 4.6
#    - env: COMPILER=g++-4.6
#      compiler: gcc
#      os: osx
#
#    # OSX GCC 4.7
#    - env: COMPILER=g++-4.7
#      compiler: gcc
#      os: osx
#
#    # OSX GCC 4.8
#    - env: COMPILER=g++-4.8 HAS_ASAN_32=true HAS_ASAN_64=true
#      compiler: gcc
#      os: osx
#
#    # OSX GCC 4.9
#    - env: COMPILER=g++-4.9 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
#      compiler: gcc
#      os: osx
#
#    # OSX GCC 5
#    - env: COMPILER=g++-5 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
#      compiler: gcc
#      os: osx
#
##    # OSX GCC 6
##    - env: COMPILER=g++-6 HAS_ASAN_32=true HAS_UBSAN_32=true HAS_ASAN_64=true HAS_UBSAN_64=true
##      compiler: gcc
##      os: osx
#
#    # OSX LLVM-GCC
#    - env: COMPILER=g++
#      compiler: gcc
#      os: osx
#
#addons:
#  coverity_scan:
#    # COVERITY_SCAN_TOKEN added as env var in travis project
#    project:
#      name: onqtam/doctest
#    notification_email: vik.kirilov@gmail.com
#    build_command_prepend: cd examples/hello_world && cmake .
#    build_command: make
#    branch_pattern: coverity_scan
#
#before_install:
#  - |
#    if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
#      # update package list
#      brew update
#      # valgrind
#      brew install valgrind
#      # cmake
#      if brew list -1 | grep -q "^cmake\$"; then
#        brew outdated cmake || brew upgrade cmake
#      else
#        brew install cmake
#      fi
#      # gcc
#      if [[ "${COMPILER}" = "g++-4.4" ]]; then
#        brew install gcc44
#      fi
#      if [[ "${COMPILER}" = "g++-4.5" ]]; then
#        brew install gcc45
#      fi
#      if [[ "${COMPILER}" = "g++-4.6" ]]; then
#        brew install gcc46
#      fi
#      if [[ "${COMPILER}" = "g++-4.7" ]]; then
#        brew install gcc47
#      fi
#      if [[ "${COMPILER}" = "g++-4.8" ]]; then
#        brew outdated gcc48 || brew upgrade gcc48
#      fi
#      if [[ "${COMPILER}" = "g++-4.9" ]]; then
#        brew install gcc49
#      fi
#      if [[ "${COMPILER}" = "g++-5" ]]; then
#        brew install gcc5
#      fi
#      if [[ "${COMPILER}" = "g++-6" ]]; then
#        brew install gcc6
#      fi
#    fi
#  - git submodule update --init --recursive
#
#install:
#  - ${CXX} --version
#  - export CXX="${COMPILER}"
#  - ${CXX} --version
#
#script:
#  # coverage - do not continue with other build configurations after that
#  - |
#    if [[ "${COVERALLS_SERVICE_NAME}" = "travis-ci" ]]; then
#      cmake ${CMAKE_OPTIONS_GLOBAL} -DCMAKE_BUILD_TYPE=Debug .
#      make -j2 && make coveralls
#      exit
#    fi
#
#  # initial run with options
#  - cmake ${CMAKE_OPTIONS_GLOBAL} ${CMAKE_OPTIONS} .
#
#  # debug x86
#  - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m32" .
#  - make clean && make -j2
#  # valgrind for 32bit under osx fails
#  - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure ; fi
##  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
#  # debug x64
#  - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-m64" .
#  - make clean && make -j2
#  - cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure
##  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
#  # release x86
#  - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32" .
#  - make clean && make -j2
#  # valgrind for 32bit under osx fails
#  - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure ; fi
##  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
#  # release x64
#  - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64" .
#  - make clean && make -j2
#  - cmake -DTEST_MODE=VALGRIND . && ctest --output-on-failure
##  - cmake -DTEST_MODE=COMPARE . && ctest --output-on-failure
#
#  # sanitizers - again 32/64 bit Debug/Release configs through address/undefined sanitizers
#  - cmake -DTEST_MODE=NORMAL .
##  - cmake -DTEST_MODE=COMPARE .
#  # on separate commands because when something fails I want to see which one exactly
#  - if [[ "${HAS_ASAN_64}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m64 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
#  - if [[ "${HAS_ASAN_32}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m32 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
#  - if [[ "${HAS_ASAN_64}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
#  - if [[ "${HAS_ASAN_32}" = "true" ]];  then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32 -fsanitize=address" .   && make clean && make -j2 && ctest --output-on-failure ; fi
#  - if [[ "${HAS_UBSAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m64 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
#  - if [[ "${HAS_UBSAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug   -DCMAKE_CXX_FLAGS="-m32 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
#  - if [[ "${HAS_UBSAN_64}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64 -fsanitize=undefined" . && make clean && make -j2 && ctest --output-on-failure ; fi
#  - if [[ "${HAS_UBSAN_32}" = "true" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m32 -fsanitize=undefined" . && make -j2 && ctest --output-on-failure ; fi
#
#after_script:
#  - cat compile_commands.json
#