language: cpp

packages: &gcc5_pkgs
  - gcc-5
  - g++-5
  - libstdc++6

matrix:
  include:
    # build and run all tests
    - compiler: gcc
      env:
        - GCC_VER=5
        - ADDRESS_MODEL=64
        - BUILD_SYSTEM=cmake
        - PATH=$HOME/bin:$PATH
        - VARIANT=test
      addons: &ao_gcc5
        apt:
          sources: 
            - ubuntu-toolchain-r-test
          packages: *gcc5_pkgs
    # build all examples
    - compiler: gcc
      env:
        - GCC_VER=5
        - ADDRESS_MODEL=64
        - BUILD_SYSTEM=cmake
        - PATH=$HOME/bin:$PATH
        - VARIANT=examples
      addons: *ao_gcc5
    # build the python extension 
    - compiler: gcc
      env:
        - GCC_VER=5
        - ADDRESS_MODEL=64
        - BUILD_SYSTEM=cmake
        - PATH=$HOME/bin:$PATH
        - VARIANT=python-api
      addons: &ao_gcc5
        apt:
          sources: 
            - ubuntu-toolchain-r-test
            - boost-latest
          packages: 
            - libboost-python1.55-dev
            - *gcc5_pkgs
    # build the python3 extension 
    - compiler: gcc
      env:
        - GCC_VER=5
        - ADDRESS_MODEL=64
        - BUILD_SYSTEM=cmake
        - PATH=$HOME/bin:$PATH
        - VARIANT=python3-api
      addons: &ao_gcc5
        apt:
          sources: 
            - ubuntu-toolchain-r-test
            - boost-latest
          packages: 
            - libboost-python1.55-dev
            - python3 
            - python3-pip
            - *gcc5_pkgs
          
cache:
  directories:
    - cmake

before_install:
  - dlib/travis/before-install.sh

install:
    - if [ "$CXX" == "g++" ]; then export CXX=g++-$GCC_VER; export CC=gcc-$GCC_VER; fi
    - if [ "$CXX" == "clang++" ]; then export CXX=clang++-$CLANG_VER; export CC=clang-$CLANG_VER; fi

script:
  - dlib/travis/build-and-test.sh


#notifications:
#  email:
#    false
