sudo: required

matrix:
  include:
    ###################
    - language: cpp
      compiler: clang
      os: linux
      env:
        - VARIANT=test
      script:
        - dlib/travis/build-and-test.sh

    ###################
    - language: cpp
      compiler: clang
      os: linux
      env:
        - VARIANT=examples
      script:
        - dlib/travis/build-and-test.sh

    ###################
    - language: cpp
      compiler: gcc
      os: linux
      env:
        - VARIANT=test
      script:
        - dlib/travis/build-and-test.sh

    ###################
    - language: cpp
      compiler: gcc
      os: linux
      env:
        - VARIANT=tools
      script:
        - dlib/travis/build-and-test.sh

    ###################
    - language: cpp
      compiler: gcc
      os: linux
      env:
        - VARIANT=old-cmake
      before_install:
        - dlib/travis/get-old-cmakes.sh
      cache:
        - directories: cmake
      script:
        - dlib/travis/build-and-test.sh

    ###################
    - language: cpp
      compiler: gcc
      os: linux
      env:
        - VARIANT=dlib_all_source_cpp
      script:
        - dlib/travis/build-and-test.sh

    ########### test with C++17 ########
    - language: cpp
      compiler: gcc
      os: linux
      env:
        - VARIANT=test
        - CXXFLAGS=-std=c++17
          # Need to set MATRIX_EVAL to set CC and CXX env vars.  You would
          # think you could just set them in the env area like any other, but
          # travis is wonky about CC and CXX vars so you have to do it this way.
        - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-7
      script:
        - dlib/travis/build-and-test.sh

    ###################
    - language: cpp
      compiler: gcc
      os: linux
      env:
        - VARIANT=examples
      script:
        - dlib/travis/build-and-test.sh

    ###################
    - language: python
      python: 2.7
      env:
        - VARIANT=python-api
      script:
        - dlib/travis/build-and-test.sh

    ###################
    - language: python
      python: 3.5
      env:
        - VARIANT=python-api
      script:
        - dlib/travis/build-and-test.sh

    ###################
    # # Disabled because travis's OS X machines take hours (or days) to begin
    # running.  Or maybe they are just broken entirely.  Who knows.
    #- language: cpp
    #  os: osx
    #  osx_image: xcode9.2
    #  env:
    #    - VARIANT=test
    #  script:
    #    - dlib/travis/build-and-test.sh
         
          
