Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix dependencies in tf2_ros. #269

Merged
merged 1 commit into from
Jun 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 62 additions & 28 deletions tf2_ros/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,26 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
endif()

find_package(ament_cmake REQUIRED)
find_package(builtin_interfaces REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(message_filters REQUIRED)
find_package(rcl_interfaces REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rclcpp_action REQUIRED)
find_package(rclcpp_components REQUIRED)
find_package(tf2 REQUIRED)
find_package(tf2_msgs REQUIRED)

set(dependencies
builtin_interfaces
geometry_msgs
message_filters
rclcpp
rclcpp_action
tf2
tf2_msgs
)

# tf2_ros library
add_library(${PROJECT_NAME} SHARED
src/buffer.cpp
Expand All @@ -32,12 +44,7 @@ target_include_directories(${PROJECT_NAME} PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:include>")
ament_target_dependencies(${PROJECT_NAME}
"geometry_msgs"
"message_filters"
"rclcpp"
"rclcpp_action"
"tf2"
"tf2_msgs"
${dependencies}
)

target_compile_definitions(${PROJECT_NAME} PRIVATE "TF2_ROS_BUILDING_DLL")
Expand All @@ -48,12 +55,24 @@ target_link_libraries(buffer_server
${PROJECT_NAME}
)
ament_target_dependencies(buffer_server
${dependencies}
)

add_library(static_transform_broadcaster_node SHARED
src/static_transform_broadcaster_node.cpp
)
target_compile_definitions(static_transform_broadcaster_node PRIVATE "STATIC_TRANSFORM_BROADCASTER_BUILDING_DLL")
target_include_directories(static_transform_broadcaster_node PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:include>")
target_link_libraries(static_transform_broadcaster_node ${PROJECT_NAME})
ament_target_dependencies(static_transform_broadcaster_node
"geometry_msgs"
"rclcpp"
"rclcpp_action"
"tf2"
"rclcpp_components"
"tf2_msgs"
)
rclcpp_components_register_nodes(static_transform_broadcaster_node "tf2_ros::StaticTransformBroadcasterNode")

# static_transform_publisher
add_executable(static_transform_publisher
Expand All @@ -66,33 +85,20 @@ target_link_libraries(static_transform_publisher
ament_target_dependencies(static_transform_publisher
"geometry_msgs"
"rclcpp"
"tf2"
"tf2_msgs"
)

add_library(static_transform_broadcaster_node SHARED
src/static_transform_broadcaster_node.cpp
)
target_compile_definitions(static_transform_broadcaster_node PRIVATE "STATIC_TRANSFORM_BROADCASTER_BUILDING_DLL")
target_include_directories(static_transform_broadcaster_node PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:include>")
target_link_libraries(static_transform_broadcaster_node ${PROJECT_NAME})
ament_target_dependencies(static_transform_broadcaster_node
"geometry_msgs"
"rclcpp"
"rclcpp_components"
"tf2_msgs"
)
rclcpp_components_register_nodes(static_transform_broadcaster_node "tf2_ros::StaticTransformBroadcasterNode")

add_executable(tf2_echo
src/tf2_echo.cpp
)
target_link_libraries(tf2_echo
${PROJECT_NAME}
)
ament_target_dependencies(tf2_echo
"geometry_msgs"
"rclcpp"
"tf2"
)

add_executable(tf2_monitor
Expand All @@ -102,8 +108,7 @@ target_link_libraries(tf2_monitor
${PROJECT_NAME}
)
ament_target_dependencies(tf2_monitor
"rclcpp"
"tf2_msgs"
${dependencies}
)

# Install rules
Expand Down Expand Up @@ -138,37 +143,62 @@ install(DIRECTORY include/${PROJECT_NAME}/
if(BUILD_TESTING)
find_package(ament_cmake_gtest REQUIRED)
ament_add_gtest(test_buffer test/test_buffer.cpp)
ament_target_dependencies(test_buffer
${dependencies}
)
target_link_libraries(test_buffer ${PROJECT_NAME})

ament_add_gtest(test_buffer_server test/test_buffer_server.cpp)
ament_target_dependencies(test_buffer_server
${dependencies}
)
target_link_libraries(test_buffer_server ${PROJECT_NAME})

ament_add_gtest(test_buffer_client test/test_buffer_client.cpp)
ament_target_dependencies(test_buffer_client
${dependencies}
)
target_link_libraries(test_buffer_client ${PROJECT_NAME})

# Adds a tf2_ros message_filter unittest that uses
# multiple target frames and a non-zero time tolerance
ament_add_gtest(${PROJECT_NAME}_test_message_filter test/message_filter_test.cpp)
ament_target_dependencies(${PROJECT_NAME}_test_message_filter
${dependencies}
)
target_link_libraries(${PROJECT_NAME}_test_message_filter ${PROJECT_NAME})

ament_add_gtest(${PROJECT_NAME}_test_transform_listener test/test_transform_listener.cpp)
ament_target_dependencies(${PROJECT_NAME}_test_transform_listener
${dependencies}
)
target_link_libraries(${PROJECT_NAME}_test_transform_listener ${PROJECT_NAME})

ament_add_gtest(${PROJECT_NAME}_test_static_transform_broadcaster test/test_static_transform_broadcaster.cpp)
ament_target_dependencies(${PROJECT_NAME}_test_static_transform_broadcaster
rclcpp
)
target_link_libraries(${PROJECT_NAME}_test_static_transform_broadcaster ${PROJECT_NAME})

ament_add_gtest(${PROJECT_NAME}_test_transform_broadcaster test/test_transform_broadcaster.cpp)
ament_target_dependencies(${PROJECT_NAME}_test_transform_broadcaster
rclcpp
)
target_link_libraries(${PROJECT_NAME}_test_transform_broadcaster ${PROJECT_NAME})

ament_add_gtest(${PROJECT_NAME}_test_time_reset test/time_reset_test.cpp)
ament_target_dependencies(${PROJECT_NAME}_test_time_reset
rclcpp
${dependencies}
rosgraph_msgs
)
target_link_libraries(${PROJECT_NAME}_test_time_reset ${PROJECT_NAME})

ament_add_gtest(${PROJECT_NAME}_test_listener test/listener_unittest.cpp)
ament_target_dependencies(${PROJECT_NAME}_test_listener
builtin_interfaces
geometry_msgs
rclcpp
tf2
)
target_link_libraries(${PROJECT_NAME}_test_listener ${PROJECT_NAME})

Expand All @@ -177,5 +207,9 @@ endif()
ament_export_include_directories(include)
ament_export_libraries(${PROJECT_NAME} static_transform_broadcaster_node)
ament_export_targets(${PROJECT_NAME} static_transform_broadcaster_node)
ament_export_dependencies(geometry_msgs message_filters rclcpp rclcpp_action rclcpp_components tf2 tf2_msgs)
ament_export_dependencies(
${dependencies}
rcl_interfaces
rclcpp_components
)
ament_package()
2 changes: 2 additions & 0 deletions tf2_ros/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,10 @@

<buildtool_depend>ament_cmake</buildtool_depend>

<depend>builtin_interfaces</depend>
<depend>geometry_msgs</depend>
<depend>message_filters</depend>
<depend>rcl_interfaces</depend>
<depend>rclcpp</depend>
<depend>rclcpp_action</depend>
<depend>rclcpp_components</depend>
Expand Down