language: c++
dist: bionic
sudo: false
addons:
    apt:
        packages:
            - cmake
            - lcov
            - clang-tools-7
            - valgrind

matrix:
    include:
        - os: linux
          compiler: gcc
          env: BUILD_TYPE=normal
        - os: linux
          compiler: clang
          env: BUILD_TYPE=normal
        - os: linux
          compiler: gcc
          env: BUILD_TYPE=cmake
        - os: linux
          compiler: clang
          env: BUILD_TYPE=cmake
        - os: linux
          compiler: gcc
          env: BUILD_TYPE=coverage
        - os: linux
          compiler: clang
          env: BUILD_TYPE=ubsan
        - os: linux
          compiler: clang
          env: BUILD_TYPE=asan
        - os: linux
          compiler: clang
          env: BUILD_TYPE=lsan
        - os: linux
          compiler: clang
          env: BUILD_TYPE=analyze
        - os: linux
          compiler: gcc
          env: BUILD_TYPE=valgrind
        - os: osx
          osx_image: xcode11.4
          compiler: gcc
          env: BUILD_TYPE=normal
        - os: osx
          osx_image: xcode11.4
          compiler: clang
          env: BUILD_TYPE=normal
        - os: osx
          osx_image: xcode11.4
          compiler: clang
          env: BUILD_TYPE=cmake
        - os: osx
          osx_image: xcode11.4
          compiler: clang
          language: objective-c
          env: BUILD_TYPE=ios
        - os: osx
          osx_image: xcode11.4
          compiler: clang
          language: objective-c
          env: BUILD_TYPE=ios-cmake
install:
    - if [ "$TRAVIS_OS_NAME" != "osx" ]; then pip install --user cpp-coveralls > /dev/null; fi
    - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew reinstall libtool > /dev/null; fi
before_script:
    - |
        if [ "$BUILD_TYPE" = "coverage" ]; then
             export CONFIG_OPTS="--enable-debug --disable-shared --enable-code-coverage --enable-tests"
        fi
    - |
         if [ "$BUILD_TYPE" = "asan" ]; then
             export CONFIG_OPTS=--enable-debug
             export CFLAGS=-fsanitize=address
             export CXXFLAGS=-fsanitize=address
             export LDFLAGS=-fsanitize=address
         fi
    - |
         if [ "$BUILD_TYPE" = "lsan" ]; then
             export CONFIG_OPTS=--enable-debug
             export CFLAGS=-fsanitize=leak
             export CXXFLAGS=-fsanitize=leak
             export LDFLAGS=-fsanitize=leak
         fi
    - |
         if [ "$BUILD_TYPE" = "ubsan" ]; then
             export CFLAGS="-fsanitize=undefined -fno-sanitize-recover"
             export LDFLAGS="-fsanitize=undefined"
         fi
    - |
         if [ "$BUILD_TYPE" = "analyze" ]; then
             export SCAN_WRAP="scan-build-7 --status-bugs"
             export CONFIG_OPTS="--enable-debug --disable-tests"
             export CXX="clang++-7"
             export CC="clang-7"
         fi
    - |
         if [ "$BUILD_TYPE" = "valgrind" ]; then
             export TEST_WRAP='valgrind --leak-check=full'
             # Skip container tests as valgrind doesn't cope with clone()
             export TEST_FILTER="--gtest_filter=-*Container*:-*LiveSearchANY*"
         fi
    - |
         if [ "$BUILD_TYPE" = "ios" ]; then
             export CONFIG_OPTS="--host=arm-apple-darwin10 --disable-tests"
             export DEVPATH=`xcode-select -print-path`/Platforms/iPhoneOS.platform/Developer
             export IOSFLAGS="-isysroot $DEVPATH/SDKs/iPhoneOS.sdk -arch armv7 -miphoneos-version-min=8.0.0"
             export CFLAGS=$IOSFLAGS
             export CXXFLAGS=$IOSFLAGS
             export LDFLAGS=$IOSFLAGS
         fi
    - |
         if [ "$BUILD_TYPE" = "ios-cmake" ]; then
             export SYSROOT="$(xcode-select -print-path)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/"
             export IOSFLAGS="-miphoneos-version-min=10.0"
             export ARCHITECTURES="armv7;armv7s;arm64"
             export CFLAGS=$IOSFLAGS
             export CXXFLAGS=$IOSFLAGS
             export LDFLAGS=$IOSFLAGS
         fi
script:
    - ./travis/build.sh && ./travis/test.sh
    - if [ "$BUILD_TYPE" = "normal" ]; then ./travis/distcheck.sh ; fi
    - if [ "$BUILD_TYPE" = "coverage" ]; then ./travis/covupload.sh ; fi
