language: generic
sudo: false
os: osx
env: CF=

matrix:
  include:
#    - osx_image: xcode7.3 #default
#      before_install: &brew
#      - brew update
#      - brew install hidapi
    - osx_image: xcode6.4
    - osx_image: xcode8.2
    - os: linux
      dist: trusty
      env: COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5 CF=-DCOMPILE_TESTS=ON
      addons:
        apt:
          packages:
            - cmake
            - libhidapi-dev
            - g++-5
          sources: &sources
            - ubuntu-toolchain-r-test
    - os: linux
      dist: trusty
      env: COMPILER_NAME=gcc CXX=g++-6 CC=gcc-6 CF=-DCOMPILE_TESTS=ON
      addons:
        apt:
          packages:
            - cmake
            - libhidapi-dev
            - g++-6
          sources: *sources
    - os: linux
      dist: trusty
      env: COMPILER_NAME=clang CXX=clang++-3.8 CC=clang-3.8 CF=-DCOMPILE_TESTS=ON
      addons:
        apt:
          packages:
            - cmake
            - libhidapi-dev
            - g++-5
            - clang-3.8
          sources: *sources


install:
  - mkdir -p build
  - cd build
#  - export CXXFLAGS="${CXX_FLAGS} -Wall -Wextra -Werror" # TODO enable when fixed
  - ${CXX} --version || true
  - cmake --version
  - cmake .. ${CF}

script:
  - make -j2
#  - make test # TODO add library device-less tests