blob: d159316b7900bddfa20691e18cac2d0a3af71bac [file] [log] [blame]
Austin Schuh70cc9552019-01-21 19:46:48 -08001language: cpp
2
3matrix:
4 fast_finish: true
5 include:
6 - os: linux
7 dist: trusty
8 sudo: required
9 compiler: gcc
10 env: CERES_BUILD_TARGET=LINUX
11 - os: linux
12 dist: trusty
13 sudo: required
14 compiler: gcc
15 env: CERES_BUILD_TARGET=ANDROID
16 - os: osx
17 osx_image: xcode9.4
18 env: CERES_BUILD_TARGET=OSX
19 - os: osx
20 osx_image: xcode9.4
21 env: CERES_BUILD_TARGET=IOS
22
23env:
24 # As per http://docs.travis-ci.com/user/languages/cpp/#OpenMP-projects don't be greedy with OpenMP.
25 - OMP_NUM_THREADS=4
26
27before_install:
28 - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get update -qq; fi
29 - |
30 if [[ "$CERES_BUILD_TARGET" == "ANDROID" ]]; then
31 cd /tmp
32 wget https://dl.google.com/android/repository/android-ndk-r17b-linux-x86_64.zip
33 unzip -qq android-ndk-r17b-linux-x86_64.zip
34 fi
35
36install:
37 - if [ $TRAVIS_OS_NAME = linux ]; then $TRAVIS_BUILD_DIR/travis/install_travis_linux_deps.sh; fi
38 - if [ $TRAVIS_OS_NAME = osx ]; then $TRAVIS_BUILD_DIR/travis/install_travis_osx_deps.sh; fi
39
40before_script:
41 - mkdir /tmp/ceres-build
42 - cd /tmp/ceres-build
43
44script:
45 # NOTE: TRAVIS_BUILD_DIR is actually the source directory for Ceres.
46 - |
47 if [[ "$CERES_BUILD_TARGET" == "LINUX" || "$CERES_BUILD_TARGET" == "OSX" ]]; then
48 cmake $TRAVIS_BUILD_DIR
49 fi
50 - |
51 if [[ "$CERES_BUILD_TARGET" == "ANDROID" ]]; then
52 cmake -DCMAKE_TOOLCHAIN_FILE=/tmp/android-ndk-r17b/build/cmake/android.toolchain.cmake -DEIGEN_INCLUDE_DIR=/usr/local/include/eigen3 -DANDROID_ABI=armeabi-v7a -DANDROID_STL=c++_shared -DANDROID_NATIVE_API_LEVEL=android-24 -DMINIGLOG=ON -DBUILD_EXAMPLES=OFF $TRAVIS_BUILD_DIR
53 fi
54 - |
55 if [[ "$CERES_BUILD_TARGET" == "IOS" ]]; then
56 cmake -DCMAKE_TOOLCHAIN_FILE=$TRAVIS_BUILD_DIR/cmake/iOS.cmake -DEIGEN_INCLUDE_DIR=/usr/local/include/eigen3 -DIOS_PLATFORM=OS $TRAVIS_BUILD_DIR
57 fi
58 - make -j 4
59 - |
60 if [[ "$CERES_BUILD_TARGET" == "LINUX" || "$CERES_BUILD_TARGET" == "OSX" ]]; then
61 sudo make install
62 ctest --output-on-failure -j 4
63 fi
64
65notifications:
66 email:
67 - alexs.mac@gmail.com
68 - sandwichmaker@gmail.com
69 - keir@google.com
70 - wjr@google.com