CMake build scripts for cross compiling PCL and its dependencies for Android and iOS.
pcl use libraries
boost 1.60.0, custom boost patches, custom source code
Android
* Windows/Linux(Test Windows 7?, Ubuntu 14.04/16.04?)
* Android NDK, Revision 15c/16b(Test 16b)
* CMake >=3.6.x(Test 3.9.2/3.10.1)
iOS
* MacOSX ??.?(Test 10.x)
* Xcode 8.3, 9.0(?)(Test 9.0)
* CMake >=3.7.x(Test 3.9.4)
$ wget -qO- https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip -O /tmp/android-ndk-r16b-linux-x86_64.zip
$ unzip -q /tmp/android-ndk-r16b-linux-x86_64.zip
$ cd android-ndk-r16b
$ export ANDROID_NDK=$PWD
$ export ANDROID_TARGET_API="23"
$ export ANDROID_ABIs="armeabi-v7a"
$ export TOOLCHAIN_NAME="arm-linux-android-clang3.6"
$ export TARGET_COMPILER="clang"
$ mkdir build && cd build
$ cmake -DBUILD_ANDROID:BOOL="ON" -DBUILD_IOS_DEVICE:BOOL="OFF" -DBUILD_IOS_SIMULATOR:BOOL="OFF" -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${ANDROID_NDK}/build/cmake/android.toolchain.cmake -DCMAKE_MAKE_PROGRAM=${ANDROID_NDK}/prebuilt/linux-x86_64/bin/make -DANDROID_TOOLCHAIN_NAME=${TOOLCHAIN_NAME} -DANDROID_NATIVE_API_LEVEL=${ANDROID_TARGET_API} -DANDROID_ABI=${ANDROID_ABIs} -DANDROID_TOOLCHAIN=${TARGET_COMPILER} ..
$ cmake --build .
other target
$ export ANDROID_ABIs="arm64-v8a"
$ export TOOLCHAIN_NAME="aarch64-linux-android-clang3.6"
$ export TARGET_COMPILER="clang"
$ export ANDROID_ABIs="armeabi-v7a"
$ export TOOLCHAIN_NAME="arm-linux-androideabi-4.9"
$ export TARGET_COMPILER="gcc"
$ export ANDROID_ABIs="arm64-v8a"
$ export TOOLCHAIN_NAME="aarch64-linux-android-4.9"
$ export TARGET_COMPILER="gcc"
$ mkdir build && cd build
$ cmake -DBUILD_ANDROID:BOOL="OFF" -DBUILD_IOS_DEVICE:BOOL="OFF" -DBUILD_IOS_SIMULATOR:BOOL="OFF" ../
$ cmake --build .