• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Build Configuration for Travis
2sudo: required # For Trusty beta
3os:
4  - linux
5  - osx
6dist: trusty
7language: cpp
8compiler:
9  - clang
10  - gcc
11env:
12  global:
13    - CPPFLAGS=""
14    - CFLAGS="-Werror --coverage"
15    - CXXFLAGS="-Werror -Wno-deprecated-register --coverage" # glib uses register and clang raises a warning
16    - LDFLAGS="--coverage"
17install:
18  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then pip install --user nose; fi
19  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then pip install --user cpp-coveralls; fi # for coveralls.io code coverage tracking
20  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then export PATH=$HOME/.local/bin:$PATH; fi # Make sure we can find the above Python packages
21  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi;
22  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew uninstall libtool && brew install libtool; fi # Workaround Travis/brew bug
23  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install ragel freetype glib gobject-introspection cairo icu4c graphite2; fi
24  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew link --force icu4c; fi # icu4c is keg-only
25script:
26  - NOCONFIGURE=1 ./autogen.sh
27  - export CONFIGURE_OPTS="--with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2"
28  - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" ]; then export CONFIGURE_OPTS="$CONFIGURE_OPTS  --enable-gtk-doc"; fi
29  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then export CONFIGURE_OPTS="$CONFIGURE_OPTS --with-coretext"; fi
30  - ./configure $CONFIGURE_OPTS
31  - make
32  - make check
33  - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" -a "$TRAVIS_SLUG" == "behdad/harfbuzz" ]; then rm -f src/.libs/NONE.gcov; touch src/NONE; coveralls -e docs; fi
34after_success:
35  - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" -a "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then bash .ci/deploy-docs.sh; fi
36notifications:
37  irc: "irc.freenode.org#harfbuzz"
38  email: harfbuzz@lists.freedesktop.org
39
40addons:
41  apt:
42    packages:
43      - pkg-config # for autogen.sh
44      - ragel
45      - gtk-doc-tools
46      - libfreetype6-dev # for font function
47      - libglib2.0-dev # for font functions / tests / utils
48      - libcairo2-dev # for utils
49      - libicu-dev # for extra unicode functions
50      - libgraphite2-dev # for extra shapers
51      - # libgirepository1.0-dev # for gobject-introspection
52