language: cpp
sudo: false
matrix:
  include:
  - addons: &1
      apt:
        sources:
        - george-edison55-precise-backports
        - ubuntu-toolchain-r-test
        - llvm-toolchain-precise-3.7
        packages:
        - g++-4.9
        - clang-3.7
    compiler: clang
    env: COMPILER_VERSION=3.7 BUILD_TYPE=Debug
  - addons: *1
    compiler: clang
    env: COMPILER_VERSION=3.7 BUILD_TYPE=Release
  - addons: &2
      apt:
        sources:
        - george-edison55-precise-backports
        - ubuntu-toolchain-r-test
        packages:
        - g++-4.9
    compiler: gcc
    env: COMPILER_VERSION=4.9 BUILD_TYPE=Debug EXTRA_CXXFLAGS="-fsanitize=address"
  - addons: *2
    compiler: gcc
    env: COMPILER_VERSION=4.9 BUILD_TYPE=Release EXTRA_CXXFLAGS="-fsanitize=address"
  - addons: *1
    compiler: clang
    env: COMPILER_VERSION=3.7 BUILD_TYPE=Debug CFLAGS="-O0" CXXFLAGS="-O0"

before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade; fi


script:
  - export CC="${CC}-${COMPILER_VERSION}"
  - export CXX="${CXX}-${COMPILER_VERSION}"
  - ${CC} -v
  - ${CXX} ${EXTRA_CXXFLAGS} -Wall -g -o loader_example loader_example.cc
  - ./loader_example ./models/Cube/Cube.gltf
