replace 'ament_target_dependencies' macro

This commit is contained in:
Christian Rauch
2026-07-24 10:53:27 +02:00
parent 293cd7bbb0
commit 8d34a65f82
+76 -34
View File
@@ -114,26 +114,8 @@ set(COMMON_INCLUDE_DIRS
$<INSTALL_INTERFACE:include> ${ORBBEC_INCLUDE_DIR} ${OpenCV_INCLUDED_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/tools
)
set(COMMON_LIBRARIES
${ORBBEC_SDK_LIBRARIES}
${OpenCV_LIBS}
Eigen3::Eigen
-lOrbbecSDK
-L${ORBBEC_LIBS_DIR}
Threads::Threads
-lrt
-ldw
yaml-cpp
OpenSSL::Crypto
set(EXTRA_TARGETS
)
if(USE_RK_HW_DECODER)
list(APPEND COMMON_LIBRARIES ${RK_MPP_LIBRARIES} ${RGA_LIBRARIES})
endif()
if(USE_NV_HW_DECODER)
list(APPEND COMMON_LIBRARIES ${NV_LIBRARIES})
endif()
set(SOURCE_FILES
src/d2c_viewer.cpp
@@ -154,15 +136,16 @@ if(USE_RK_HW_DECODER)
add_definitions(-DUSE_RK_HW_DECODER)
list(APPEND SOURCE_FILES src/rk_mpp_decoder.cpp)
list(APPEND COMMON_INCLUDE_DIRS ${RK_MPP_INCLUDE_DIRS} ${RGA_INCLUDE_DIRS})
list(APPEND COMMON_LIBRARIES ${RGA_LIBRARIES} ${RK_MPP_LIBRARIES})
list(APPEND EXTRA_TARGETS ${RGA_LIBRARIES} ${RK_MPP_LIBRARIES})
if(NOT RGA_FOUND)
list(APPEND COMMON_LIBRARIES -lyuv)
list(APPEND EXTRA_TARGETS yuv)
endif()
endif()
if(USE_NV_HW_DECODER)
list(APPEND SOURCE_FILES src/jetson_nv_decoder.cpp)
list(APPEND COMMON_INCLUDE_DIRS ${JETSON_MULTI_MEDIA_API_INCLUDE_DIR} ${LIBJPEG8B_INCLUDE_DIR})
list(APPEND EXTRA_TARGETS ${NV_LIBRARIES})
# append jetson_multimedia_api source files
list(
APPEND
@@ -185,16 +168,42 @@ endif()
macro(add_orbbec_executable TARGET SOURCE)
add_executable(${TARGET} ${SOURCE})
target_include_directories(${TARGET} PUBLIC ${COMMON_INCLUDE_DIRS})
target_link_libraries(${TARGET} ${COMMON_LIBRARIES} ${PROJECT_NAME})
ament_target_dependencies(${TARGET} ${dependencies})
target_link_directories(${TARGET} PRIVATE
${ORBBEC_LIBS_DIR}
)
target_link_libraries(${TARGET}
${OpenCV_LIBS}
${PROJECT_NAME}
OrbbecSDK
yaml-cpp
)
endmacro()
# Define library and nodes
add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES})
ament_target_dependencies(${PROJECT_NAME} ${dependencies})
target_include_directories(${PROJECT_NAME} PUBLIC ${COMMON_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${COMMON_LIBRARIES})
target_include_directories(${PROJECT_NAME} PUBLIC ${COMMON_INCLUDE_DIRS} ${image_publisher_INCLUDE_DIRS})
target_link_directories(${PROJECT_NAME} PRIVATE ${ORBBEC_LIBS_DIR})
target_link_libraries(${PROJECT_NAME}
${OpenCV_LIBS}
${orbbec_camera_msgs_TARGETS}
${sensor_msgs_TARGETS}
${std_srvs_TARGETS}
ament_index_cpp::ament_index_cpp
camera_info_manager::camera_info_manager
cv_bridge::cv_bridge
diagnostic_updater::diagnostic_updater
Eigen3::Eigen
image_transport::image_transport
message_filters::message_filters
OpenSSL::Crypto
OrbbecSDK
rclcpp::rclcpp
rclcpp_components::component
tf2::tf2
tf2_ros::tf2_ros
${EXTRA_TARGETS}
)
rclcpp_components_register_node(
${PROJECT_NAME} PLUGIN "orbbec_camera::OBCameraNodeDriver" EXECUTABLE orbbec_camera_node
@@ -221,24 +230,57 @@ install(
add_library(frame_latency SHARED tools/frame_latency.cpp)
target_include_directories(frame_latency PUBLIC ${COMMON_INCLUDE_DIRS})
target_link_libraries(frame_latency ${COMMON_LIBRARIES})
ament_target_dependencies(frame_latency ${dependencies})
target_link_libraries(frame_latency
${orbbec_camera_msgs_TARGETS}
${sensor_msgs_TARGETS}
${tf2_msgs_TARGETS}
diagnostic_updater::diagnostic_updater
rclcpp::rclcpp
rclcpp_components::component
)
rclcpp_components_register_node(frame_latency PLUGIN "orbbec_camera::FrameLatencyNode" EXECUTABLE frame_latency_node)
add_library(start_benchmark SHARED tools/start_benchmark.cpp)
target_include_directories(start_benchmark PUBLIC ${COMMON_INCLUDE_DIRS})
target_link_libraries(start_benchmark ${COMMON_LIBRARIES})
ament_target_dependencies(start_benchmark ${dependencies})
target_include_directories(start_benchmark PUBLIC ${COMMON_INCLUDE_DIRS} ${image_publisher_INCLUDE_DIRS})
target_link_libraries(start_benchmark
${OpenCV_LIBS}
${orbbec_camera_msgs_TARGETS}
${sensor_msgs_TARGETS}
${std_srvs_TARGETS}
camera_info_manager::camera_info_manager
diagnostic_updater::diagnostic_updater
Eigen3::Eigen
image_transport::image_transport
rclcpp::rclcpp
rclcpp_components::component
tf2_ros::tf2_ros
)
rclcpp_components_register_node(
start_benchmark PLUGIN "orbbec_camera::tools::StartBenchmark" EXECUTABLE start_benchmark_node
)
add_library(multi_save_rgbir SHARED tools/multi_save_rgbir.cpp src/utils.cpp)
target_include_directories(multi_save_rgbir PUBLIC ${COMMON_INCLUDE_DIRS})
target_link_libraries(multi_save_rgbir ${COMMON_LIBRARIES})
ament_target_dependencies(multi_save_rgbir ${dependencies})
target_include_directories(multi_save_rgbir PUBLIC ${COMMON_INCLUDE_DIRS} ${image_publisher_INCLUDE_DIRS})
target_link_directories(multi_save_rgbir PRIVATE ${ORBBEC_LIBS_DIR})
target_link_libraries(multi_save_rgbir
${OpenCV_LIBS}
${orbbec_camera_msgs_TARGETS}
${sensor_msgs_TARGETS}
${std_srvs_TARGETS}
camera_info_manager::camera_info_manager
cv_bridge::cv_bridge
diagnostic_updater::diagnostic_updater
Eigen3::Eigen
image_transport::image_transport
OpenSSL::Crypto
OrbbecSDK
rclcpp::rclcpp
rclcpp_components::component
tf2::tf2
tf2_ros::tf2_ros
)
rclcpp_components_register_node(
multi_save_rgbir PLUGIN "orbbec_camera::tools::MultiCameraSubscriber" EXECUTABLE multi_save_rgbir_node