language: c
compiler: clang
branches:
    only:
        - ci
        - master
        - 3.3-stable
matrix:
    include:
        - os: linux
          dist: xenial
          name: "X11 shared library"
          addons:
              apt:
                  packages:
                      - libxrandr-dev
                      - libxinerama-dev
                      - libxcursor-dev
                      - libxi-dev
          env:
              - BUILD_SHARED_LIBS=ON
              - CFLAGS=-Werror
        - os: linux
          dist: xenial
          name: "X11 static library"
          addons:
              apt:
                  packages:
                      - libxrandr-dev
                      - libxinerama-dev
                      - libxcursor-dev
                      - libxi-dev
          env:
              - BUILD_SHARED_LIBS=OFF
              - CFLAGS=-Werror
        - os: linux
          dist: focal
          name: "Wayland shared library"
          addons:
              apt:
                  packages:
                      - extra-cmake-modules
                      - wayland-protocols
                      - libwayland-dev
                      - libxkbcommon-dev
                      - libegl1-mesa-dev
          env:
              - USE_WAYLAND=ON
              - BUILD_SHARED_LIBS=ON
              - CFLAGS=-Werror
        - os: linux
          dist: focal
          name: "Wayland static library"
          addons:
              apt:
                  packages:
                      - extra-cmake-modules
                      - wayland-protocols
                      - libwayland-dev
                      - libxkbcommon-dev
                      - libegl1-mesa-dev
          env:
              - USE_WAYLAND=ON
              - BUILD_SHARED_LIBS=OFF
              - CFLAGS=-Werror
        - os: linux
          dist: bionic
          name: "Null shared library"
          addons:
              apt:
                  packages:
                      - libosmesa6-dev
          env:
              - BUILD_SHARED_LIBS=ON
              - USE_OSMESA=ON
              - CFLAGS=-Werror
        - os: linux
          dist: bionic
          name: "Null static library"
          addons:
              apt:
                  packages:
                      - libosmesa6-dev
          env:
              - BUILD_SHARED_LIBS=OFF
              - USE_OSMESA=ON
              - CFLAGS=-Werror
        - os: osx
          name: "Cocoa shared library"
          env:
              - BUILD_SHARED_LIBS=ON
              - CFLAGS=-Werror
              - MACOSX_DEPLOYMENT_TARGET=10.8
        - os: osx
          name: "Cocoa static library"
          env:
              - BUILD_SHARED_LIBS=OFF
              - CFLAGS=-Werror
              - MACOSX_DEPLOYMENT_TARGET=10.8
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
    - cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -DGLFW_USE_WAYLAND=${USE_WAYLAND} -DGLFW_USE_OSMESA=${USE_OSMESA} ..
    - cmake --build .
notifications:
    email:
        recipients:
            - ci@glfw.org
    on_success: never
    on_failure: always
