mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-10 19:49:49 +08:00
First version rtabmap_launch working
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
cmake_minimum_required(VERSION 2.8.3)
|
||||
project(rtabmap_slam)
|
||||
|
||||
|
||||
|
||||
find_package(catkin REQUIRED COMPONENTS
|
||||
actionlib actionlib_msgs cv_bridge geometry_msgs
|
||||
move_base_msgs nav_msgs nodelet pluginlib sensor_msgs
|
||||
std_msgs std_srvs tf tf2_ros visualization_msgs
|
||||
rtabmap_msgs rtabmap_util rtabmap_sync
|
||||
)
|
||||
|
||||
# Optional components
|
||||
find_package(apriltag_ros)
|
||||
find_package(fiducial_msgs)
|
||||
|
||||
IF(WIN32)
|
||||
add_compile_options(-bigobj)
|
||||
ENDIF(WIN32)
|
||||
|
||||
###################################
|
||||
## catkin specific configuration ##
|
||||
###################################
|
||||
|
||||
SET(optional_dependencies "")
|
||||
IF(apriltag_ros_FOUND)
|
||||
SET(optional_dependencies ${optional_dependencies} apriltag_ros)
|
||||
ENDIF(apriltag_ros_FOUND)
|
||||
|
||||
catkin_package(
|
||||
INCLUDE_DIRS include
|
||||
LIBRARIES rtabmap_slam_plugins
|
||||
CATKIN_DEPENDS actionlib actionlib_msgs cv_bridge geometry_msgs
|
||||
move_base_msgs nav_msgs nodelet pluginlib sensor_msgs
|
||||
std_msgs std_srvs tf tf2_ros visualization_msgs
|
||||
rtabmap_msgs rtabmap_util rtabmap_sync ${optional_dependencies}
|
||||
)
|
||||
|
||||
###########
|
||||
## Build ##
|
||||
###########
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||
${catkin_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
# libraries
|
||||
SET(Libraries
|
||||
${catkin_LIBRARIES}
|
||||
)
|
||||
|
||||
SET(rtabmap_slam_plugins_lib_src
|
||||
src/CoreWrapper.cpp
|
||||
)
|
||||
|
||||
# If octomap is found, add definition
|
||||
IF(octomap_msgs_FOUND)
|
||||
MESSAGE(STATUS "WITH octomap_msgs")
|
||||
ADD_DEFINITIONS("-DWITH_OCTOMAP_MSGS")
|
||||
ENDIF(octomap_msgs_FOUND)
|
||||
|
||||
# If apriltag_ros is found, add definition
|
||||
IF(apriltag_ros_FOUND)
|
||||
MESSAGE(STATUS "WITH apriltag_ros")
|
||||
include_directories(
|
||||
${apriltag_ros_INCLUDE_DIRS}
|
||||
)
|
||||
SET(Libraries
|
||||
${apriltag_ros_LIBRARIES}
|
||||
${Libraries}
|
||||
)
|
||||
ADD_DEFINITIONS("-DWITH_APRILTAG_ROS")
|
||||
ENDIF(apriltag_ros_FOUND)
|
||||
|
||||
# If fiducial_msgs is found, add definition
|
||||
IF(fiducial_msgs_FOUND)
|
||||
MESSAGE(STATUS "WITH fiducial_msgs")
|
||||
include_directories(
|
||||
${fiducial_msgs_INCLUDE_DIRS}
|
||||
)
|
||||
SET(Libraries
|
||||
${fiducial_msgs_LIBRARIES}
|
||||
${Libraries}
|
||||
)
|
||||
ADD_DEFINITIONS("-DWITH_FIDUCIAL_MSGS")
|
||||
ENDIF(fiducial_msgs_FOUND)
|
||||
|
||||
############################
|
||||
## Declare a cpp library
|
||||
############################
|
||||
add_library(rtabmap_slam_plugins
|
||||
${rtabmap_slam_plugins_lib_src}
|
||||
)
|
||||
|
||||
target_link_libraries(rtabmap_slam_plugins
|
||||
${Libraries}
|
||||
)
|
||||
|
||||
add_executable(rtabmap_node src/CoreNode.cpp)
|
||||
target_link_libraries(rtabmap_node ${Libraries})
|
||||
set_target_properties(rtabmap_node PROPERTIES OUTPUT_NAME "rtabmap")
|
||||
|
||||
#############
|
||||
## Install ##
|
||||
#############
|
||||
|
||||
install(TARGETS
|
||||
rtabmap_slam_plugins
|
||||
rtabmap_node
|
||||
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
||||
)
|
||||
|
||||
install(DIRECTORY include/${PROJECT_NAME}/
|
||||
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
|
||||
FILES_MATCHING PATTERN "*.h"
|
||||
)
|
||||
|
||||
install(FILES
|
||||
nodelet_plugins.xml
|
||||
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
||||
)
|
||||
Reference in New Issue
Block a user