12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- # Linux Build Configuration for Travis
- language: cpp
- os:
- - linux
- - osx
- # Use Ubuntu 14.04 LTS (Trusty) as the Linux testing environment.
- dist: trusty
- sudo: false
- # Use the default Xcode environment for Xcode.
- 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 macOS.
- - os: osx
- compiler: gcc
- cache:
- apt: true
- git:
- depth: 1
- branches:
- only:
- - master
- before_install:
- - 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 --depth=1 https://github.com/KhronosGroup/SPIRV-Headers external/spirv-headers
- - git clone --depth=1 https://github.com/google/googletest 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 ..;
- else
- cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..;
- fi
- # Due to the limitation of Travis platform, we cannot start too many concurrent jobs.
- # Otherwise GCC will panic with internal error, possibility because of memory issues.
- - make -j4
- - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
- export NPROC=`nproc`;
- else
- export NPROC=`sysctl -n hw.ncpu`;
- fi
- - if [[ "$BUILD_NDK" != "ON" ]]; then ctest -j${NPROC} --output-on-failure --timeout 300; 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
|