diff --git a/rclrs/package.xml b/rclrs/package.xml
index 800ccd632..12acc5831 100644
--- a/rclrs/package.xml
+++ b/rclrs/package.xml
@@ -15,7 +15,7 @@
libclang-dev
rosidl_runtime_rs
- rcl
+ rcl
builtin_interfaces
rcl_interfaces
rosgraph_msgs
diff --git a/rosidl_generator_rs/CMakeLists.txt b/rosidl_generator_rs/CMakeLists.txt
index 64e5577a4..fd7d1c135 100644
--- a/rosidl_generator_rs/CMakeLists.txt
+++ b/rosidl_generator_rs/CMakeLists.txt
@@ -22,8 +22,8 @@ ament_index_register_resource("rosidl_runtime_packages")
ament_python_install_package(${PROJECT_NAME})
ament_package(
- CONFIG_EXTRAS "rosidl_generator_rs-extras.cmake.in"
- "cmake/rosidl_generator_rs_get_typesupports.cmake"
+ CONFIG_EXTRAS
+ "rosidl_generator_rs-extras.cmake.in"
"cmake/register_rs.cmake"
)
diff --git a/rosidl_generator_rs/cmake/rosidl_generator_rs_generate_interfaces.cmake b/rosidl_generator_rs/cmake/rosidl_generator_rs_generate_interfaces.cmake
index fd48a5545..051ccd857 100644
--- a/rosidl_generator_rs/cmake/rosidl_generator_rs_generate_interfaces.cmake
+++ b/rosidl_generator_rs/cmake/rosidl_generator_rs_generate_interfaces.cmake
@@ -12,9 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-find_package(rmw_implementation_cmake REQUIRED)
-find_package(rmw REQUIRED)
-
if(NOT WIN32)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
@@ -23,17 +20,8 @@ if(NOT WIN32)
endif()
endif()
-# Get a list of typesupport implementations from valid rmw implementations.
-rosidl_generator_rs_get_typesupports(_typesupport_impls)
-
-if(_typesupport_impls STREQUAL "")
- message(WARNING "No valid typesupport for Rust generator. Rust messages will not be generated.")
- return()
-endif()
-
set(_output_path
"${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_rs/${PROJECT_NAME}")
-set(_generated_extension_files "")
set(_generated_common_rs_files "")
set(_generated_msg_rs_files "")
@@ -42,10 +30,6 @@ set(_generated_srv_rs_files "")
set(_has_msg FALSE)
set(_has_srv FALSE)
-foreach(_typesupport_impl ${_typesupport_impls})
- set(_generated_extension_${_typesupport_impl}_files "")
-endforeach()
-
foreach(_idl_file ${rosidl_generate_interfaces_ABS_IDL_FILES})
get_filename_component(_parent_folder "${_idl_file}" DIRECTORY)
get_filename_component(_parent_folder "${_parent_folder}" NAME)
@@ -75,22 +59,12 @@ if(${_has_msg})
list(APPEND _generated_msg_rs_files
"${_output_path}/rust/src/msg.rs"
)
-
- foreach(_typesupport_impl ${_typesupport_impls})
- list_append_unique(_generated_extension_${_typesupport_impl}_files "${_output_path}/msg_rs.ep.${_typesupport_impl}.c")
- list_append_unique(_generated_extension_files "${_generated_extension_${_typesupport_impl}_files}")
- endforeach()
endif()
if(${_has_srv})
list(APPEND _generated_srv_rs_files
"${_output_path}/rust/src/srv.rs"
)
-
- foreach(_typesupport_impl ${_typesupport_impls})
- list_append_unique(_generated_extension_${_typesupport_impl}_files "${_output_path}/srv_rs.ep.${_typesupport_impl}.c")
- list_append_unique(_generated_extension_files "${_generated_extension_${_typesupport_impl}_files}")
- endforeach()
endif()
set(_dependency_files "")
@@ -156,23 +130,18 @@ add_dependencies(${rosidl_generate_interfaces_TARGET} ${rosidl_generate_interfac
set_property(
SOURCE
- ${_generated_extension_files}
${_generated_common_rs_files}
${_generated_msg_rs_files}
${_generated_srv_rs_files}
PROPERTY GENERATED 1)
set(_rsext_suffix "__rsext")
-foreach(_typesupport_impl ${_typesupport_impls})
- find_package(${_typesupport_impl} REQUIRED)
-
- if(NOT rosidl_generate_interfaces_SKIP_INSTALL)
- install(
- DIRECTORY "${_output_path}/rust"
- DESTINATION "share/${PROJECT_NAME}"
- )
- endif()
-endforeach()
+if(NOT rosidl_generate_interfaces_SKIP_INSTALL)
+ install(
+ DIRECTORY "${_output_path}/rust"
+ DESTINATION "share/${PROJECT_NAME}"
+ )
+endif()
if(BUILD_TESTING AND rosidl_generate_interfaces_ADD_LINTER_TESTS)
if(
diff --git a/rosidl_generator_rs/cmake/rosidl_generator_rs_get_typesupports.cmake b/rosidl_generator_rs/cmake/rosidl_generator_rs_get_typesupports.cmake
deleted file mode 100644
index 37d3c3582..000000000
--- a/rosidl_generator_rs/cmake/rosidl_generator_rs_get_typesupports.cmake
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2016-2017 Open Source Robotics Foundation, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-macro(accumulate_typesupports)
- set(_typesupport_impl_tmp "")
- get_rmw_typesupport(_typesupport_impl_tmp ${rmw_implementation} LANGUAGE "C")
- list(APPEND _typesupport_impls_tmp ${_typesupport_impl_tmp})
-endmacro()
-
-macro(rosidl_generator_rs_get_typesupports TYPESUPPORT_IMPLS)
- set(${TYPESUPPORT_IMPLS} "")
- set(_typesupport_impls_tmp "")
- set(_typesupport_impls_tmp_unique "")
- call_for_each_rmw_implementation(accumulate_typesupports)
-
- foreach(_typesupport_impl ${_typesupport_impls_tmp})
- list_append_unique(${TYPESUPPORT_IMPLS} ${_typesupport_impl})
- endforeach()
-endmacro()