@@ -46,6 +46,7 @@ add_library(${PROJECT_NAME} SHARED
4646 src/web_video_server.cpp
4747 src/multipart_stream.cpp
4848 src/streamer.cpp
49+ src/subscriber.cpp
4950 src/utils.cpp
5051)
5152
@@ -61,14 +62,15 @@ target_link_libraries(${PROJECT_NAME}
6162 async_web_server_cpp::async_web_server_cpp
6263 pluginlib::pluginlib
6364 rclcpp::rclcpp
65+ ${sensor_msgs_TARGETS}
6466 rmw::rmw
6567 Boost::boost
6668 PRIVATE
6769 rclcpp_components::component
6870)
6971
7072add_library (${PROJECT_NAME } _streamers SHARED
71- src/streamers/image_transport_streamer .cpp
73+ src/streamers/image_streamer .cpp
7274 src/streamers/libav_streamer.cpp
7375 src/streamers/h264_streamer.cpp
7476 src/streamers/jpeg_streamers.cpp
@@ -92,7 +94,6 @@ target_link_libraries(${PROJECT_NAME}_streamers
9294 ${PROJECT_NAME }
9395 async_web_server_cpp::async_web_server_cpp
9496 cv_bridge::cv_bridge
95- image_transport::image_transport
9697 pluginlib::pluginlib
9798 rclcpp::rclcpp
9899 ${sensor_msgs_TARGETS}
@@ -104,6 +105,25 @@ target_link_libraries(${PROJECT_NAME}_streamers
104105 ${swscale_LIBRARIES}
105106)
106107
108+ add_library (${PROJECT_NAME } _subscribers SHARED
109+ src/subscribers/image_transport_subscriber.cpp
110+ )
111+
112+ target_include_directories (${PROJECT_NAME } _subscribers
113+ PUBLIC
114+ "$<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } /include >"
115+ "$<INSTALL_INTERFACE :include /${PROJECT_NAME } >"
116+ )
117+
118+ target_link_libraries (${PROJECT_NAME } _subscribers
119+ ${PROJECT_NAME }
120+ async_web_server_cpp::async_web_server_cpp
121+ image_transport::image_transport
122+ pluginlib::pluginlib
123+ rclcpp::rclcpp
124+ ${sensor_msgs_TARGETS}
125+ )
126+
107127## Declare a cpp executable
108128add_executable (${PROJECT_NAME } _node
109129 src/web_video_server_node.cpp
@@ -115,7 +135,8 @@ target_link_libraries(${PROJECT_NAME}_node
115135
116136rclcpp_components_register_nodes (${PROJECT_NAME } "web_video_server::WebVideoServer" )
117137
118- pluginlib_export_plugin_description_file (web_video_server plugins.xml )
138+ pluginlib_export_plugin_description_file (web_video_server streamer_plugins.xml )
139+ pluginlib_export_plugin_description_file (web_video_server subscriber_plugins.xml )
119140
120141#############
121142## Install ##
@@ -127,7 +148,7 @@ install(
127148)
128149
129150install (
130- TARGETS ${PROJECT_NAME } ${PROJECT_NAME } _streamers
151+ TARGETS ${PROJECT_NAME } ${PROJECT_NAME } _streamers ${ PROJECT_NAME } _subscribers
131152 EXPORT export_${PROJECT_NAME }
132153 LIBRARY DESTINATION lib
133154 ARCHIVE DESTINATION lib
0 commit comments