1language: c
2
3os: osx
4
5cache:
6  ccache: true
7
8env:
9  global:
10    - PKG_CONFIG_PATH=""
11
12matrix:
13  include:
14    - env:
15      - BUILD=meson
16    - env:
17      - BUILD=scons
18
19before_install:
20  - HOMEBREW_NO_AUTO_UPDATE=1 brew install expat gettext
21  - if test "x$BUILD" = xmeson; then
22      HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja;
23    fi
24  - if test "x$BUILD" = xscons; then
25      HOMEBREW_NO_AUTO_UPDATE=1 brew install scons;
26    fi
27
28  # Set PATH for homebrew pip3 installs
29  - PYTHON_VERSION=$(python3 -V | awk '{print $2}' | cut -d. -f1-2)
30  - PATH="$HOME/Library/Python/$PYTHON_VERSION/bin:${PATH}"
31  # Set PKG_CONFIG_PATH for keg-only expat
32  - PKG_CONFIG_PATH="/usr/local/opt/expat/lib/pkgconfig:${PKG_CONFIG_PATH}"
33  # Set PATH for keg-only gettext
34  - PATH="/usr/local/opt/gettext/bin:${PATH}"
35
36  # Install xquartz for prereqs ...
37  - XQUARTZ_VERSION="2.7.11"
38  - wget -nv https://dl.bintray.com/xquartz/downloads/XQuartz-${XQUARTZ_VERSION}.dmg
39  - hdiutil attach XQuartz-${XQUARTZ_VERSION}.dmg
40  - sudo installer -pkg /Volumes/XQuartz-${XQUARTZ_VERSION}/XQuartz.pkg -target /
41  - hdiutil detach /Volumes/XQuartz-${XQUARTZ_VERSION}
42  # ... and set paths
43  - PKG_CONFIG_PATH="/opt/X11/share/pkgconfig:/opt/X11/lib/pkgconfig:${PKG_CONFIG_PATH}"
44
45install:
46  - if test "x$BUILD" = xmeson; then
47      pip3 install --user meson;
48      pip3 install --user mako;
49    fi
50  - if test "x$BUILD" = xscons; then
51      pip2 install --user mako;
52    fi
53
54script:
55  - if test "x$BUILD" = xmeson; then
56      meson _build -Dbuild-tests=true;
57      ninja -C _build || travis_terminate 1;
58      ninja -C _build test || travis_terminate 1;
59      ninja -C _build install || travis_terminate 1;
60    fi
61  - if test "x$BUILD" = xscons; then
62      scons force_scons=1 || travis_terminate 1;
63      scons force_scons=1 check || travis_terminate 1;
64    fi
65