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