2013-04-30 20:21:27 +00:00
|
|
|
|
2022-09-04 19:18:14 +02:00
|
|
|
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)
|
2022-09-04 14:29:59 -04:00
|
|
|
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)
|
2022-09-04 19:18:14 +02:00
|
|
|
IF(NOT RTABMAP_RES_TOOL)
|
2022-09-04 14:29:59 -04:00
|
|
|
MESSAGE(STATUS "Looking for ${PROJECT_PREFIX}-res tool on host system")
|
|
|
|
|
FIND_HOST_PROGRAM( RTABMAP_RES_TOOL ${PROJECT_PREFIX}-res_tool)
|
2022-09-04 19:18:14 +02:00
|
|
|
ENDIF(NOT RTABMAP_RES_TOOL)
|
2022-09-04 14:29:59 -04:00
|
|
|
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)
|
2022-09-04 19:18:14 +02:00
|
|
|
|
|
|
|
|
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()
|