1 # Build Configuration for Travis 2 sudo: required # For Trusty beta 3 os: 4 - linux 5 - osx 6 dist: trusty 7 language: cpp 8 compiler: 9 - clang 10 - gcc 11 env: 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" 17 install: 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 25 script: 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 34 after_success: 35 - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "gcc" -a "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then bash .ci/deploy-docs.sh; fi 36 notifications: 37 irc: "irc.freenode.org#harfbuzz" 38 email: harfbuzz (a] lists.freedesktop.org 39 40 addons: 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