language: generic

sudo: false

matrix:
  include:
    # coverage+debug build
    - os: linux
      compiler: clang
      env: BUILDTYPE=Debug CC="clang-3.5" CXX="clang++-3.5" CXXFLAGS="--coverage" CFLAGS="--coverage" LDFLAGS="--coverage"
      addons:
        apt:
          sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ]
          packages: [ 'clang-3.5', 'llvm-3.5-dev' ]
    # release+linux+g++
    - os: linux
      compiler: gcc
      env: BUILDTYPE=Release CC="gcc-4.9" CXX="g++-4.9"
      addons:
        apt:
          sources: ['ubuntu-toolchain-r-test']
          packages: [ 'g++-4.9' ]
    # release+linux+clang++
    - os: linux
      compiler: clang
      env: BUILDTYPE=Release CC="clang-3.5" CXX="clang++-3.5"
      addons:
        apt:
          sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ]
          packages: [ 'clang-3.5' ]
    # release+osx
    - os: osx
      compiler: clang
      env: BUILDTYPE=Release
    # debug+osx
    - os: osx
      compiler: clang
      env: BUILDTYPE=Debug


install:
 - BUILDTYPE=${BUILDTYPE} make -j

script:
 - BUILDTYPE=${BUILDTYPE} make test
 - if [ -n "${COVERAGE}" ]; then
       /usr/bin/llvm-cov-3.5 -lp *.o;
       pip install --user cpp-coveralls;
       ~/.local/bin/coveralls --no-gcov -i ./ --exclude clipper;
   fi
