language: c
compiler: clang
branches:
    only:
        - ci
        - master
sudo: false
dist: trusty
addons:
    apt:
        packages:
            - cmake
            - libxrandr-dev
            - libxinerama-dev
            - libxcursor-dev
            - libxi-dev
env:
    global:
        - CFLAGS=-Werror
matrix:
    include:
        - os: linux
          env: BUILD_SHARED_LIBS=ON
        - os: linux
          env: BUILD_SHARED_LIBS=OFF
        - os: linux
          sudo: required
          addons:
              apt:
                  packages:
                      - libwayland-dev
                      - libxkbcommon-dev
                      - libegl1-mesa-dev
          env:
              - USE_WAYLAND=ON
              - BUILD_SHARED_LIBS=ON
        - os: linux
          sudo: required
          addons:
              apt:
                  packages:
                      - libwayland-dev
                      - libxkbcommon-dev
                      - libegl1-mesa-dev
          env:
              - USE_WAYLAND=ON
              - BUILD_SHARED_LIBS=OFF
        - os: osx
          env: BUILD_SHARED_LIBS=ON
        - os: osx
          env: BUILD_SHARED_LIBS=OFF
script:
    - if grep -Inr '\s$' src include docs tests examples CMake *.md .gitattributes .gitignore; then echo Trailing whitespace found, aborting.; exit 1; fi
    - mkdir build
    - cd build
    - if test -n "${USE_WAYLAND}";
          then wget https://mirrors.kernel.org/ubuntu/pool/universe/e/extra-cmake-modules/extra-cmake-modules_5.38.0a-0ubuntu1_amd64.deb;
          sudo dpkg -i extra-cmake-modules_5.38.0a-0ubuntu1_amd64.deb;
          git clone git://anongit.freedesktop.org/wayland/wayland-protocols;
          pushd wayland-protocols;
          git checkout 1.6 && ./autogen.sh --prefix=/usr && make && sudo make install;
          popd;
      fi
    - cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -DGLFW_USE_WAYLAND=${USE_WAYLAND} ..
    - cmake --build .
notifications:
    email:
        recipients:
            - ci@glfw.org
    on_success: never
    on_failure: always
