From e252ccfe7bfcb5fc2366e97e664476f06913adf7 Mon Sep 17 00:00:00 2001 From: Maxime Graulich <maxime.graulich@gmail.com> Date: Tue, 8 Apr 2014 14:16:05 +0000 Subject: [PATCH] fix to build Android app on build computer --- CMakeLists.txt | 12 ++++++------ contrib/mobile/CMakeLists.txt | 4 ++-- contrib/mobile/utils/onelab_android_build.sh | 20 +++++++++++++------- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9596556a74..98fcf093b1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1108,9 +1108,9 @@ if(HAVE_PYTHON) endif(HAVE_PYTHON) check_function_exists(vsnprintf HAVE_VSNPRINTF) -if(NOT HAVE_VSNPRINTF AND NOT ENABLE_BUILD_IOS) +if(NOT HAVE_VSNPRINTF AND NOT ENABLE_BUILD_IOS AND NOT ENABLE_BUILD_ANDROID) set_config_option(HAVE_NO_VSNPRINTF "NoVsnprintf") -endif(NOT HAVE_VSNPRINTF AND NOT ENABLE_BUILD_IOS) +endif(NOT HAVE_VSNPRINTF AND NOT ENABLE_BUILD_IOS AND NOT ENABLE_BUILD_ANDROID) check_include_file(sys/socket.h HAVE_SYS_SOCKET_H) if(HAVE_SYS_SOCKET_H) @@ -1118,9 +1118,9 @@ if(HAVE_SYS_SOCKET_H) endif(HAVE_SYS_SOCKET_H) check_type_size(socklen_t SOCKLEN_T_SIZE) set(CMAKE_EXTRA_INCLUDE_FILES) -if(NOT SOCKLEN_T_SIZE AND NOT ENABLE_BUILD_IOS) +if(NOT SOCKLEN_T_SIZE AND NOT ENABLE_BUILD_IOS AND NOT ENABLE_BUILD_ANDROID) set_config_option(HAVE_NO_SOCKLEN_T "NoSocklenT") -endif(NOT SOCKLEN_T_SIZE AND NOT ENABLE_BUILD_IOS) +endif(NOT SOCKLEN_T_SIZE AND NOT ENABLE_BUILD_IOS AND NOT ENABLE_BUILD_ANDROID) check_include_file(stdint.h HAVE_STDINT_H) if(HAVE_STDINT_H) @@ -1130,9 +1130,9 @@ else(HAVE_STDINT_H) endif(HAVE_STDINT_H) check_type_size(intptr_t INTPTR_T_SIZE) set(CMAKE_EXTRA_INCLUDE_FILES) -if(NOT INTPTR_T_SIZE AND NOT ENABLE_BUILD_IOS) +if(NOT INTPTR_T_SIZE AND NOT ENABLE_BUILD_IOS AND NOT ENABLE_BUILD_ANDROID) set_config_option(HAVE_NO_INTPTR_T "NoIntptrT") -endif(NOT INTPTR_T_SIZE AND NOT ENABLE_BUILD_IOS) +endif(NOT INTPTR_T_SIZE AND NOT ENABLE_BUILD_IOS AND NOT ENABLE_BUILD_ANDROID) check_include_file(dlfcn.h DLFCN_H) if(DLFCN_H) diff --git a/contrib/mobile/CMakeLists.txt b/contrib/mobile/CMakeLists.txt index b03cf2a97f..2fb325241e 100644 --- a/contrib/mobile/CMakeLists.txt +++ b/contrib/mobile/CMakeLists.txt @@ -178,8 +178,8 @@ if(ENABLE_BUILD_ANDROID) ${DIR} ${CMAKE_CURRENT_BINARY_DIR}/models/${DIRNAME}) endforeach(DIR) find_program(ZIP_COMMAND zip) - add_custom_command(TARGET androidProject POST_BUILD COMMAND pushd ${CMAKE_CURRENT_BINARY_DIR}/models/ && zip -r - ${CMAKE_CURRENT_BINARY_DIR}/Onelab/res/raw/models.zip * && popd) + add_custom_command(TARGET androidProject POST_BUILD COMMAND cd ${CMAKE_CURRENT_BINARY_DIR}/models/ && zip -r + ${CMAKE_CURRENT_BINARY_DIR}/Onelab/res/raw/models.zip * --exclude=*.svn*) message(STATUS "") message(STATUS "ONELAB for Android successfully configured:") diff --git a/contrib/mobile/utils/onelab_android_build.sh b/contrib/mobile/utils/onelab_android_build.sh index 08d847b70e..f76711edae 100644 --- a/contrib/mobile/utils/onelab_android_build.sh +++ b/contrib/mobile/utils/onelab_android_build.sh @@ -1,11 +1,11 @@ #!/usr/bin/env bash -#android_ndk="/opt/android-ndk/" -android_sdk="/opt/android-sdk/" +android_ndk="/home/geuzaine/android-ndk-r8b/" +android_sdk="/home/geuzaine/android-sdk/" -gmsh_svn="/home/maxime/Stage/gmsh" -getdp_svn="/home/maxime/Stage/getdp" -petsc_lib="/home/maxime/Stage/petsc" +gmsh_svn="/home/geuzaine/src/gmsh" +getdp_svn="/home/geuzaine/src/getdp" +petsc_lib="/home/geuzaine/petsc" cmake_default="-DDEFAULT=0 -DCMAKE_TOOLCHAIN_FILE=$gmsh_svn/contrib/mobile/utils/Android.cmake -DENABLE_BUILD_ANDROID=1 -DCMAKE_BUILD_TYPE=Release" cmake_thread=6 @@ -24,7 +24,11 @@ if [ ! -f "$petsc_lib/libpetsc.so" ] || [ ! -f "$petsc_lib/libf2clapack.so" ] || exit 1 fi +export ANDROID_NDK=$android_ndk + # Gmsh +cd $gmsh_svn +svn up if [ ! -d "$gmsh_svn/build_android" ] || [ ! -f "$gmsh_svn/build_android/CMakeCache.txt" ]; then mkdir $gmsh_svn/build_android cd $gmsh_svn/build_android @@ -38,10 +42,12 @@ make getHeaders check # GetDP +cd $getdp_svn +svn up if [ ! -d "$getdp_svn/build_android" ] || [ ! -f "$getdp_svn/build_android/CMakeCache.txt" ]; then mkdir $getdp_svn/build_android cd $getdp_svn/build_android - cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_SHARED=1 -DENABLE_GMSH=1 -DENABLE_LEGACY=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_lib/Headers;$petsc_lib/Headers/mpiuni" -DPETSC_LIBS="$petsc_lib/libpetsc.so" -DGMSH_INC="$gmsh_svn/build_android/Headers/" -DGMSH_LIB="$gmsh_svn/build_android/libs/libGmsh.so" -DBLAS_LIB="$petsc_lib/libf2cblas.so" -DLAPACK_LIB="$petsc_lib/libf2clapack.so" .. + cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_SHARED=1 -DENABLE_GMSH=1 -DENABLE_LEGACY=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_lib/Headers;$petsc_lib/Headers/mpiuni" -DPETSC_LIBS="$petsc_lib/libpetsc.so" -DGMSH_INC="$gmsh_svn/build_android/Headers/" -DGMSH_LIB="$gmsh_svn/build_android/libs/libGmsh.so" -DBLAS_LAPACK_LIBRARIES="$petsc_lib/libf2cblas.so;$petsc_lib/libf2clapack.so" .. check fi cd $getdp_svn/build_android @@ -81,7 +87,7 @@ while read line; do target_api=$(echo $line | awk '{print $3}') read line # Revision read line # Skins - if [ $target_api -gt 14 ]; then + if [ $target_api -ge 14 ]; then $android_sdk/tools/android update project --name Onelab --path . --target $target check ant release -- GitLab