rosidl icon indicating copy to clipboard operation
rosidl copied to clipboard

[META] Decouple interface generation pipeline from CMake

Open hidmic opened this issue 3 years ago • 25 comments

Feature request

Feature description

As it stands, the rosidl interface generation pipeline is strongly coupled with CMake, and in particular with ament_cmake machinery. There's no easy way for external projects using different build systems (or build systems' generators) to generate their own interfaces, or provide their own generators and/or type support packages, but to delegate to a CMake project.

Pushing as much logic and data (e.g. expected output from any given script) into reusable libraries and scripts would greatly ease integration with other build systems. Most code generation already takes place in separate Python scripts that could be used as a starting point.

In addition to that, though orthogonal, making type support dynamic loading machinery optional may further simplify the process for users that do not need such functionality.

hidmic avatar Dec 22 '20 18:12 hidmic