#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
#
## both apt and ccache make the builds slower...
##cache:
##  - apt
##  - ccache
#
#env:
#  global:
##    - USE_CCACHE=1
##    - CCACHE_SLOPPINESS=pch_defines,time_macros
##    - CCACHE_COMPRESS=1
##    - CCACHE_MAXSIZE=200M
##    - CCACHE_CPP2=1
#    - 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
#
#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
#  # these apt sources will be referenced later (by using *name)
#  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
#
#before_install:
#  - |
#    if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
#      brew update
#      # brew install ccache
#      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="ccache ${COMPILER}"
#  - export CXX="${COMPILER}"
#  - ${CXX} --version
##  - ccache -s
#
#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 clean && make -j2 && ctest --output-on-failure ; fi
#
##  - ccache -s
#
#after_script:
#  - cat compile_commands.json
#