Skip to content

Commit 62fea75

Browse files
authored
Merge pull request #370 from mxgrey/distro_workspace
Allow ros2_rust to be built within a distro's colcon workspace
2 parents 27bc355 + b0d8e35 commit 62fea75

File tree

4 files changed

+9
-70
lines changed

4 files changed

+9
-70
lines changed

rclrs/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
<build_depend>libclang-dev</build_depend>
1717
<build_depend>rosidl_runtime_rs</build_depend>
18-
<build_depend>rcl</build_depend>
18+
<depend>rcl</depend>
1919
<depend>builtin_interfaces</depend>
2020
<depend>rcl_interfaces</depend>
2121
<depend>rosgraph_msgs</depend>

rosidl_generator_rs/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ ament_index_register_resource("rosidl_runtime_packages")
2222
ament_python_install_package(${PROJECT_NAME})
2323

2424
ament_package(
25-
CONFIG_EXTRAS "rosidl_generator_rs-extras.cmake.in"
26-
"cmake/rosidl_generator_rs_get_typesupports.cmake"
25+
CONFIG_EXTRAS
26+
"rosidl_generator_rs-extras.cmake.in"
2727
"cmake/register_rs.cmake"
2828
)
2929

rosidl_generator_rs/cmake/rosidl_generator_rs_generate_interfaces.cmake

Lines changed: 6 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
find_package(rmw_implementation_cmake REQUIRED)
16-
find_package(rmw REQUIRED)
17-
1815
if(NOT WIN32)
1916
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
2017
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
@@ -23,17 +20,8 @@ if(NOT WIN32)
2320
endif()
2421
endif()
2522

26-
# Get a list of typesupport implementations from valid rmw implementations.
27-
rosidl_generator_rs_get_typesupports(_typesupport_impls)
28-
29-
if(_typesupport_impls STREQUAL "")
30-
message(WARNING "No valid typesupport for Rust generator. Rust messages will not be generated.")
31-
return()
32-
endif()
33-
3423
set(_output_path
3524
"${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_rs/${PROJECT_NAME}")
36-
set(_generated_extension_files "")
3725
set(_generated_common_rs_files "")
3826

3927
set(_generated_msg_rs_files "")
@@ -42,10 +30,6 @@ set(_generated_srv_rs_files "")
4230
set(_has_msg FALSE)
4331
set(_has_srv FALSE)
4432

45-
foreach(_typesupport_impl ${_typesupport_impls})
46-
set(_generated_extension_${_typesupport_impl}_files "")
47-
endforeach()
48-
4933
foreach(_idl_file ${rosidl_generate_interfaces_ABS_IDL_FILES})
5034
get_filename_component(_parent_folder "${_idl_file}" DIRECTORY)
5135
get_filename_component(_parent_folder "${_parent_folder}" NAME)
@@ -75,22 +59,12 @@ if(${_has_msg})
7559
list(APPEND _generated_msg_rs_files
7660
"${_output_path}/rust/src/msg.rs"
7761
)
78-
79-
foreach(_typesupport_impl ${_typesupport_impls})
80-
list_append_unique(_generated_extension_${_typesupport_impl}_files "${_output_path}/msg_rs.ep.${_typesupport_impl}.c")
81-
list_append_unique(_generated_extension_files "${_generated_extension_${_typesupport_impl}_files}")
82-
endforeach()
8362
endif()
8463

8564
if(${_has_srv})
8665
list(APPEND _generated_srv_rs_files
8766
"${_output_path}/rust/src/srv.rs"
8867
)
89-
90-
foreach(_typesupport_impl ${_typesupport_impls})
91-
list_append_unique(_generated_extension_${_typesupport_impl}_files "${_output_path}/srv_rs.ep.${_typesupport_impl}.c")
92-
list_append_unique(_generated_extension_files "${_generated_extension_${_typesupport_impl}_files}")
93-
endforeach()
9468
endif()
9569

9670
set(_dependency_files "")
@@ -156,23 +130,18 @@ add_dependencies(${rosidl_generate_interfaces_TARGET} ${rosidl_generate_interfac
156130

157131
set_property(
158132
SOURCE
159-
${_generated_extension_files}
160133
${_generated_common_rs_files}
161134
${_generated_msg_rs_files}
162135
${_generated_srv_rs_files}
163136
PROPERTY GENERATED 1)
164137

165138
set(_rsext_suffix "__rsext")
166-
foreach(_typesupport_impl ${_typesupport_impls})
167-
find_package(${_typesupport_impl} REQUIRED)
168-
169-
if(NOT rosidl_generate_interfaces_SKIP_INSTALL)
170-
install(
171-
DIRECTORY "${_output_path}/rust"
172-
DESTINATION "share/${PROJECT_NAME}"
173-
)
174-
endif()
175-
endforeach()
139+
if(NOT rosidl_generate_interfaces_SKIP_INSTALL)
140+
install(
141+
DIRECTORY "${_output_path}/rust"
142+
DESTINATION "share/${PROJECT_NAME}"
143+
)
144+
endif()
176145

177146
if(BUILD_TESTING AND rosidl_generate_interfaces_ADD_LINTER_TESTS)
178147
if(

rosidl_generator_rs/cmake/rosidl_generator_rs_get_typesupports.cmake

Lines changed: 0 additions & 30 deletions
This file was deleted.

0 commit comments

Comments
 (0)