language: c

os: osx

cache:
  ccache: true

env:
  global:
    - PKG_CONFIG_PATH=""

matrix:
  include:
    - env:
      - BUILD=meson

before_install:
  - HOMEBREW_NO_AUTO_UPDATE=1 brew install expat gettext
  - if test "x$BUILD" = xmeson; then
      HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja;
    fi

  # Set PATH for homebrew pip3 installs
  - PYTHON_VERSION=$(python3 -V | awk '{print $2}' | cut -d. -f1-2)
  - PATH="$HOME/Library/Python/$PYTHON_VERSION/bin:${PATH}"
  # Set PKG_CONFIG_PATH for keg-only expat
  - PKG_CONFIG_PATH="/usr/local/opt/expat/lib/pkgconfig:${PKG_CONFIG_PATH}"
  # Set PATH for keg-only gettext
  - PATH="/usr/local/opt/gettext/bin:${PATH}"

  # Install xquartz for prereqs ...
  - XQUARTZ_VERSION="2.7.11"
  - wget -nv https://github.com/XQuartz/XQuartz/releases/download/XQuartz-${XQUARTZ_VERSION}/XQuartz-${XQUARTZ_VERSION}.dmg
  - hdiutil attach XQuartz-${XQUARTZ_VERSION}.dmg
  - sudo installer -pkg /Volumes/XQuartz-${XQUARTZ_VERSION}/XQuartz.pkg -target /
  - hdiutil detach /Volumes/XQuartz-${XQUARTZ_VERSION}
  # ... and set paths
  - PKG_CONFIG_PATH="/opt/X11/share/pkgconfig:/opt/X11/lib/pkgconfig:${PKG_CONFIG_PATH}"

install:
  - if test "x$BUILD" = xmeson; then
      pip3 install --user meson;
      pip3 install --user mako;
    fi

script:
  - if test "x$BUILD" = xmeson; then
      meson _build -Dbuild-tests=true;
      ninja -C _build || travis_terminate 1;
      ninja -C _build test || travis_terminate 1;
      ninja -C _build install || travis_terminate 1;
    fi
