summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: ab8e67e74bdbbd4ab0c740ec6851a69ea068fb9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
language: c

os: osx

cache:
  ccache: true

env:
  global:
    - PKG_CONFIG_PATH=""

matrix:
  include:
    - env:
      - BUILD=meson
    - env:
      - BUILD=scons

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
  - if test "x$BUILD" = xscons; then
      HOMEBREW_NO_AUTO_UPDATE=1 brew install scons;
    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://dl.bintray.com/xquartz/downloads/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
  - if test "x$BUILD" = xscons; then
      pip2 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
  - if test "x$BUILD" = xscons; then
      scons force_scons=1 || travis_terminate 1;
      scons force_scons=1 check || travis_terminate 1;
    fi