language: c
compiler:
    - gcc
    - clang
notifications:
    email: false
before_install:
    - sudo add-apt-repository ppa:staticfloat/julia-deps -y
    - sudo add-apt-repository ppa:staticfloat/juliareleases -y
    - sudo apt-get update -qq -y
    - sudo apt-get install libpcre3-dev julia fontforge -y
script:
    - make manifest && diff MANIFEST.new MANIFEST
    - make check
    - make data && diff data/utf8proc_data.c.new utf8proc_data.c
    - make clean && git status --ignored --porcelain && test -z "$(git status --ignored --porcelain)"
    - (mkdir build_static && cd build_static && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON && make)
    - (mkdir build_shared && cd build_shared && cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON && make)
env:
    # use JuliaLang caching (https://github.com/staticfloat/cache.julialang.org)
    # so that Travis builds do not depend on anyone's flaky servers but our own
    - URLCACHE=https://cache.julialang.org/ CFLAGS="-O2 -Werror -Wmissing-prototypes"
