• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Build Configuration for Travis
2dist: trusty
3
4language: cpp
5
6env:
7  global:
8    - CPPFLAGS=""
9    - CFLAGS="-Werror -Werror=unused -Werror=unused-function"
10    - CXXFLAGS="-Werror -Werror=unused -Werror=unused-function -Wno-deprecated-register" # glib uses register and clang raises a warning
11    - CONFIGURE_OPTS="--with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2"
12    - NOCONFIGURE=1
13    # COVERITY_SCAN_TOKEN
14    - secure: "k6l/18dpsoPAf0E5RQWCr+rgjbHns0H3k0WzSYovCoVg0B7RVlV8x8OjyEOBzEvXI4aaHRdH6MHCPDFnX4fa7ysImlT6LxxIG8YhDdLkJWyS0hHbcJiGxko9AhAGzOZcDl8fZi13d697wagMqqXpjN5v2T/AQm8t4X9z2otJosY="
15
16matrix:
17  include:
18    - os: linux
19      compiler: gcc
20      script:
21        # Remove these two lines when Travis updated its distro
22        - wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && cd ..
23        - export LD_LIBRARY_PATH="$PWD/freetype-2.9/objs/.libs"
24
25        - ./autogen.sh
26        - ./configure $CONFIGURE_OPTS --enable-gtk-doc --enable-code-coverage
27        - make
28        - make check || .ci/fail.sh
29        - rm -rf freetype-2.9
30      after_success:
31        - bash .ci/run-coveralls.sh # coveralls.io code coverage
32        - bash <(curl -s https://codecov.io/bash) # codecov.io code coverage
33        - bash .ci/deploy-docs.sh
34        - bash .ci/trigger-coverity.sh
35
36    - os: linux
37      compiler: clang
38      script:
39        # Remove these two lines when Travis updated its distro
40        - wget http://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.bz2 && tar xf freetype-2.9.tar.bz2 && cd freetype-2.9 && ./autogen.sh && ./configure && make -j4 && cd ..
41        - export LD_LIBRARY_PATH="$PWD/freetype-2.9/objs/.libs"
42
43        - ./autogen.sh
44        - ./configure $CONFIGURE_OPTS
45        - make
46        - make check || .ci/fail.sh
47
48    - os: osx
49      compiler: clang
50      install:
51        - brew update;
52          # Workaround Travis/brew bug
53        - brew uninstall libtool && brew install libtool
54        - brew install ragel freetype glib gobject-introspection cairo graphite2 || true
55        - brew upgrade icu4c || true
56        - export PATH="/usr/local/opt/icu4c/sbin:/usr/local/opt/icu4c/bin:$PATH"
57        - export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"
58      script:
59        - ./autogen.sh
60        - ./configure $CONFIGURE_OPTS --with-coretext
61        - make
62        - make check || .ci/fail.sh
63
64notifications:
65  irc: "irc.freenode.org#harfbuzz"
66  email: harfbuzz-bots-chatter@googlegroups.com
67
68addons:
69  apt:
70    packages:
71      - pkg-config # for autogen.sh
72      - ragel
73      - lcov
74      - gtk-doc-tools
75      - libfreetype6-dev # for font function
76      - libglib2.0-dev # for font functions / tests / utils
77      - libcairo2-dev # for utils
78      - libicu-dev # for extra unicode functions
79      - libgraphite2-dev # for extra shapers
80      #- libgirepository1.0-dev # for gobject-introspection
81
82  coverity_scan:
83    project:
84      name: behdad/harfbuzz
85      version: 1.0
86      description: HarfBuzz OpenType text shaping engine
87    notification_email: harfbuzz-bots-chatter@googlegroups.com
88    build_command_prepend: ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2
89    build_command: make
90    branch_pattern: coverity_scan
91