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
+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 ()