You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently rosidl installs generated headers to "include/${PROJECT_NAME}/${PROJECT_NAME}" and calls ament_export_include_directories("include/${PROJECT_NAME}") to export the parent of install destination.
Would it be possible to give developers more control over these paths?
E.g rosidl_generate_interfaces(${PROJECT_NAME} INSTALL_ROOT "include" ...)
Example case
Consider an ament package with the default structure of ros2 pkg create
If there would be an option to specify install path (i.e. override include/${PROJECT_NAME}/${PROJECT_NAME} with include/${PROJECT_NAME}), one could create a cleaner install structure:
include/my_package/
my_header.h
msg/
srv/
I understand, that one could use the SKIP_INSTALL option of rosidl_generate_interfaces, but then replicating the install steps is tedious.
I also realize, that the unique directory was needed due to #670
Thank you for your comments & thoughts in advance.
The text was updated successfully, but these errors were encountered:
Feature request
Feature description
Currently
rosidl
installs generated headers to"include/${PROJECT_NAME}/${PROJECT_NAME}"
and callsament_export_include_directories("include/${PROJECT_NAME}")
to export the parent of install destination.Would it be possible to give developers more control over these paths?
E.g
rosidl_generate_interfaces(${PROJECT_NAME} INSTALL_ROOT "include" ...)
Example case
Consider an ament package with the default structure of
ros2 pkg create
And the simplest install & export directives in
CMakeLists.txt
corresponding to exporting all headers of the package:so that other packages may access
"my_package/my_header.h"
.When generated interfaces are added using
rosidl_generate_interfaces
, the resulting installation structure looks like this:If there would be an option to specify install path (i.e. override
include/${PROJECT_NAME}/${PROJECT_NAME}
withinclude/${PROJECT_NAME}
), one could create a cleaner install structure:I understand, that one could use the
SKIP_INSTALL
option ofrosidl_generate_interfaces
, but then replicating the install steps is tedious.I also realize, that the unique directory was needed due to #670
Thank you for your comments & thoughts in advance.
The text was updated successfully, but these errors were encountered: