branches:
  except:
    - /libpng[0-1][0-7]/

language: c

os:
  - freebsd
  - linux
  - osx

compiler:
  - clang
  - gcc

env:
  - AUTOMATION=cmake CI_NO_TEST=1
  - AUTOMATION=cmake CI_CMAKE_VARS="-DPNG_HARDWARE_OPTIMIZATIONS=ON" CI_SANITIZERS="address,undefined"
  - AUTOMATION=cmake CI_CMAKE_VARS="-DPNG_HARDWARE_OPTIMIZATIONS=OFF" CI_SANITIZERS="address,undefined"
  - AUTOMATION=autotools CI_NO_TEST=1
  - AUTOMATION=autotools CI_CONFIGURE_FLAGS="--enable-hardware-optimizations"
  - AUTOMATION=autotools CI_CONFIGURE_FLAGS="--disable-hardware-optimizations"
  - AUTOMATION=legacy CI_NO_TEST=1
  - AUTOMATION=legacy CI_SANITIZERS="address,undefined"

matrix:
  include:
    - os: osx
      compiler: cc
      env: AUTOMATION=cmake CI_CMAKE_GENERATOR=Xcode
  exclude:
    - os: freebsd
      compiler: gcc
    - os: osx
      compiler: gcc

before_script:
  - 'export CI_CMAKE_BUILD_FLAGS="--parallel 2"'
  - 'export CI_CTEST_FLAGS="--parallel 2"'
  - 'export CI_MAKE_FLAGS=-j2'
  - 'export CI_CC=$TRAVIS_COMPILER'
  - 'export CI_LEGACY_MAKEFILES="scripts/makefile.$TRAVIS_COMPILER scripts/makefile.std"'

script:
  - './ci/ci_$AUTOMATION.sh'
