From fee3118bdd79467b6d9306e0b9d3d520549a32d0 Mon Sep 17 00:00:00 2001 From: Dirk Thomas Date: Thu, 5 Jan 2017 12:13:58 -0800 Subject: [PATCH] use rmw implementation --- rclcpp/CMakeLists.txt | 42 +++++++++++++---------------- rclcpp/package.xml | 2 +- rclcpp_lifecycle/CMakeLists.txt | 48 ++++++++++++++------------------- rclcpp_lifecycle/package.xml | 1 - 4 files changed, 39 insertions(+), 54 deletions(-) diff --git a/rclcpp/CMakeLists.txt b/rclcpp/CMakeLists.txt index 849031c..d145422 100644 --- a/rclcpp/CMakeLists.txt +++ b/rclcpp/CMakeLists.txt @@ -7,7 +7,6 @@ find_package(rcl REQUIRED) find_package(rcl_interfaces REQUIRED) find_package(rmw REQUIRED) find_package(rmw_implementation REQUIRED) -find_package(rmw_implementation_cmake REQUIRED) find_package(rosidl_generator_cpp REQUIRED) find_package(rosidl_typesupport_c REQUIRED) find_package(rosidl_typesupport_cpp REQUIRED) @@ -54,31 +53,24 @@ set(${PROJECT_NAME}_SRCS src/rclcpp/utilities.cpp ) -macro(target) - if(NOT target_suffix STREQUAL "") - get_rcl_information("${rmw_implementation}" "rcl${target_suffix}") - endif() - add_library(${PROJECT_NAME}${target_suffix} SHARED - ${${PROJECT_NAME}_SRCS}) - ament_target_dependencies(${PROJECT_NAME}${target_suffix} - "rcl${target_suffix}" - "rosidl_generator_cpp" - "rosidl_typesupport_cpp") +add_library(${PROJECT_NAME} SHARED + ${${PROJECT_NAME}_SRCS}) +ament_target_dependencies(${PROJECT_NAME} + "rcl" + "rosidl_generator_cpp" + "rosidl_typesupport_cpp") - # Causes the visibility macros to use dllexport rather than dllimport, - # which is appropriate when building the dll but not consuming it. - target_compile_definitions(${PROJECT_NAME}${target_suffix} - PRIVATE "RCLCPP_BUILDING_LIBRARY") +# Causes the visibility macros to use dllexport rather than dllimport, +# which is appropriate when building the dll but not consuming it. +target_compile_definitions(${PROJECT_NAME} + PRIVATE "RCLCPP_BUILDING_LIBRARY") - install( - TARGETS ${PROJECT_NAME}${target_suffix} - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin - ) -endmacro() - -call_for_each_rmw_implementation(target GENERATE_DEFAULT) +install( + TARGETS ${PROJECT_NAME} + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) ament_export_dependencies(ament_cmake) ament_export_dependencies(rcl) @@ -94,6 +86,8 @@ if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) ament_lint_auto_find_test_dependencies() + find_package(rmw_implementation_cmake REQUIRED) + ament_add_gtest(test_function_traits test/test_function_traits.cpp) if(TARGET test_function_traits) target_include_directories(test_function_traits PUBLIC diff --git a/rclcpp/package.xml b/rclcpp/package.xml index 9e66502..5f03209 100644 --- a/rclcpp/package.xml +++ b/rclcpp/package.xml @@ -12,7 +12,6 @@ rmw rcl_interfaces - rmw_implementation_cmake rosidl_generator_cpp rosidl_typesupport_c rosidl_typesupport_cpp @@ -30,6 +29,7 @@ ament_lint_auto ament_lint_common rmw + rmw_implementation_cmake ament_cmake diff --git a/rclcpp_lifecycle/CMakeLists.txt b/rclcpp_lifecycle/CMakeLists.txt index 2da6eb1..e74b3ec 100644 --- a/rclcpp_lifecycle/CMakeLists.txt +++ b/rclcpp_lifecycle/CMakeLists.txt @@ -10,41 +10,33 @@ endif() find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) find_package(rcl_lifecycle REQUIRED) -find_package(rmw_implementation_cmake REQUIRED) find_package(std_msgs REQUIRED) find_package(lifecycle_msgs REQUIRED) include_directories(include) -macro(targets) - get_rclcpp_information("${rmw_implementation}" "rclcpp${target_suffix}") - get_rcl_lifecycle_information("${rmw_implementation}" "rcl_lifecycle${target_suffix}") +### CPP High level library +add_library(rclcpp_lifecycle + SHARED + src/lifecycle_node.cpp + src/node_interfaces/lifecycle_node_interface.cpp + src/state.cpp + src/transition.cpp +) +ament_target_dependencies(rclcpp_lifecycle + "lifecycle_msgs" + "rcl_lifecycle" + "rclcpp") - ### CPP High level library - add_library(rclcpp_lifecycle${target_suffix} - SHARED - src/lifecycle_node.cpp - src/node_interfaces/lifecycle_node_interface.cpp - src/state.cpp - src/transition.cpp - ) - ament_target_dependencies(rclcpp_lifecycle${target_suffix} - "lifecycle_msgs" - "rcl_lifecycle${target_suffix}" - "rclcpp${target_suffix}") +# Causes the visibility macros to use dllexport rather than dllimport, +# which is appropriate when building the dll but not consuming it. +target_compile_definitions(rclcpp_lifecycle PRIVATE "RCLCPP_LIFECYCLE_BUILDING_DLL") - # Causes the visibility macros to use dllexport rather than dllimport, - # which is appropriate when building the dll but not consuming it. - target_compile_definitions(rclcpp_lifecycle${target_suffix} PRIVATE "RCLCPP_LIFECYCLE_BUILDING_DLL") - - install(TARGETS - rclcpp_lifecycle${target_suffix} - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin) -endmacro() - -call_for_each_rmw_implementation(targets GENERATE_DEFAULT) +install(TARGETS + rclcpp_lifecycle + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin) if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) diff --git a/rclcpp_lifecycle/package.xml b/rclcpp_lifecycle/package.xml index 7eea88c..ebb1858 100644 --- a/rclcpp_lifecycle/package.xml +++ b/rclcpp_lifecycle/package.xml @@ -13,7 +13,6 @@ rclcpp rcl_lifecycle rmw_implementation - rmw_implementation_cmake rosidl_default_generators std_msgs lifecycle_msgs