# Use new trusty images, should yield newer compilers and packages
sudo: true
dist: trusty
language: cpp

matrix:
  include:
    - os: linux
      addons:
        apt:
          sources:
            - sourceline: 'deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse'
            - ubuntu-toolchain-r-test
          packages:
            - cppcheck/trusty-backports
            # imake
            - xutils-dev
            # X11 libaries
            - libxcomposite-dev
            - libxfont-dev
            - libxinerama-dev
            - libxrandr-dev
            - libxtst-dev
            - x11proto-fonts-dev

      env:
        - MATRIX_EVAL="CC=gcc && CXX=g++"
        - STATIC_ANALYSIS="yes"
      fail_fast: true

    - os: linux
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-8
            # imake
            - xutils-dev
            # X11 libaries
            - libxcomposite-dev
            - libxfont-dev
            - libxinerama-dev
            - libxrandr-dev
            - libxtst-dev
            - x11proto-fonts-dev

      env:
        - MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
        - STATIC_ANALYSIS="no"

    - os: linux
      addons:
        apt:
          sources:
            - llvm-toolchain-trusty-3.9
          packages:
            - clang-3.9
            # imake
            - xutils-dev
            # X11 libaries
            - libxcomposite-dev
            - libxfont-dev
            - libxinerama-dev
            - libxrandr-dev
            - libxtst-dev
            - x11proto-fonts-dev

      env:
        - MATRIX_EVAL="CC=clang-3.9 && CXX=clang++-3.9"
        - STATIC_ANALYSIS="no"

    - os: linux
      addons:
        apt:
          sources:
            - llvm-toolchain-trusty-6.0
            - ubuntu-toolchain-r-test
          packages:
            - clang-6.0
            - g++-4.9
            # imake
            - xutils-dev
            # X11 libaries
            - libxcomposite-dev
            - libxfont-dev
            - libxinerama-dev
            - libxrandr-dev
            - libxtst-dev
            - x11proto-fonts-dev

      env:
        - MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
        - STATIC_ANALYSIS="no"

before_install:
   - eval "${MATRIX_EVAL}"
script:
   # run static analysis tools
   - ./run-static-analysis.sh
   # build all packages
   - make