1# Build Configuration for Travis
2dist: trusty
3
4language: cpp
5
6env:
7  global:
8    - CPPFLAGS=""
9    - CFLAGS="-Werror --coverage"
10    - CXXFLAGS="-Werror -Wno-deprecated-register --coverage" # glib uses register and clang raises a warning
11    - LDFLAGS="--coverage"
12    - CONFIGURE_OPTS="--with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2"
13    - NOCONFIGURE=1
14
15matrix:
16  include:
17    - os: linux
18      compiler: gcc
19      script:
20        - ./autogen.sh
21        - ./configure $CONFIGURE_OPTS --enable-gtk-doc
22        - make
23        - make check || (cat */test-suite.log test/*/test-suite.log && false)
24      after_success:
25        - bash .ci/run-coveralls.sh # for coveralls.io code coverage tracking
26        - bash .ci/deploy-docs.sh
27
28    - os: linux
29      compiler: clang
30      script:
31        - ./autogen.sh
32        - ./configure $CONFIGURE_OPTS
33        - make
34        - make check || (cat */test-suite.log test/*/test-suite.log && false)
35
36    - os: osx
37      compiler: clang
38      install:
39          # https://github.com/harfbuzz/harfbuzz/issues/345
40        - export CXXFLAGS="$CXXFLAGS -Wno-deprecated-declarations"
41        - brew update;
42          # Workaround Travis/brew bug
43        - brew uninstall libtool && brew install libtool
44        - brew install ragel freetype glib gobject-introspection cairo icu4c graphite2
45        - brew link --force icu4c # icu4c is keg-only
46      script:
47        - ./autogen.sh
48        - ./configure $CONFIGURE_OPTS --with-coretext
49        - make
50        - make check || (cat */test-suite.log test/*/test-suite.log && false)
51
52notifications:
53  irc: "irc.freenode.org#harfbuzz"
54  email: harfbuzz@lists.freedesktop.org
55
56addons:
57  apt:
58    packages:
59      - pkg-config # for autogen.sh
60      - ragel
61      - gtk-doc-tools
62      - libfreetype6-dev # for font function
63      - libglib2.0-dev # for font functions / tests / utils
64      - libcairo2-dev # for utils
65      - libicu-dev # for extra unicode functions
66      - libgraphite2-dev # for extra shapers
67      - # libgirepository1.0-dev # for gobject-introspection
68