mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-03 16:27:46 +08:00
Split librtabmap_ros.so in to 3 libraries to decrease compilation time. Added scan-only common subscribers.
This commit is contained in:
+45
-22
@@ -170,8 +170,26 @@ SET(Libraries
|
||||
${catkin_LIBRARIES}
|
||||
${RTABMap_LIBRARIES}
|
||||
)
|
||||
|
||||
SET(rtabmap_sync_lib_src
|
||||
src/CommonDataSubscriber.cpp
|
||||
src/impl/CommonDataSubscriberDepth.cpp
|
||||
src/impl/CommonDataSubscriberStereo.cpp
|
||||
src/impl/CommonDataSubscriberRGBD.cpp
|
||||
src/impl/CommonDataSubscriberRGBD2.cpp
|
||||
src/impl/CommonDataSubscriberRGBD3.cpp
|
||||
src/impl/CommonDataSubscriberRGBD4.cpp
|
||||
src/impl/CommonDataSubscriberScan.cpp
|
||||
src/CoreWrapper.cpp # we put CoreWrapper here instead of plugins lib to avoid long compilation time on plugins lib
|
||||
)
|
||||
|
||||
SET(rtabmap_ros_lib_src
|
||||
src/MsgConversion.cpp
|
||||
src/MapsManager.cpp
|
||||
src/OdometryROS.cpp
|
||||
)
|
||||
|
||||
SET(rtabmap_plugins_lib_src
|
||||
src/nodelets/rgbd_odometry.cpp
|
||||
src/nodelets/stereo_odometry.cpp
|
||||
src/nodelets/rgbdicp_odometry.cpp
|
||||
@@ -187,21 +205,10 @@ SET(rtabmap_ros_lib_src
|
||||
src/nodelets/obstacles_detection_old.cpp
|
||||
src/nodelets/point_cloud_aggregator.cpp
|
||||
src/nodelets/undistort_depth.cpp
|
||||
src/OdometryROS.cpp
|
||||
src/MsgConversion.cpp
|
||||
src/MapsManager.cpp
|
||||
src/CommonDataSubscriber.cpp
|
||||
src/CoreWrapper.cpp
|
||||
src/impl/CommonDataSubscriberDepth.cpp
|
||||
src/impl/CommonDataSubscriberStereo.cpp
|
||||
src/impl/CommonDataSubscriberRGBD.cpp
|
||||
src/impl/CommonDataSubscriberRGBD2.cpp
|
||||
src/impl/CommonDataSubscriberRGBD3.cpp
|
||||
src/impl/CommonDataSubscriberRGBD4.cpp
|
||||
)
|
||||
|
||||
IF(${cv_bridge_VERSION_MAJOR} GREATER 1 OR ${cv_bridge_VERSION_MINOR} GREATER 10)
|
||||
SET(rtabmap_ros_lib_src ${rtabmap_ros_lib_src} src/nodelets/rgbd_sync.cpp src/nodelets/stereo_sync.cpp)
|
||||
SET(rtabmap_plugins_lib_src ${rtabmap_plugins_lib_src} src/nodelets/rgbd_sync.cpp src/nodelets/stereo_sync.cpp)
|
||||
ELSE()
|
||||
ADD_DEFINITIONS("-DCV_BRIDGE_HYDRO")
|
||||
ENDIF()
|
||||
@@ -214,9 +221,9 @@ SET(Libraries
|
||||
${costmap_2d_LIBRARIES}
|
||||
${Libraries}
|
||||
)
|
||||
SET(rtabmap_ros_lib_src
|
||||
SET(rtabmap_plugins_lib_src
|
||||
src/costmap_2d/static_layer.cpp
|
||||
${rtabmap_ros_lib_src}
|
||||
${rtabmap_plugins_lib_src}
|
||||
)
|
||||
ENDIF(costmap_2d_FOUND)
|
||||
|
||||
@@ -268,8 +275,8 @@ set_property(
|
||||
PROPERTY COMPILE_DEFINITIONS QT_NO_KEYWORDS
|
||||
)
|
||||
|
||||
SET(rtabmap_ros_lib_src
|
||||
${rtabmap_ros_lib_src}
|
||||
SET(rtabmap_plugins_lib_src
|
||||
${rtabmap_plugins_lib_src}
|
||||
src/rviz/MapCloudDisplay.cpp
|
||||
src/rviz/MapGraphDisplay.cpp
|
||||
src/rviz/InfoDisplay.cpp
|
||||
@@ -281,18 +288,30 @@ ENDIF(rviz_FOUND)
|
||||
############################
|
||||
## Declare a cpp library
|
||||
############################
|
||||
add_library(rtabmap_sync
|
||||
${rtabmap_sync_lib_src}
|
||||
)
|
||||
add_library(rtabmap_ros
|
||||
${rtabmap_ros_lib_src}
|
||||
)
|
||||
add_library(rtabmap_plugins
|
||||
${rtabmap_plugins_lib_src}
|
||||
)
|
||||
|
||||
target_link_libraries(rtabmap_sync
|
||||
rtabmap_ros
|
||||
)
|
||||
target_link_libraries(rtabmap_ros
|
||||
${Libraries}
|
||||
${OGRE_LIBRARIES}
|
||||
)
|
||||
target_link_libraries(rtabmap_plugins
|
||||
rtabmap_ros
|
||||
)
|
||||
IF(Qt5_FOUND)
|
||||
QT5_USE_MODULES(rtabmap_ros Widgets Core Gui)
|
||||
QT5_USE_MODULES(rtabmap_plugins Widgets Core Gui)
|
||||
ENDIF(Qt5_FOUND)
|
||||
add_dependencies(rtabmap_ros ${${PROJECT_NAME}_EXPORTED_TARGETS})
|
||||
add_dependencies(rtabmap_plugins ${${PROJECT_NAME}_EXPORTED_TARGETS})
|
||||
|
||||
add_executable(rtabmap src/CoreNode.cpp)
|
||||
target_link_libraries(rtabmap ${Libraries})
|
||||
@@ -348,7 +367,7 @@ set_target_properties(rtabmap_stereo_camera PROPERTIES OUTPUT_NAME "stereo_camer
|
||||
|
||||
IF(RTABMAP_GUI)
|
||||
add_executable(rtabmapviz src/GuiNode.cpp src/GuiWrapper.cpp src/PreferencesDialogROS.cpp)
|
||||
target_link_libraries(rtabmapviz rtabmap_ros ${QT_LIBRARIES})
|
||||
target_link_libraries(rtabmapviz rtabmap_sync ${QT_LIBRARIES})
|
||||
IF(Qt5_FOUND)
|
||||
QT5_USE_MODULES(rtabmapviz Widgets Core Gui)
|
||||
ENDIF()
|
||||
@@ -365,7 +384,7 @@ target_link_libraries(rtabmap_odom_msg_to_tf rtabmap_ros)
|
||||
set_target_properties(rtabmap_odom_msg_to_tf PROPERTIES OUTPUT_NAME "odom_msg_to_tf")
|
||||
|
||||
add_executable(rtabmap_pointcloud_to_depthimage src/PointCloudToDepthImageNode.cpp)
|
||||
target_link_libraries(rtabmap_pointcloud_to_depthimage rtabmap_ros)
|
||||
target_link_libraries(rtabmap_pointcloud_to_depthimage ${Libraries})
|
||||
set_target_properties(rtabmap_pointcloud_to_depthimage PROPERTIES OUTPUT_NAME "pointcloud_to_depthimage")
|
||||
|
||||
#############
|
||||
@@ -385,7 +404,9 @@ set_target_properties(rtabmap_pointcloud_to_depthimage PROPERTIES OUTPUT_NAME "p
|
||||
## Mark executables and/or libraries for installation
|
||||
IF(RTABMAP_GUI)
|
||||
install(TARGETS
|
||||
rtabmap_ros
|
||||
rtabmap_sync
|
||||
rtabmap_ros
|
||||
rtabmap_plugins
|
||||
rtabmap
|
||||
rtabmapviz
|
||||
rtabmap_rgbd_odometry
|
||||
@@ -404,7 +425,9 @@ install(TARGETS
|
||||
)
|
||||
ELSE() # without rtabmapviz
|
||||
install(TARGETS
|
||||
rtabmap_ros
|
||||
rtabmap_sync
|
||||
rtabmap_ros
|
||||
rtabmap_plugins
|
||||
rtabmap
|
||||
rtabmap_rgbd_odometry
|
||||
rtabmap_icp_odometry
|
||||
|
||||
Reference in New Issue
Block a user