Hi,
I’m trying to implement a new RMW. I successfully created a packages with the following structure but ament don’t recognise it as a rmw implementation.
rmw_tinq
|-- rmw_tinq_cpp
|-- CMakeLists.txt
|-- packages.xml
|-- src
|-- functions.cpp
My CMakeList.txt have I think all the required dependencies:
find_package(rmw REQUIRED)
find_package(rosidl_generator_c REQUIRED)
find_package(rosidl_generator_cpp REQUIRED)
find_package(rosidl_typesupport_introspection_c REQUIRED)
find_package(rosidl_typesupport_introspection_cpp REQUIRED)
...
configure_rmw_library(rmw_tinq_cpp)
....
register_rmw_implementation(
"c:rosidl_typesupport_c:rosidl_typesupport_introspection_c"
"cpp:rosidl_typesupport_cpp:rosidl_typesupport_introspection_cpp")
and same for my package.xml :
<build_depend>rmw</build_depend>
<build_depend>rosidl_generator_c</build_depend>
<build_depend>rosidl_generator_cpp</build_depend>
<build_depend>rosidl_generator_dds_idl</build_depend>
<build_depend>rosidl_typesupport_introspection_c</build_depend>
<build_depend>rosidl_typesupport_introspection_cpp</build_depend>
<build_export_depend>rcutils</build_export_depend>
<build_export_depend>rmw</build_export_depend>
<build_export_depend>rosidl_generator_c</build_export_depend>
<build_export_depend>rosidl_generator_cpp</build_export_depend>
<build_export_depend>rosidl_typesupport_introspection_c</build_export_depend>
<build_export_depend>rosidl_typesupport_introspection_cpp</build_export_depend>
But when I try to build with ament, my rmw package is build after rmw_implementation, and rmw_implementation failed :
CMake Error at /data/loumay01/cortex_M/ros2/install/share/rmw_implementation_cmake/cmake/get_default_rmw_implementation.cmake:62 (message):
Could not find ROS middleware implementation 'NOTFOUND'. Choose one of the
following:
Call Stack (most recent call first):
CMakeLists.txt:28 (get_default_rmw_implementation)
Any ideas on what is missing here ?