aboutsummaryrefslogtreecommitdiff
language: generic
os: osx
env:
  global:
    - CF="-DCOMPILE_OFFLINE_TESTS=1 -DERROR_ON_WARNING=ON"

jobs:
  include:
    - osx_image: xcode11.5
    - osx_image: xcode9.1
    - os: linux
      dist: trusty
      env: COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
      addons:
        apt:
          packages:
            - cmake
            - libhidapi-dev
            - g++-5
          sources: &sources
            - ubuntu-toolchain-r-test
    - os: linux
      dist: trusty
      env: COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7
      addons:
        apt:
          packages:
            - cmake
            - libhidapi-dev
            - g++-7
          sources: *sources
    - os: linux
      dist: bionic
      env: COMPILER_NAME=gcc CXX=g++-10 CC=gcc-10
      addons:
        apt:
          packages:
            - cmake
            - libhidapi-dev
            - g++-10
            - python3
            - python3-pip
            - meson
            - ninja-build
          sources: *sources
      script:
        - make -j2
        - ctest -VV
        - mkdir install && make install DESTDIR=install
        - cd ../
        - python3 -m pip install -r unittest/requirements.txt --user
        - cd unittest && python3 -m pytest -sv test_offline.py
        - cd ../
        - mkdir -p build-meson && meson build-meson
        - cd build-meson && ninja
        - env DESTDIR=install ninja install
    - os: linux
      dist: trusty
      env: COMPILER_NAME=clang CXX=clang++-3.8 CC=clang-3.8
      addons:
        apt:
          packages:
            - cmake
            - libhidapi-dev
            - g++-5
            - clang-3.8
          sources: *sources
    - os: linux
      dist: bionic
      env: COMPILER_NAME=clang CXX=clang++-6.0 CC=clang-6.0
      addons:
        apt:
          packages:
            - cmake
            - libhidapi-dev
            - clang-6.0
          sources: *sources
    - os: linux
      dist: bionic
      env: COMPILER_NAME=clang CXX=clang++-9 CC=clang-9
      addons:
        apt:
          packages:
            - cmake
            - libhidapi-dev
            - clang-9
          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
  - ctest -VV
  - mkdir install && make install DESTDIR=install