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
                      - libxext-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
                      - libxext-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
