mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 01:20:25 +08:00
CMake: added ANDROID_PREBUILD option
This commit is contained in:
@@ -95,6 +95,14 @@ IF(APPLE)
|
|||||||
SET(CMAKE_LIBRARY_PATH "/opt/local/lib;${CMAKE_LIBRARY_PATH}")
|
SET(CMAKE_LIBRARY_PATH "/opt/local/lib;${CMAKE_LIBRARY_PATH}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
####### ANDROID_PREBUILD (early exit if true) #######
|
||||||
|
OPTION( ANDROID_PREBUILD "Set to ON to build rtabmap resource build tool (required for android build)" OFF )
|
||||||
|
IF(ANDROID_PREBUILD)
|
||||||
|
MESSAGE("Option ANDROID_PREBUILD is set, only rtabmap resource tool will be built. You can use android toolchain after that.")
|
||||||
|
ADD_SUBDIRECTORY( utilite )
|
||||||
|
return()
|
||||||
|
ENDIF(ANDROID_PREBUILD)
|
||||||
|
|
||||||
####### Build libraries as shared or static #######
|
####### Build libraries as shared or static #######
|
||||||
OPTION( BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON )
|
OPTION( BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON )
|
||||||
|
|
||||||
|
|||||||
@@ -344,7 +344,7 @@ SET(RESOURCES_HEADERS
|
|||||||
IF(ANDROID)
|
IF(ANDROID)
|
||||||
|
|
||||||
IF(NOT RTABMAP_RES_TOOL)
|
IF(NOT RTABMAP_RES_TOOL)
|
||||||
find_host_program(RTABMAP_RES_TOOL rtabmap-res_tool)
|
find_host_program(RTABMAP_RES_TOOL rtabmap-res_tool PATHS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||||
IF(NOT RTABMAP_RES_TOOL)
|
IF(NOT RTABMAP_RES_TOOL)
|
||||||
MESSAGE( FATAL_ERROR "RTABMAP_RES_TOOL is not defined (it is the path to \"rtabmap-res_tool\" application created by a non-Android build)." )
|
MESSAGE( FATAL_ERROR "RTABMAP_RES_TOOL is not defined (it is the path to \"rtabmap-res_tool\" application created by a non-Android build)." )
|
||||||
ENDIF(NOT RTABMAP_RES_TOOL)
|
ENDIF(NOT RTABMAP_RES_TOOL)
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
# Image: introlab3it/rtabmap:android-deps
|
# Image: introlab3it/rtabmap:android-deps
|
||||||
|
|
||||||
FROM introlab3it/rtabmap
|
FROM ubuntu:16.04
|
||||||
|
|
||||||
|
# Install build dependencies
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
git \
|
||||||
|
cmake \
|
||||||
|
software-properties-common
|
||||||
|
|
||||||
ENV ANDROID_HOME=/opt/android-sdk
|
ENV ANDROID_HOME=/opt/android-sdk
|
||||||
ENV ANDROID_NATIVE_API_LEVEL=android-19
|
ENV ANDROID_NATIVE_API_LEVEL=android-19
|
||||||
@@ -11,8 +17,8 @@ WORKDIR /root/
|
|||||||
|
|
||||||
ADD setup_android_env.bash /root/setup_android_env.bash
|
ADD setup_android_env.bash /root/setup_android_env.bash
|
||||||
RUN chmod +x setup_android_env.bash
|
RUN chmod +x setup_android_env.bash
|
||||||
RUN /bin/bash -c "./setup_android_env.bash"
|
RUN /bin/bash -c "./setup_android_env.bash /opt"
|
||||||
|
|
||||||
ADD install_deps.bash /root/install_deps.bash
|
ADD install_deps.bash /root/install_deps.bash
|
||||||
RUN chmod +x install_deps.bash
|
RUN chmod +x install_deps.bash
|
||||||
RUN /bin/bash -c "./install_deps.bash"
|
RUN /bin/bash -c "./install_deps.bash /opt/android"
|
||||||
|
|||||||
@@ -1,5 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
echo "install_deps.bash android_install_prefix # Example: install_deps.bash /opt/android"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
prefix=$1
|
||||||
|
pwd=$(pwd)
|
||||||
|
wget -nv https://github.com/introlab/rtabmap/raw/master/cmake_modules/android.toolchain.cmake
|
||||||
|
|
||||||
|
# Install directory for all dependencies
|
||||||
|
mkdir -p $prefix/armeabi-v7a
|
||||||
|
mkdir -p $prefix/arm64-v8a
|
||||||
|
|
||||||
# Boost
|
# Boost
|
||||||
echo "wget boost..."
|
echo "wget boost..."
|
||||||
wget -nv https://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
|
wget -nv https://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
|
||||||
@@ -9,11 +22,11 @@ wget -nv https://gist.github.com/matlabbe/0bce8feeb73a499a76afbbcc5c687221/raw/4
|
|||||||
wget -nv https://gist.github.com/matlabbe/0bce8feeb73a499a76afbbcc5c687221/raw/e7fbf0e301cfea417a7aa69989a761a4de08b8c3/CMakeLists.txt
|
wget -nv https://gist.github.com/matlabbe/0bce8feeb73a499a76afbbcc5c687221/raw/e7fbf0e301cfea417a7aa69989a761a4de08b8c3/CMakeLists.txt
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/armeabi-v7a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/armeabi-v7a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
rm -r *
|
rm -r *
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/arm64-v8a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/arm64-v8a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
cd
|
cd
|
||||||
@@ -26,11 +39,11 @@ tar -xzf 3.2.7.tar.gz
|
|||||||
cd eigen-eigen-b30b87236a1b
|
cd eigen-eigen-b30b87236a1b
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/armeabi-v7a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/armeabi-v7a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
rm -r *
|
rm -r *
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/arm64-v8a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/arm64-v8a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
cd
|
cd
|
||||||
@@ -43,11 +56,11 @@ unzip -qq flann-1.8.4-src.zip
|
|||||||
cd flann-1.8.4-src
|
cd flann-1.8.4-src
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/armeabi-v7a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/armeabi-v7a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
rm -r *
|
rm -r *
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/arm64-v8a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/arm64-v8a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
cd
|
cd
|
||||||
@@ -62,11 +75,11 @@ wget -nv https://gist.github.com/matlabbe/726b490c658afd3293f4b3f2f501b863/raw/d
|
|||||||
git apply gtsam_GKlib_android_fix.patch
|
git apply gtsam_GKlib_android_fix.patch
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DMETIS_SHARED=OFF -DGTSAM_BUILD_STATIC_LIBRARY=ON -DGTSAM_BUILD_TESTS=OFF -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/armeabi-v7a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DMETIS_SHARED=OFF -DGTSAM_BUILD_STATIC_LIBRARY=ON -DGTSAM_BUILD_TESTS=OFF -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/armeabi-v7a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
rm -r *
|
rm -r *
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DMETIS_SHARED=OFF -DGTSAM_BUILD_STATIC_LIBRARY=ON -DGTSAM_BUILD_TESTS=OFF -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/arm64-v8a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DMETIS_SHARED=OFF -DGTSAM_BUILD_STATIC_LIBRARY=ON -DGTSAM_BUILD_TESTS=OFF -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/arm64-v8a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
cd
|
cd
|
||||||
@@ -77,11 +90,11 @@ git clone https://github.com/RainerKuemmerle/g2o.git
|
|||||||
cd g2o
|
cd g2o
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_LGPL_SHARED_LIBS=OFF -DG2O_BUILD_APPS=OFF -DG2O_BUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/armeabi-v7a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_LGPL_SHARED_LIBS=OFF -DG2O_BUILD_APPS=OFF -DG2O_BUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/armeabi-v7a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
rm -r *
|
rm -r *
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_LGPL_SHARED_LIBS=OFF -DG2O_BUILD_APPS=OFF -DG2O_BUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/arm64-v8a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_LGPL_SHARED_LIBS=OFF -DG2O_BUILD_APPS=OFF -DG2O_BUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/arm64-v8a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
cd
|
cd
|
||||||
@@ -100,13 +113,13 @@ cd VTK
|
|||||||
git checkout tags/v7.1.1
|
git checkout tags/v7.1.1
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
~/cmake-3.7.2-Linux-x86_64/bin/cmake -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -DVTK_ANDROID_BUILD=ON -DANDROID_ARCH_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/armeabi-v7a ..
|
~/cmake-3.7.2-Linux-x86_64/bin/cmake -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -DVTK_ANDROID_BUILD=ON -DANDROID_ARCH_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/armeabi-v7a ..
|
||||||
make
|
make
|
||||||
cp -r CMakeExternals/Install/vtk-android/* /opt/android/armeabi-v7a/.
|
cp -r CMakeExternals/Install/vtk-android/* $prefix/armeabi-v7a/.
|
||||||
rm -r *
|
rm -r *
|
||||||
~/cmake-3.7.2-Linux-x86_64/bin/cmake -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -DVTK_ANDROID_BUILD=ON -DANDROID_ARCH_ABI=arm64-v8a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/arm64-v8a ..
|
~/cmake-3.7.2-Linux-x86_64/bin/cmake -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -DVTK_ANDROID_BUILD=ON -DANDROID_ARCH_ABI=arm64-v8a -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/arm64-v8a ..
|
||||||
make
|
make
|
||||||
cp -r CMakeExternals/Install/vtk-android/* /opt/android/arm64-v8a/.
|
cp -r CMakeExternals/Install/vtk-android/* $prefix/arm64-v8a/.
|
||||||
cd
|
cd
|
||||||
rm -r VTK cmake-3.7.2-Linux-x86_64
|
rm -r VTK cmake-3.7.2-Linux-x86_64
|
||||||
|
|
||||||
@@ -120,14 +133,14 @@ git apply pcl_1_8_0_vtk_android_support.patch
|
|||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
# do it 2 times because there is a cmake error on the first time and not the second time!?
|
# do it 2 times because there is a cmake error on the first time and not the second time!?
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_apps=OFF -DBUILD_examples=OFF -DBUILD_tools=OFF -DBUILD_visualization=OFF -DBUILD_tracking=OFF -DBUILD_people=OFF -DBUILD_global_tests=OFF -DWITH_QT=OFF -DWITH_OPENGL=OFF -DWITH_VTK=ON -DPCL_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/armeabi-v7a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_apps=OFF -DBUILD_examples=OFF -DBUILD_tools=OFF -DBUILD_visualization=OFF -DBUILD_tracking=OFF -DBUILD_people=OFF -DBUILD_global_tests=OFF -DWITH_QT=OFF -DWITH_OPENGL=OFF -DWITH_VTK=ON -DPCL_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/armeabi-v7a ..
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_apps=OFF -DBUILD_examples=OFF -DBUILD_tools=OFF -DBUILD_visualization=OFF -DBUILD_tracking=OFF -DBUILD_people=OFF -DBUILD_global_tests=OFF -DWITH_QT=OFF -DWITH_OPENGL=OFF -DWITH_VTK=ON -DPCL_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/armeabi-v7a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_apps=OFF -DBUILD_examples=OFF -DBUILD_tools=OFF -DBUILD_visualization=OFF -DBUILD_tracking=OFF -DBUILD_people=OFF -DBUILD_global_tests=OFF -DWITH_QT=OFF -DWITH_OPENGL=OFF -DWITH_VTK=ON -DPCL_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/armeabi-v7a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
rm -r *
|
rm -r *
|
||||||
# do it 2 times because there is a cmake error on the first time and not the second time!?
|
# do it 2 times because there is a cmake error on the first time and not the second time!?
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_apps=OFF -DBUILD_examples=OFF -DBUILD_tools=OFF -DBUILD_visualization=OFF -DBUILD_tracking=OFF -DBUILD_people=OFF -DBUILD_global_tests=OFF -DWITH_QT=OFF -DWITH_OPENGL=OFF -DWITH_VTK=ON -DPCL_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/arm64-v8a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_apps=OFF -DBUILD_examples=OFF -DBUILD_tools=OFF -DBUILD_visualization=OFF -DBUILD_tracking=OFF -DBUILD_people=OFF -DBUILD_global_tests=OFF -DWITH_QT=OFF -DWITH_OPENGL=OFF -DWITH_VTK=ON -DPCL_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/arm64-v8a ..
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_apps=OFF -DBUILD_examples=OFF -DBUILD_tools=OFF -DBUILD_visualization=OFF -DBUILD_tracking=OFF -DBUILD_people=OFF -DBUILD_global_tests=OFF -DWITH_QT=OFF -DWITH_OPENGL=OFF -DWITH_VTK=ON -DPCL_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/android/arm64-v8a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_apps=OFF -DBUILD_examples=OFF -DBUILD_tools=OFF -DBUILD_visualization=OFF -DBUILD_tracking=OFF -DBUILD_people=OFF -DBUILD_global_tests=OFF -DWITH_QT=OFF -DWITH_OPENGL=OFF -DWITH_VTK=ON -DPCL_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix/arm64-v8a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
cd
|
cd
|
||||||
@@ -143,11 +156,11 @@ cd opencv
|
|||||||
git checkout tags/3.2.0
|
git checkout tags/3.2.0
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DOPENCV_EXTRA_MODULES_PATH=/root/opencv_contrib/modules -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/opt/android/armeabi-v7a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DOPENCV_EXTRA_MODULES_PATH=$pwd/opencv_contrib/modules -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$prefix/armeabi-v7a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
rm -r *
|
rm -r *
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=/root/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DOPENCV_EXTRA_MODULES_PATH=/root/opencv_contrib/modules -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/opt/android/arm64-v8a ..
|
cmake -DCMAKE_TOOLCHAIN_FILE=$pwd/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DOPENCV_EXTRA_MODULES_PATH=$pwd/opencv_contrib/modules -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$prefix/arm64-v8a ..
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
cd
|
cd
|
||||||
|
|||||||
@@ -22,9 +22,4 @@ echo "wget android-ndk..."
|
|||||||
wget -nv https://dl.google.com/android/repository/android-ndk-r14-linux-x86_64.zip
|
wget -nv https://dl.google.com/android/repository/android-ndk-r14-linux-x86_64.zip
|
||||||
unzip -qq android-ndk-r14-linux-x86_64.zip
|
unzip -qq android-ndk-r14-linux-x86_64.zip
|
||||||
rm android-ndk-r14-linux-x86_64.zip
|
rm android-ndk-r14-linux-x86_64.zip
|
||||||
mv android-ndk-r14 /opt/.
|
mv android-ndk-r14 $ANDROID_NDK
|
||||||
|
|
||||||
# Install directory for all dependencies
|
|
||||||
mkdir -p /opt/android/armeabi-v7a
|
|
||||||
mkdir -p /opt/android/arm64-v8a
|
|
||||||
wget -nv https://github.com/introlab/rtabmap/raw/master/cmake_modules/android.toolchain.cmake
|
|
||||||
|
|||||||
@@ -6,6 +6,6 @@ WORKDIR /root/
|
|||||||
|
|
||||||
ADD build.bash /root/build.bash
|
ADD build.bash /root/build.bash
|
||||||
RUN chmod +x build.bash
|
RUN chmod +x build.bash
|
||||||
RUN /bin/bash -c "./build.bash"
|
RUN /bin/bash -c "./build.bash /opt/android"
|
||||||
|
|
||||||
WORKDIR /root/
|
WORKDIR /root/
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
echo "build.bash android_install_prefix # Example: build.bash /opt/android"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
prefix=$1
|
||||||
|
|
||||||
# get rtabmap
|
# get rtabmap
|
||||||
git clone https://github.com/introlab/rtabmap.git rtabmap-tango
|
git clone https://github.com/introlab/rtabmap.git rtabmap-tango
|
||||||
|
|
||||||
@@ -7,33 +14,39 @@ git clone https://github.com/introlab/rtabmap.git rtabmap-tango
|
|||||||
wget https://developers.google.com/tango/downloads/TangoSDK_Ikariotikos_C.zip
|
wget https://developers.google.com/tango/downloads/TangoSDK_Ikariotikos_C.zip
|
||||||
unzip -qq TangoSDK_Ikariotikos_C.zip
|
unzip -qq TangoSDK_Ikariotikos_C.zip
|
||||||
rm TangoSDK_Ikariotikos_C.zip
|
rm TangoSDK_Ikariotikos_C.zip
|
||||||
cp -r lib_tango_client_api/include/* /opt/android/armeabi-v7a/include/.
|
cp -r lib_tango_client_api/include/* $prefix/armeabi-v7a/include/.
|
||||||
cp -r lib_tango_client_api/include/* /opt/android/arm64-v8a/include/.
|
cp -r lib_tango_client_api/include/* $prefix/arm64-v8a/include/.
|
||||||
cp -r lib_tango_client_api/lib/armeabi-v7a/* /opt/android/armeabi-v7a/lib/.
|
cp -r lib_tango_client_api/lib/armeabi-v7a/* $prefix/armeabi-v7a/lib/.
|
||||||
cp -r lib_tango_client_api/lib/arm64-v8a/* /opt/android/arm64-v8a/lib/.
|
cp -r lib_tango_client_api/lib/arm64-v8a/* $prefix/arm64-v8a/lib/.
|
||||||
rm -r lib_tango_client_api
|
rm -r lib_tango_client_api
|
||||||
wget https://developers.google.com/tango/downloads/TangoSupport_Ikariotikos_C.zip
|
wget https://developers.google.com/tango/downloads/TangoSupport_Ikariotikos_C.zip
|
||||||
unzip -qq TangoSupport_Ikariotikos_C.zip
|
unzip -qq TangoSupport_Ikariotikos_C.zip
|
||||||
rm TangoSupport_Ikariotikos_C.zip
|
rm TangoSupport_Ikariotikos_C.zip
|
||||||
cp -r lib_tango_support_api/include/* /opt/android/armeabi-v7a/include/.
|
cp -r lib_tango_support_api/include/* $prefix/armeabi-v7a/include/.
|
||||||
cp -r lib_tango_support_api/include/* /opt/android/arm64-v8a/include/.
|
cp -r lib_tango_support_api/include/* $prefix/arm64-v8a/include/.
|
||||||
cp -r lib_tango_support_api/lib/armeabi-v7a/* /opt/android/armeabi-v7a/lib/.
|
cp -r lib_tango_support_api/lib/armeabi-v7a/* $prefix/armeabi-v7a/lib/.
|
||||||
cp -r lib_tango_support_api/lib/arm64-v8a/* /opt/android/arm64-v8a/lib/.
|
cp -r lib_tango_support_api/lib/arm64-v8a/* $prefix/arm64-v8a/lib/.
|
||||||
cp -r lib_tango_support_api/lib/* rtabmap-tango/app/android/jni/third-party/lib/.
|
cp -r lib_tango_support_api/lib/* rtabmap-tango/app/android/jni/third-party/lib/.
|
||||||
rm -r lib_tango_support_api
|
rm -r lib_tango_support_api
|
||||||
wget https://developers.google.com/tango/downloads/TangoSDK_Ikariotikos_Java.jar
|
wget https://developers.google.com/tango/downloads/TangoSDK_Ikariotikos_Java.jar
|
||||||
mv TangoSDK_Ikariotikos_Java.jar rtabmap-tango/app/android/libs/.
|
mv TangoSDK_Ikariotikos_Java.jar rtabmap-tango/app/android/libs/.
|
||||||
|
|
||||||
|
# resource tool
|
||||||
|
mkdir rtabmap-tango/build
|
||||||
|
cd rtabmap-tango/build
|
||||||
|
cmake --DANDROID_PREBUILD=ON ..
|
||||||
|
make
|
||||||
|
|
||||||
# rtabmap
|
# rtabmap
|
||||||
mkdir rtabmap-tango/build/armeabi-v7a
|
mkdir rtabmap-tango/build/armeabi-v7a
|
||||||
cd rtabmap-tango/build/armeabi-v7a
|
cd rtabmap-tango/build/armeabi-v7a
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=../../cmake_modules/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=OFF -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=/opt/android/armeabi-v7a/sdk/native/jni -DCMAKE_INSTALL_PREFIX=/opt/android/armeabi-v7a ../..
|
cmake -DCMAKE_TOOLCHAIN_FILE=../../cmake_modules/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DBUILD_SHARED_LIBS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=OFF -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=$prefix/armeabi-v7a/sdk/native/jni -DCMAKE_INSTALL_PREFIX=$prefix/armeabi-v7a ../..
|
||||||
make
|
make
|
||||||
|
|
||||||
cd
|
cd
|
||||||
mkdir rtabmap-tango/build/arm64-v8a
|
mkdir rtabmap-tango/build/arm64-v8a
|
||||||
cd rtabmap-tango/build/arm64-v8a
|
cd rtabmap-tango/build/arm64-v8a
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE=../../cmake_modules/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_SHARED_LIBS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=OFF -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=/opt/android/arm64-v8a/sdk/native/jni -DCMAKE_INSTALL_PREFIX=/opt/android/arm64-v8a ../..
|
cmake -DCMAKE_TOOLCHAIN_FILE=../../cmake_modules/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DBUILD_SHARED_LIBS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=OFF -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=$prefix/arm64-v8a/sdk/native/jni -DCMAKE_INSTALL_PREFIX=$prefix/arm64-v8a ../..
|
||||||
make
|
make
|
||||||
|
|
||||||
# package with binaries of both architectures
|
# package with binaries of both architectures
|
||||||
|
|||||||
Reference in New Issue
Block a user