rosin-project / rxros

Reactive programming for ROS
BSD 3-Clause "New" or "Revised" License
48 stars 6 forks source link

rxros headers should be pushed down into package ns #10

Closed gavanderhoorn closed 5 years ago

gavanderhoorn commented 5 years ago

ROS 1 best practice is to place public headers in <$pkg_dir>/include/<$pkg_name>.

In the catkin_package(..) call, the headers are then exported by specifying INCLUDE_DIRS include (where include is relative to <$pkg_dir>).

Right now, the public header rxros.h is located in the base <$pkg_dir>/include directory.

Upon installation, rxros.h will be located in <$install_space_dir>/include/<$pkg_name> (because of this line), but that directory is not on the include path (as Catkin will automatically export that location).

Suggestion: push it down into the <$pkg_name> sub directory: this will conform to best practices, and will make things work both in devel spaces as well as in install spaces.

gavanderhoorn commented 5 years ago

This would require dependent pkgs to update their #include statements to #include <rxros/rxros.h> (from #include <rxros.h>).

gavanderhoorn commented 5 years ago

The other headers should probably also be placed in the include/rxros sub dir.

gavanderhoorn commented 5 years ago

Implemented in #14.

gavanderhoorn commented 5 years ago

Fixed in #14 and rosin-project/rxros_examples#1.