.travis.yml 2.3 KB
Newer Older
K
Khaled Hosny 已提交
1
# Build Configuration for Travis
K
Khaled Hosny 已提交
2
sudo: required # For Trusty beta
K
Khaled Hosny 已提交
3 4 5
os:
  - linux
  - osx
K
Khaled Hosny 已提交
6
dist: trusty
7 8
language: cpp
compiler:
B
Behdad Esfahbod 已提交
9
  - clang
10
  - gcc
B
Behdad Esfahbod 已提交
11 12
env:
  global:
13 14
    - CPPFLAGS=""
    - CFLAGS="-Werror --coverage"
K
Khaled Hosny 已提交
15
    - CXXFLAGS="-Werror -Wno-deprecated-register --coverage" # glib uses register and clang raises a warning
16
    - LDFLAGS="--coverage"
17
install:
K
Khaled Hosny 已提交
18 19 20 21
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then pip install --user nose; fi
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then pip install --user cpp-coveralls; fi # for coveralls.io code coverage tracking
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then export PATH=$HOME/.local/bin:$PATH; fi # Make sure we can find the above Python packages
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi;
K
Khaled Hosny 已提交
22
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew uninstall libtool && brew install libtool; fi # Workaround Travis/brew bug
K
Khaled Hosny 已提交
23 24
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install ragel freetype glib gobject-introspection cairo icu4c graphite2; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew link --force icu4c; fi # icu4c is keg-only
B
Behdad Esfahbod 已提交
25
script:
26
  - NOCONFIGURE=1 ./autogen.sh
K
Khaled Hosny 已提交
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
K
Khaled Hosny 已提交
29 30 31
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then export CONFIGURE_OPTS="$CONFIGURE_OPTS --with-coretext"; fi
  - ./configure $CONFIGURE_OPTS
  - make
32
  - make check || (cat test/*/test-suite.log && false)
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
34
after_success:
B
Behdad Esfahbod 已提交
35
  - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" -a "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then bash .ci/deploy-docs.sh; fi
36 37 38
notifications:
  irc: "irc.freenode.org#harfbuzz"
  email: harfbuzz@lists.freedesktop.org
B
Behdad Esfahbod 已提交
39 40

addons:
41 42 43 44 45 46 47 48 49 50 51
  apt:
    packages:
      - pkg-config # for autogen.sh
      - ragel
      - gtk-doc-tools
      - libfreetype6-dev # for font function
      - libglib2.0-dev # for font functions / tests / utils
      - libcairo2-dev # for utils
      - libicu-dev # for extra unicode functions
      - libgraphite2-dev # for extra shapers
      - # libgirepository1.0-dev # for gobject-introspection