Browse Source

package/ci: use NDK r16b and the new toolchain setup on Travis.

pull/205/head
Vladimír Vondruš 8 years ago
parent
commit
e5b690904f
  1. 25
      package/ci/travis-android-arm.sh
  2. 31
      package/ci/travis.yml

25
package/ci/travis-android-arm.sh

@ -1,8 +1,6 @@
#!/bin/bash #!/bin/bash
set -ev set -ev
git submodule update --init
# Corrade # Corrade
git clone --depth 1 git://github.com/mosra/corrade.git git clone --depth 1 git://github.com/mosra/corrade.git
cd corrade cd corrade
@ -22,8 +20,13 @@ cd ..
# Crosscompile Corrade # Crosscompile Corrade
mkdir build-android-arm && cd build-android-arm mkdir build-android-arm && cd build-android-arm
ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r10e cmake .. \ cmake .. \
-DCMAKE_TOOLCHAIN_FILE=../toolchains/generic/Android-ARM.cmake \ -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r16b \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_SYSTEM_VERSION=22 \
-DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a \
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \
-DCMAKE_ANDROID_STL_TYPE=c++_static \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \ -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
-DCMAKE_INSTALL_PREFIX=$HOME/deps \ -DCMAKE_INSTALL_PREFIX=$HOME/deps \
@ -36,8 +39,13 @@ cd ..
# Crosscompile # Crosscompile
mkdir build-android-arm && cd build-android-arm mkdir build-android-arm && cd build-android-arm
ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r10e cmake .. \ cmake .. \
-DCMAKE_TOOLCHAIN_FILE=../toolchains/generic/Android-ARM.cmake \ -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r16b \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_SYSTEM_VERSION=22 \
-DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a \
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \
-DCMAKE_ANDROID_STL_TYPE=c++_static \
-DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \ -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \
-DCMAKE_PREFIX_PATH=$HOME/deps \ -DCMAKE_PREFIX_PATH=$HOME/deps \
-DCMAKE_FIND_ROOT_PATH=$HOME/deps \ -DCMAKE_FIND_ROOT_PATH=$HOME/deps \
@ -53,12 +61,13 @@ ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r10e cmake .. \
-DWITH_TGAIMPORTER=ON \ -DWITH_TGAIMPORTER=ON \
-DWITH_WAVAUDIOIMPORTER=OFF \ -DWITH_WAVAUDIOIMPORTER=OFF \
-DBUILD_TESTS=ON \ -DBUILD_TESTS=ON \
-DBUILD_GL_TESTS=ON \
-G Ninja -G Ninja
# Otherwise the job gets killed (probably because using too much memory) # Otherwise the job gets killed (probably because using too much memory)
ninja -j4 ninja -j4
# Start simulator and run tests # Start simulator and run tests
echo no | android create avd --force -n test -t android-19 --abi armeabi-v7a echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a
emulator -avd test -no-audio -no-window & emulator -avd test -no-audio -no-window &
android-wait-for-emulator android-wait-for-emulator
CORRADE_TEST_COLOR=ON ctest -V CORRADE_TEST_COLOR=ON ctest -V -E GLTest

31
package/ci/travis.yml

