Skip to content

Commit 2d32b93

Browse files
replace 'ament_target_dependencies' macro
1 parent f8ba537 commit 2d32b93

1 file changed

Lines changed: 74 additions & 34 deletions

File tree

orbbec_camera/CMakeLists.txt

Lines changed: 74 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -110,26 +110,8 @@ set(COMMON_INCLUDE_DIRS
110110
$<INSTALL_INTERFACE:include> ${ORBBEC_INCLUDE_DIR} ${OpenCV_INCLUDED_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/tools
111111
)
112112

113-
set(COMMON_LIBRARIES
114-
${ORBBEC_SDK_LIBRARIES}
115-
${OpenCV_LIBS}
116-
Eigen3::Eigen
117-
-lOrbbecSDK
118-
-L${ORBBEC_LIBS_DIR}
119-
Threads::Threads
120-
-lrt
121-
-ldw
122-
yaml-cpp
123-
OpenSSL::Crypto
113+
set(EXTRA_TARGETS
124114
)
125-
if(USE_RK_HW_DECODER)
126-
list(APPEND COMMON_LIBRARIES ${RK_MPP_LIBRARIES} ${RGA_LIBRARIES})
127-
128-
endif()
129-
130-
if(USE_NV_HW_DECODER)
131-
list(APPEND COMMON_LIBRARIES ${NV_LIBRARIES})
132-
endif()
133115

134116
set(SOURCE_FILES
135117
src/d2c_viewer.cpp
@@ -150,15 +132,16 @@ if(USE_RK_HW_DECODER)
150132
add_definitions(-DUSE_RK_HW_DECODER)
151133
list(APPEND SOURCE_FILES src/rk_mpp_decoder.cpp)
152134
list(APPEND COMMON_INCLUDE_DIRS ${RK_MPP_INCLUDE_DIRS} ${RGA_INCLUDE_DIRS})
153-
list(APPEND COMMON_LIBRARIES ${RGA_LIBRARIES} ${RK_MPP_LIBRARIES})
135+
list(APPEND EXTRA_TARGETS ${RGA_LIBRARIES} ${RK_MPP_LIBRARIES})
154136
if(NOT RGA_FOUND)
155-
list(APPEND COMMON_LIBRARIES -lyuv)
137+
list(APPEND EXTRA_TARGETS yuv)
156138
endif()
157139
endif()
158140

159141
if(USE_NV_HW_DECODER)
160142
list(APPEND SOURCE_FILES src/jetson_nv_decoder.cpp)
161143
list(APPEND COMMON_INCLUDE_DIRS ${JETSON_MULTI_MEDIA_API_INCLUDE_DIR} ${LIBJPEG8B_INCLUDE_DIR})
144+
list(APPEND EXTRA_TARGETS ${NV_LIBRARIES})
162145
# append jetson_multimedia_api source files
163146
list(
164147
APPEND
@@ -181,16 +164,41 @@ endif()
181164
macro(add_orbbec_executable TARGET SOURCE)
182165
add_executable(${TARGET} ${SOURCE})
183166
target_include_directories(${TARGET} PUBLIC ${COMMON_INCLUDE_DIRS})
184-
target_link_libraries(${TARGET} ${COMMON_LIBRARIES} ${PROJECT_NAME})
185-
ament_target_dependencies(${TARGET} ${dependencies})
167+
target_link_directories(${TARGET} PRIVATE
168+
${ORBBEC_LIBS_DIR}
169+
)
170+
target_link_libraries(${TARGET}
171+
${OpenCV_LIBS}
172+
${PROJECT_NAME}
173+
OrbbecSDK
174+
yaml-cpp
175+
)
186176
endmacro()
187177

188178
# Define library and nodes
189179
add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES})
190180

191-
ament_target_dependencies(${PROJECT_NAME} ${dependencies})
192-
target_include_directories(${PROJECT_NAME} PUBLIC ${COMMON_INCLUDE_DIRS})
193-
target_link_libraries(${PROJECT_NAME} ${COMMON_LIBRARIES})
181+
target_include_directories(${PROJECT_NAME} PUBLIC ${COMMON_INCLUDE_DIRS} ${image_publisher_INCLUDE_DIRS})
182+
target_link_libraries(${PROJECT_NAME}
183+
${OpenCV_LIBS}
184+
${orbbec_camera_msgs_TARGETS}
185+
${sensor_msgs_TARGETS}
186+
${std_srvs_TARGETS}
187+
ament_index_cpp::ament_index_cpp
188+
camera_info_manager::camera_info_manager
189+
cv_bridge::cv_bridge
190+
diagnostic_updater::diagnostic_updater
191+
Eigen3::Eigen
192+
image_transport::image_transport
193+
message_filters::message_filters
194+
OpenSSL::Crypto
195+
OrbbecSDK
196+
rclcpp::rclcpp
197+
rclcpp_components::component
198+
tf2::tf2
199+
tf2_ros::tf2_ros
200+
${EXTRA_TARGETS}
201+
)
194202

195203
rclcpp_components_register_node(
196204
${PROJECT_NAME} PLUGIN "orbbec_camera::OBCameraNodeDriver" EXECUTABLE orbbec_camera_node
@@ -217,24 +225,56 @@ install(
217225

218226
add_library(frame_latency SHARED tools/frame_latency.cpp)
219227
target_include_directories(frame_latency PUBLIC ${COMMON_INCLUDE_DIRS})
220-
target_link_libraries(frame_latency ${COMMON_LIBRARIES})
221-
ament_target_dependencies(frame_latency ${dependencies})
228+
target_link_libraries(frame_latency
229+
${orbbec_camera_msgs_TARGETS}
230+
${sensor_msgs_TARGETS}
231+
${tf2_msgs_TARGETS}
232+
diagnostic_updater::diagnostic_updater
233+
rclcpp::rclcpp
234+
rclcpp_components::component
235+
)
222236

223237
rclcpp_components_register_node(frame_latency PLUGIN "orbbec_camera::FrameLatencyNode" EXECUTABLE frame_latency_node)
224238

225239
add_library(start_benchmark SHARED tools/start_benchmark.cpp)
226-
target_include_directories(start_benchmark PUBLIC ${COMMON_INCLUDE_DIRS})
227-
target_link_libraries(start_benchmark ${COMMON_LIBRARIES})
228-
ament_target_dependencies(start_benchmark ${dependencies})
240+
target_include_directories(start_benchmark PUBLIC ${COMMON_INCLUDE_DIRS} ${image_publisher_INCLUDE_DIRS})
241+
target_link_libraries(start_benchmark
242+
${OpenCV_LIBS}
243+
${orbbec_camera_msgs_TARGETS}
244+
${sensor_msgs_TARGETS}
245+
${std_srvs_TARGETS}
246+
camera_info_manager::camera_info_manager
247+
diagnostic_updater::diagnostic_updater
248+
Eigen3::Eigen
249+
image_transport::image_transport
250+
rclcpp::rclcpp
251+
rclcpp_components::component
252+
tf2_ros::tf2_ros
253+
)
229254

230255
rclcpp_components_register_node(
231256
start_benchmark PLUGIN "orbbec_camera::tools::StartBenchmark" EXECUTABLE start_benchmark_node
232257
)
233258

234259
add_library(multi_save_rgbir SHARED tools/multi_save_rgbir.cpp src/utils.cpp)
235-
target_include_directories(multi_save_rgbir PUBLIC ${COMMON_INCLUDE_DIRS})
236-
target_link_libraries(multi_save_rgbir ${COMMON_LIBRARIES})
237-
ament_target_dependencies(multi_save_rgbir ${dependencies})
260+
target_include_directories(multi_save_rgbir PUBLIC ${COMMON_INCLUDE_DIRS} ${image_publisher_INCLUDE_DIRS})
261+
target_link_libraries(multi_save_rgbir
262+
${OpenCV_LIBS}
263+
${orbbec_camera_msgs_TARGETS}
264+
${sensor_msgs_TARGETS}
265+
${std_srvs_TARGETS}
266+
camera_info_manager::camera_info_manager
267+
cv_bridge::cv_bridge
268+
diagnostic_updater::diagnostic_updater
269+
Eigen3::Eigen
270+
image_transport::image_transport
271+
OpenSSL::Crypto
272+
OrbbecSDK
273+
rclcpp::rclcpp
274+
rclcpp_components::component
275+
tf2::tf2
276+
tf2_ros::tf2_ros
277+
)
238278

239279
rclcpp_components_register_node(
240280
multi_save_rgbir PLUGIN "orbbec_camera::tools::MultiCameraSubscriber" EXECUTABLE multi_save_rgbir_node

0 commit comments

Comments
 (0)