From e5b690904f4bbe2684c1f6a0b3f36a7a4f9270d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 15 Mar 2018 10:53:57 +0100 Subject: [PATCH] package/ci: use NDK r16b and the new toolchain setup on Travis. --- package/ci/travis-android-arm.sh | 25 +++++++++++++++++-------- package/ci/travis.yml | 31 +++++++++++++------------------ 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/package/ci/travis-android-arm.sh b/package/ci/travis-android-arm.sh index df46a83b1..f0ddc32cc 100755 --- a/package/ci/travis-android-arm.sh +++ b/package/ci/travis-android-arm.sh @@ -1,8 +1,6 @@ #!/bin/bash set -ev -git submodule update --init - # Corrade git clone --depth 1 git://github.com/mosra/corrade.git cd corrade @@ -22,8 +20,13 @@ cd .. # Crosscompile Corrade mkdir build-android-arm && cd build-android-arm -ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r10e cmake .. \ - -DCMAKE_TOOLCHAIN_FILE=../toolchains/generic/Android-ARM.cmake \ +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 \ -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \ -DCMAKE_INSTALL_PREFIX=$HOME/deps \ @@ -36,8 +39,13 @@ cd .. # Crosscompile mkdir build-android-arm && cd build-android-arm -ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r10e cmake .. \ - -DCMAKE_TOOLCHAIN_FILE=../toolchains/generic/Android-ARM.cmake \ +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 \ -DCMAKE_PREFIX_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_WAVAUDIOIMPORTER=OFF \ -DBUILD_TESTS=ON \ + -DBUILD_GL_TESTS=ON \ -G Ninja # Otherwise the job gets killed (probably because using too much memory) ninja -j4 # 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 & android-wait-for-emulator -CORRADE_TEST_COLOR=ON ctest -V +CORRADE_TEST_COLOR=ON ctest -V -E GLTest diff --git a/package/ci/travis.yml b/package/ci/travis.yml index 911cf13f1..b25e025d7 100644 --- a/package/ci/travis.yml +++ b/package/ci/travis.yml @@ -121,17 +121,13 @@ matrix: - TARGET_GLES2=ON addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - - g++-4.7 - ninja-build - - "libc6:i386" # CMake 2.8.12 is 32bit android: components: - - build-tools-19.0.0 - - android-19 - - sys-img-armeabi-v7a-android-19 + - build-tools-22.0.1 + - android-22 + - sys-img-armeabi-v7a-android-22 - language: android os: linux dist: trusty @@ -141,17 +137,13 @@ matrix: - TARGET_GLES2=OFF addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - - g++-4.7 - ninja-build - - "libc6:i386" # CMake 2.8.12 is 32bit android: components: - - build-tools-19.0.0 - - android-19 - - sys-img-armeabi-v7a-android-19 + - build-tools-22.0.1 + - android-22 + - sys-img-armeabi-v7a-android-22 notifications: webhooks: @@ -168,18 +160,21 @@ cache: - $HOME/cmake 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" ]; then export WITH_GLUTAPPLICATION=ON; fi - if [ "$WITH_GLUTAPPLICATION" != "ON" ]; then export WITH_GLUTAPPLICATION=OFF; 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" ] && [ "$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 # 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 -# are running, so for it we use the preinstalled 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 +# are running, so for it we use the preinstalled CMake. Android needs CMake +# 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" == "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