@ -121,17 +121,13 @@ matrix:
- TARGET_GLES2=ON - TARGET_GLES2=ON
addons: addons:
apt: apt:
sources:
- ubuntu-toolchain-r-test
packages: packages:
- g++-4.7
- ninja-build - ninja-build
- "libc6:i386" # CMake 2.8.12 is 32bit
android: android:
components: components:
- build-tools-19.0.0 - build-tools-22.0.1
- android-19 - android-22
- sys-img-armeabi-v7a-android-19 - sys-img-armeabi-v7a-android-22
- language: android - language: android
os: linux os: linux
dist: trusty dist: trusty
@ -141,17 +137,13 @@ matrix:
- TARGET_GLES2=OFF - TARGET_GLES2=OFF
addons: addons:
apt: apt:
sources:
- ubuntu-toolchain-r-test
packages: packages:
- g++-4.7
- ninja-build - ninja-build
- "libc6:i386" # CMake 2.8.12 is 32bit
android: android:
components: components:
- build-tools-19.0.0 - build-tools-22.0.1
- android-19 - android-22
- sys-img-armeabi-v7a-android-19 - sys-img-armeabi-v7a-android-22
notifications: notifications:
webhooks: webhooks:
@ -168,18 +160,21 @@ cache:
- $HOME/cmake - $HOME/cmake
install: install:
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ ! "$TARGET" == "desktop-sanitizers" ]; then export CXX=g++-4.7; fi - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ ! "$TARGET" == "desktop-sanitizers" ] && [ ! "$TARGET" == "android" ]; then export CXX=g++-4.7; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop-sanitizers" ]; then export CXX=clang++-3.8; fi - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop-sanitizers" ]; then export CXX=clang++-3.8; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop" ]; then export WITH_GLUTAPPLICATION=ON; fi - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "desktop" ]; then export WITH_GLUTAPPLICATION=ON; fi
- if [ "$WITH_GLUTAPPLICATION" != "ON" ]; then export WITH_GLUTAPPLICATION=OFF; fi - if [ "$WITH_GLUTAPPLICATION" != "ON" ]; then export WITH_GLUTAPPLICATION=OFF; fi
- if [ "$BUILD_DEPRECATED" != "OFF" ]; then export BUILD_DEPRECATED=ON; fi - if [ "$BUILD_DEPRECATED" != "OFF" ]; then export BUILD_DEPRECATED=ON; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then export PLATFORM_GL_API=GLX; fi - if [ "$TRAVIS_OS_NAME" == "linux" ]; then export PLATFORM_GL_API=GLX; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "android" ]; then wget -nc http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin && chmod +x android-*.bin && ./android-*.bin -y | grep -v Extracting; fi - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "android" ]; then wget -nc https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip && unzip -q android-*.zip; fi
# Download CMake 2.8.12 to ensure we're still compatible with it (Travis has # Download CMake 2.8.12 to ensure we're still compatible with it (Travis has
# 3.9 since December 2017). Also, the PATH setting can't be cached, so it's # 3.9 since December 2017). Also, the PATH setting can't be cached, so it's
# separate (bit me two times already). ASan doesn't like when 32bit libraries # separate (bit me two times already). ASan doesn't like when 32bit libraries
# are running, so for it we use the preinstalled CMake. # are running, so for it we use the preinstalled CMake. Android needs CMake
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ ! "$TARGET" == "desktop-sanitizers" ] && [ ! -e "$HOME/cmake/bin" ]; then cd $HOME ; wget -nc --no-check-certificate https://cmake.org/files/v2.8/cmake-2.8.12.2-Linux-i386.tar.gz && mkdir -p cmake && cd cmake && tar --strip-components=1 -xzvf ../cmake-2.8.12.2-Linux-i386.tar.gz && cd $TRAVIS_BUILD_DIR ; fi # 3.7, but https://gitlab.kitware.com/cmake/cmake/issues/17253 is fixed in
# 3.9.2, so grab that.
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ ! "$TARGET" == "desktop-sanitizers" ] && [ ! "$TARGET" == "android" ] && [ ! -e "$HOME/cmake/bin" ]; then cd $HOME ; wget -nc --no-check-certificate https://cmake.org/files/v2.8/cmake-2.8.12.2-Linux-i386.tar.gz && mkdir -p cmake && cd cmake && tar --strip-components=1 -xzf ../cmake-2.8.12.2-Linux-i386.tar.gz && cd $TRAVIS_BUILD_DIR ; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "android" ] && [ ! -e "$HOME/cmake/bin" ]; then cd $HOME ; wget -nc --no-check-certificate https://cmake.org/files/v3.9/cmake-3.9.2-Linux-x86_64.tar.gz && mkdir -p cmake && cd cmake && tar --strip-components=1 -xzf ../cmake-3.9.2-Linux-x86_64.tar.gz && cd $TRAVIS_BUILD_DIR ; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ ! "$TARGET" == "desktop-sanitizers" ]; then export PATH=$HOME/cmake/bin:$PATH && cmake --version; fi - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ ! "$TARGET" == "desktop-sanitizers" ]; then export PATH=$HOME/cmake/bin:$PATH && cmake --version; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja; fi - if [ "$TRAVIS_OS_NAME" == "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install lcov; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install lcov; fi

Loading…
Cancel
Save