Added FindRTABMap.cmake

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@700 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
matlabbe
2013-01-10 21:25:15 +00:00
parent b032699860
commit e1304ed2b5
3 changed files with 135 additions and 0 deletions
+5
View File
@@ -11,6 +11,8 @@ SET(PROJECT_PREFIX rtabmap)
####### local cmake modules #######
SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake_modules")
CONFIGURE_FILE(FindRTABMap.cmake.in FindRTABMap.cmake @ONLY)
#######################
# VERSION
#######################
@@ -230,6 +232,9 @@ INSTALL(FILES
${PROJECT_SOURCE_DIR}/Matlab/ShowLogs/importfile.m
DESTINATION share/${PROJECT_PREFIX}
COMPONENT runtime)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindRTABMap.cmake DESTINATION share/${PROJECT_PREFIX} COMPONENT devel)
IF(WIN32)
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING.txt")
+65
View File
@@ -0,0 +1,65 @@
# - Find RTABMap
# This module finds an installed RTABMap package.
#
# It sets the following variables:
# RTABMap_FOUND - Set to false, or undefined, if RTABMap isn't found.
# RTABMap_INCLUDE_DIRS - The RTABMap include directory.
# RTABMap_LIBRARIES - The RTABMap library to link against.
#
# Look up for rtabmap ros package first, if not found search system wide.
#
SET(RTABMap_ROOT)
# Add ROS RTABMap directory if ROS is installed
FIND_PROGRAM(ROSPACK_EXEC NAME rospack PATHS)
IF(ROSPACK_EXEC)
EXECUTE_PROCESS(COMMAND ${ROSPACK_EXEC} find rtabmap_lib
OUTPUT_VARIABLE RTABMap_ROS_PATH
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY "./"
)
IF(RTABMap_ROS_PATH)
MESSAGE(STATUS "Found RTABMap ROS pkg : ${RTABMap_ROS_PATH}")
SET(RTABMap_ROOT
${RTABMap_ROS_PATH}/rtabmap
${RTABMap_ROOT}
)
ENDIF(RTABMap_ROS_PATH)
ENDIF(ROSPACK_EXEC)
IF(WIN32)
FIND_PATH(RTABMap_INCLUDE_DIRS
rtabmap/core/Rtabmap.h
PATH_SUFFIXES "../include")
FIND_LIBRARY(RTABMap_LIBRARIES
NAMES rtabmap_core
PATH_SUFFIXES "../lib")
ELSE()
FIND_PATH(RTABMap_INCLUDE_DIRS
rtabmap/core/Rtabmap.h
PATHS ${RTABMap_ROOT}/include)
FIND_LIBRARY(RTABMap_LIBRARIES
NAMES rtabmap_core
PATHS ${RTABMap_ROOT}/lib)
ENDIF()
IF (RTABMap_INCLUDE_DIRS AND RTABMap_LIBRARIES)
SET(RTABMap_FOUND TRUE)
ENDIF (RTABMap_INCLUDE_DIRS AND RTABMap_LIBRARIES)
IF (RTABMap_FOUND)
# show which RTABMap was found only if not quiet
IF (NOT RTABMap_FIND_QUIETLY)
MESSAGE(STATUS "Found RTABMap ${RTABMap_VERSION}")
ENDIF (NOT RTABMap_FIND_QUIETLY)
ELSE ()
# fatal error if RTABMap is required but not found
IF (RTABMap_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find RTABMap. Verify your PATH if it is already installed or download it at http://rtabmap.googlecode.com")
ENDIF (RTABMap_FIND_REQUIRED)
ENDIF ()
+65
View File
@@ -0,0 +1,65 @@
# - Find RTABMap
# This module finds an installed RTABMap package.
#
# It sets the following variables:
# RTABMap_FOUND - Set to false, or undefined, if RTABMap isn't found.
# RTABMap_INCLUDE_DIRS - The RTABMap include directory.
# RTABMap_LIBRARIES - The RTABMap library to link against.
#
# Look up for rtabmap ros package first, if not found search system wide.
#
SET(RTABMap_ROOT)
# Add ROS RTABMap directory if ROS is installed
FIND_PROGRAM(ROSPACK_EXEC NAME rospack PATHS)
IF(ROSPACK_EXEC)
EXECUTE_PROCESS(COMMAND ${ROSPACK_EXEC} find rtabmap_lib
OUTPUT_VARIABLE RTABMap_ROS_PATH
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY "./"
)
IF(RTABMap_ROS_PATH)
MESSAGE(STATUS "Found RTABMap ROS pkg : ${RTABMap_ROS_PATH}")
SET(RTABMap_ROOT
${RTABMap_ROS_PATH}/rtabmap
${RTABMap_ROOT}
)
ENDIF(RTABMap_ROS_PATH)
ENDIF(ROSPACK_EXEC)
IF(WIN32)
FIND_PATH(RTABMap_INCLUDE_DIRS
rtabmap/core/Rtabmap.h
PATH_SUFFIXES "../include")
FIND_LIBRARY(RTABMap_LIBRARIES
NAMES rtabmap_core
PATH_SUFFIXES "../lib")
ELSE()
FIND_PATH(RTABMap_INCLUDE_DIRS
rtabmap/core/Rtabmap.h
PATHS ${RTABMap_ROOT}/include)
FIND_LIBRARY(RTABMap_LIBRARIES
NAMES rtabmap_core
PATHS ${RTABMap_ROOT}/lib)
ENDIF()
IF (RTABMap_INCLUDE_DIRS AND RTABMap_LIBRARIES)
SET(RTABMap_FOUND TRUE)
ENDIF (RTABMap_INCLUDE_DIRS AND RTABMap_LIBRARIES)
IF (RTABMap_FOUND)
# show which RTABMap was found only if not quiet
IF (NOT RTABMap_FIND_QUIETLY)
MESSAGE(STATUS "Found RTABMap ${RTABMap_VERSION}")
ENDIF (NOT RTABMap_FIND_QUIETLY)
ELSE ()
# fatal error if RTABMap is required but not found
IF (RTABMap_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find RTABMap. Verify your PATH if it is already installed or download it at http://rtabmap.googlecode.com")
ENDIF (RTABMap_FIND_REQUIRED)
ENDIF ()