1
# Script to help in cross compiling for Android.
2
# Assumes that a standalone ndk is available, that
3
# contains all of mir's dependencies in its subfolder
5
# Please adjust ANDROID_STANDALONE_TOOLCHAIN to your own setup.
2
# build script for Mir on android arm devices
3
# set $MIR_ANDROID_NDK_DIR to the android toolchain noted in DEPENDENCIES
4
# test run requires package 'android-tools-adb'
8
if [ ! -e $MIR_ANDROID_NDK_DIR ]; then
9
echo "aborting: MIR_ANDROID_NDK_DIR not set. set to path containing mir NDK"
10
13
export MIR_NDK_PATH=$MIR_ANDROID_NDK_DIR
12
cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/AndroidCrossCompile.cmake \
13
-DBoost_COMPILER=-gcc \
14
-DMIR_ENABLE_DEATH_TESTS=NO \
15
-DMIR_INPUT_ENABLE_EVEMU=NO \
16
-DMIR_PLATFORM=android \
21
$MIR_ANDROID_SDK_DIR/platform-tools/adb push lib/libmirclient.so.0.0.1 /data/user
23
$MIR_ANDROID_SDK_DIR/platform-tools/adb push bin/acceptance-tests /data/user
24
$MIR_ANDROID_SDK_DIR/platform-tools/adb shell 'cd /data/user && LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH GTEST_OUTPUT=xml:./ ./acceptance-tests'
25
$MIR_ANDROID_SDK_DIR/platform-tools/adb pull '/data/user/acceptance-tests.xml'
27
$MIR_ANDROID_SDK_DIR/platform-tools/adb push bin/integration-tests /data/user
28
$MIR_ANDROID_SDK_DIR/platform-tools/adb shell 'cd /data/user && LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH GTEST_OUTPUT=xml:./ ./integration-tests'
29
$MIR_ANDROID_SDK_DIR/platform-tools/adb pull '/data/user/integration-tests.xml'
31
$MIR_ANDROID_SDK_DIR/platform-tools/adb push bin/unit-tests /data/user
32
$MIR_ANDROID_SDK_DIR/platform-tools/adb shell 'cd /data/user && LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH GTEST_OUTPUT=xml:./ ./unit-tests'
33
$MIR_ANDROID_SDK_DIR/platform-tools/adb pull '/data/user/unit-tests.xml'
14
BUILD_DIR=build-android-arm
15
if [ ! -e ${BUILD_DIR} ]; then
18
cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/AndroidCrossCompile.cmake \
19
-DBoost_COMPILER=-gcc \
20
-DMIR_ENABLE_DEATH_TESTS=NO \
21
-DMIR_INPUT_ENABLE_EVEMU=NO \
22
-DMIR_PLATFORM=android \
26
cmake --build ${BUILD_DIR}
28
adb push ${BUILD_DIR}/lib/libmirclient.so.0.0.1 /data
30
adb push ${BUILD_DIR}/bin/acceptance-tests /data
31
adb shell 'cd /data && LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH GTEST_OUTPUT=xml:./ ./acceptance-tests'
32
adb pull '/data/acceptance-tests.xml'
34
adb push ${BUILD_DIR}/bin/integration-tests /data
35
adb shell 'cd /data && LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH GTEST_OUTPUT=xml:./ ./integration-tests'
36
adb pull '/data/integration-tests.xml'
38
adb push ${BUILD_DIR}/bin/unit-tests /data
39
adb shell 'cd /data && LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH GTEST_OUTPUT=xml:./ ./unit-tests'
40
adb pull '/data/unit-tests.xml'