# Linux Build Configuration for Travis

language: cpp

os:
  - linux
  - osx

# Use Ubuntu 14.04 LTS (Trusty) as the Linux testing environment.
sudo: required
dist: trusty

# Use OS X 10.11 with XCode 7.2
# https://docs.travis-ci.com/user/osx-ci-environment/#OS-X-Version
osx_image: xcode7.2

env:
  # Each line is a set of environment variables set before a build.
  # Thus each line represents a different build configuration.
  - BUILD_TYPE=Release
  - BUILD_TYPE=Debug

compiler:
  - clang
  - gcc

matrix:
  fast_finish: true
  include:
    # Additional build using Android NDK
    - env: BUILD_NDK=ON
  exclude:
    # Skip GCC builds on Mac OS X.
    - os: osx
      compiler: gcc

cache:
  apt: true

branches:
  only:
    - master

addons:
  apt:
    packages:
      - ninja-build

before_install:
  # Install cmake & ninja on Mac OS X.
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew install ninja; fi
  - if [[ "$BUILD_NDK" == "ON" ]]; then
      git clone --depth=1 https://github.com/urho3d/android-ndk.git $HOME/android-ndk;
      export ANDROID_NDK=$HOME/android-ndk;
      git clone --depth=1 https://github.com/taka-no-me/android-cmake.git $HOME/android-cmake;
      export TOOLCHAIN_PATH=$HOME/android-cmake/android.toolchain.cmake;
    fi

before_script:
  - git clone https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers
  - git clone https://github.com/google/googletest.git external/googletest

script:
  - mkdir build && cd build
  - if [[ "$BUILD_NDK" == "ON" ]]; then
      cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_PATH}
            -DANDROID_NATIVE_API_LEVEL=android-9
            -DCMAKE_BUILD_TYPE=Release
            -DANDROID_ABI="armeabi-v7a with NEON"
            -DSPIRV_SKIP_TESTS=ON
            -GNinja ..;
    else
      cmake -GNinja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..;
    fi
  - ninja
  - if [[ "$BUILD_NDK" != "ON" ]]; then ctest -j`nproc` --output_on_failure; fi


notifications:
  email:
    recipients:
      - antiagainst@google.com
      - awoloszyn@google.com
      - dneto@google.com
      - ehsann@google.com
      - qining@google.com
    on_success: change
    on_failure: always
