mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 17:40:23 +08:00
* Created general CameraMobile interface. Tango is now optional. Camera is disabled on visualizaion (battery saving). * Working android app on non-tango android phones (tested on x86_64 android emulator). * fixed typo * android: updated tango not available msg * android: fixed build with latest android sdk/ndk * Added ARCore limited support for pose and rgb streams. * Added AREngine support. Don't assert if depth size is not a modulo of rgb size. * Added ARCore shared camera support * android: fixed read/write runtime permissions for >=api23. arcore ndk: added feature point cloud. Fixed file sharing persmissions (>=api24 issue) * ARCore NDK: mapping with feature point cloud * android: Added post build strip command to reduce native library size * android: fixed some compilation issues * android: put back gtsam as default optimizer, manifest min api is dynamic based on cmake parameters * AREngine: min api 24 * android: Fixed build without AREngine * android: fixed not available libraries for API<24 * android: fixed build with old cmake versions * android: set arcore min api to 23 * android: fixed arengine error on start when not built with native arengine support * android: fixed tango camera permission for api>=23 * Added bionic android docker files * Fixed wrong 3D words projection when depth size is not an exact multiple of rgb size. DbViewer: fixed images size not correctly shown in label of the calibration. ImageView: fixed depth scale when depth size is not a multiple of rgb size * CameraMobile: added exact display rotation for local transform * DbViewer: fixed gravity link shown in constraint view, show full local transform matrix in camera calibration label * Android: fixed localization mode in visualization, fixed some tansitions between some UI states * Android: Hide stop button when HUD is hidden. Updated About years.
136 lines
3.3 KiB
CMake
136 lines
3.3 KiB
CMake
|
|
SET(INCLUDE_DIRS
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/tango-gl/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/third-party/include
|
|
${PROJECT_SOURCE_DIR}/corelib/include
|
|
${PROJECT_SOURCE_DIR}/utilite/include
|
|
${OpenCV_INCLUDE_DIRS}
|
|
${PCL_INCLUDE_DIRS}
|
|
"${ANDROID_NDK}/platforms/android-${ANDROID_NATIVE_API_LEVEL}/arch-${ANDROID_ARCH_NAME}/usr/include"
|
|
)
|
|
|
|
SET(LIBRARIES
|
|
${OpenCV_LIBRARIES}
|
|
${PCL_LIBRARIES}
|
|
)
|
|
|
|
set(sources
|
|
jni_interface.cpp
|
|
CameraMobile.cpp
|
|
RTABMapApp.cpp
|
|
scene.cpp
|
|
point_cloud_drawable.cpp
|
|
graph_drawable.cpp
|
|
tango-gl/axis.cpp
|
|
tango-gl/camera.cpp
|
|
tango-gl/conversions.cpp
|
|
tango-gl/drawable_object.cpp
|
|
tango-gl/frustum.cpp
|
|
tango-gl/gesture_camera.cpp
|
|
tango-gl/grid.cpp
|
|
tango-gl/line.cpp
|
|
tango-gl/shaders.cpp
|
|
tango-gl/trace.cpp
|
|
tango-gl/transform.cpp
|
|
tango-gl/util.cpp
|
|
)
|
|
|
|
IF(OPENMP_FOUND)
|
|
file(COPY ${OpenMP_CXX_LIBRARIES}
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../libs/${ANDROID_NDK_ABI_NAME})
|
|
ENDIF(OPENMP_FOUND)
|
|
|
|
IF(Tango_FOUND)
|
|
|
|
SET(sources
|
|
${sources}
|
|
CameraTango.cpp
|
|
)
|
|
SET(INCLUDE_DIRS
|
|
${INCLUDE_DIRS}
|
|
${Tango_INCLUDE_DIRS}
|
|
)
|
|
SET(LIBRARIES
|
|
${LIBRARIES}
|
|
${Tango_LIBRARIES}
|
|
)
|
|
|
|
file(COPY ${Tango_support_LIBRARY}
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../libs/${ANDROID_NDK_ABI_NAME})
|
|
ENDIF(Tango_FOUND)
|
|
|
|
IF(ARCore_FOUND)
|
|
|
|
SET(sources
|
|
${sources}
|
|
CameraARCore.cpp
|
|
)
|
|
SET(INCLUDE_DIRS
|
|
${INCLUDE_DIRS}
|
|
${ARCore_INCLUDE_DIRS}
|
|
)
|
|
SET(LIBRARIES
|
|
${LIBRARIES}
|
|
${ARCore_LIBRARIES}
|
|
)
|
|
|
|
file(COPY ${ARCore_c_LIBRARY}
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../libs/${ANDROID_NDK_ABI_NAME})
|
|
file(COPY ${ARCore_jni_LIBRARY}
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../libs/${ANDROID_NDK_ABI_NAME})
|
|
|
|
ENDIF(ARCore_FOUND)
|
|
|
|
IF(AREngine_FOUND)
|
|
|
|
SET(sources
|
|
${sources}
|
|
CameraAREngine.cpp
|
|
)
|
|
SET(INCLUDE_DIRS
|
|
${INCLUDE_DIRS}
|
|
${AREngine_INCLUDE_DIRS}
|
|
)
|
|
SET(LIBRARIES
|
|
${LIBRARIES}
|
|
${AREngine_LIBRARIES}
|
|
camera2ndk
|
|
mediandk
|
|
)
|
|
|
|
file(COPY ${AREngine_impl_LIBRARY}
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../libs/${ANDROID_NDK_ABI_NAME})
|
|
file(COPY ${AREngine_jni_LIBRARY}
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../libs/${ANDROID_NDK_ABI_NAME})
|
|
file(COPY ${AREngine_ndk_LIBRARY}
|
|
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../libs/${ANDROID_NDK_ABI_NAME})
|
|
|
|
ENDIF(AREngine_FOUND)
|
|
|
|
add_definitions(${PCL_DEFINITIONS})
|
|
|
|
INCLUDE_DIRECTORIES(${INCLUDE_DIRS})
|
|
|
|
add_library(NativeRTABMap SHARED ${sources})
|
|
target_link_libraries(NativeRTABMap ${LIBRARIES}
|
|
android
|
|
log
|
|
GLESv2
|
|
rtabmap_core
|
|
rtabmap_utilite
|
|
)
|
|
|
|
# see ant.properties.in
|
|
set_target_properties(NativeRTABMap PROPERTIES
|
|
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../libs/${ANDROID_NDK_ABI_NAME}"
|
|
LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/../libs/${ANDROID_NDK_ABI_NAME}"
|
|
LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_BINARY_DIR}/../libs/${ANDROID_NDK_ABI_NAME}")
|
|
|
|
IF(ANDROID_NATIVE_API_LEVEL GREATER 22)
|
|
add_custom_command(TARGET NativeRTABMap POST_BUILD
|
|
COMMAND "${ANDROID_TOOLCHAIN_PREFIX}strip" -g -S -d --strip-debug --verbose
|
|
"${CMAKE_CURRENT_BINARY_DIR}/../libs/${ANDROID_NDK_ABI_NAME}/libNativeRTABMap.so"
|
|
COMMENT "Strip debug symbols done on final binary.")
|
|
ENDIF(ANDROID_NATIVE_API_LEVEL GREATER 22)
|