2015-11-24 09:46:35 +01:00
# Build Configuration for Travis
2016-01-01 21:36:19 +01:00
sudo : required # For Trusty beta
2015-11-24 09:46:35 +01:00
os :
- linux
- osx
2016-01-01 21:36:19 +01:00
dist : trusty
2013-03-05 07:37:44 +01:00
language : cpp
compiler :
2014-10-01 23:44:30 +02:00
- clang
2013-03-05 07:37:44 +01:00
- gcc
2014-10-01 23:20:31 +02:00
env :
global :
2014-10-02 00:07:27 +02:00
- CPPFLAGS=""
- CFLAGS="-Werror --coverage"
2016-01-01 21:36:19 +01:00
- CXXFLAGS="-Werror -Wno-deprecated-register --coverage" # glib uses register and clang raises a warning
2014-10-02 00:07:27 +02:00
- LDFLAGS="--coverage"
2014-10-02 00:54:55 +02:00
install :
2015-11-24 09:46:35 +01:00
- 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
2017-11-29 23:20:09 +01:00
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then export CXXFLAGS="$CXXFLAGS -Wno-deprecated-declarations"; fi; # https://github.com/harfbuzz/harfbuzz/issues/345
2015-11-24 09:46:35 +01:00
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi;
2016-08-16 02:49:48 +02:00
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew uninstall libtool && brew install libtool; fi # Workaround Travis/brew bug
2015-11-24 09:46:35 +01:00
- 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
2014-10-01 22:09:08 +02:00
script :
2014-10-01 22:38:47 +02:00
- NOCONFIGURE=1 ./autogen.sh
2015-11-24 09:46:35 +01:00
- export CONFIGURE_OPTS="--with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2"
2015-12-14 20:33:51 +01:00
- if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" ]; then export CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-gtk-doc"; fi
2015-11-24 09:46:35 +01:00
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then export CONFIGURE_OPTS="$CONFIGURE_OPTS --with-coretext"; fi
- ./configure $CONFIGURE_OPTS
- make
2017-10-03 13:23:31 +02:00
- make check || (cat */test-suite.log test/*/test-suite.log && false)
2017-11-20 20:49:22 +01:00
- if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" -a "$TRAVIS_SLUG" == "harfbuzz/harfbuzz" ]; then rm -f src/.libs/NONE.gcov; touch src/NONE; coveralls -e docs; fi
2015-12-14 20:33:51 +01:00
after_success :
2015-12-30 16:15:36 +01:00
- if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" -a "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then bash .ci/deploy-docs.sh; fi
2013-03-05 07:37:44 +01:00
notifications :
irc : "irc.freenode.org#harfbuzz"
email : harfbuzz@lists.freedesktop.org
2015-06-13 02:37:41 +02:00
addons :
2015-10-19 20:11:01 +02:00
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