mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 01:20:25 +08:00
63 lines
2.3 KiB
CMake
63 lines
2.3 KiB
CMake
|
|
if (CMAKE_CROSSCOMPILING OR ANDROID OR IOS)
|
|
# See this page about tools being required in the build:
|
|
# https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/CrossCompiling#using-executables-in-the-build-created-during-the-build
|
|
|
|
# Some ideas there were used, not all.
|
|
# The target named 'res_tool' can be used elsewhere in all cases, when cross compiling or not.
|
|
|
|
IF(NOT RTABMAP_RES_TOOL)
|
|
IF (COMMAND find_host_program)
|
|
# On android docker build
|
|
MESSAGE(STATUS "Looking for ${PROJECT_PREFIX}-res tool in ${PROJECT_BINARY_DIR}/../bin")
|
|
FIND_HOST_PROGRAM( RTABMAP_RES_TOOL ${PROJECT_PREFIX}-res_tool PATHS ${PROJECT_BINARY_DIR}/../bin NO_DEFAULT_PATH)
|
|
IF(NOT RTABMAP_RES_TOOL)
|
|
MESSAGE(STATUS "Looking for ${PROJECT_PREFIX}-res tool on host system")
|
|
FIND_HOST_PROGRAM( RTABMAP_RES_TOOL ${PROJECT_PREFIX}-res_tool)
|
|
ENDIF(NOT RTABMAP_RES_TOOL)
|
|
ELSE()
|
|
MESSAGE(STATUS "Looking for ${PROJECT_PREFIX}-res tool on host system")
|
|
FIND_PROGRAM( RTABMAP_RES_TOOL ${PROJECT_PREFIX}-res_tool )
|
|
ENDIF()
|
|
IF(NOT RTABMAP_RES_TOOL)
|
|
MESSAGE( FATAL_ERROR "RTABMAP_RES_TOOL is not defined (it is the path to \"${PROJECT_PREFIX}-res_tool\" application created by a non-Android build)." )
|
|
ENDIF(NOT RTABMAP_RES_TOOL)
|
|
ENDIF(NOT RTABMAP_RES_TOOL)
|
|
|
|
MESSAGE(STATUS "Using res_tool at ${RTABMAP_RES_TOOL}")
|
|
|
|
ADD_EXECUTABLE(res_tool IMPORTED GLOBAL)
|
|
SET_TARGET_PROPERTIES(res_tool PROPERTIES IMPORTED_LOCATION "${RTABMAP_RES_TOOL}")
|
|
|
|
else()
|
|
|
|
SET(SRC_FILES
|
|
main.cpp
|
|
)
|
|
|
|
SET(INCLUDE_DIRS
|
|
../include
|
|
)
|
|
|
|
# Make sure the compiler can find include files from our library.
|
|
INCLUDE_DIRECTORIES(${INCLUDE_DIRS})
|
|
|
|
# Add binary called "resource_tool" that is built from the source file "main.cpp".
|
|
# The extension is automatically found.
|
|
ADD_EXECUTABLE(res_tool ${SRC_FILES})
|
|
TARGET_LINK_LIBRARIES(res_tool rtabmap_utilite)
|
|
|
|
SET_TARGET_PROPERTIES(
|
|
res_tool
|
|
PROPERTIES
|
|
VERSION ${UTILITE_VERSION}
|
|
SOVERSION ${UTILITE_VERSION}
|
|
OUTPUT_NAME ${PROJECT_PREFIX}-res_tool
|
|
)
|
|
|
|
INSTALL(TARGETS res_tool
|
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT runtime
|
|
BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}" COMPONENT runtime)
|
|
|
|
endif()
|