-
Notifications
You must be signed in to change notification settings - Fork 523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix installation of moveit_ros_control_interface header files #789
Fix installation of moveit_ros_control_interface header files #789
Conversation
Codecov Report
@@ Coverage Diff @@
## main #789 +/- ##
=======================================
Coverage 55.58% 55.58%
=======================================
Files 198 198
Lines 21420 21420
=======================================
Hits 11904 11904
Misses 9516 9516 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@@ -76,10 +76,11 @@ EXPORT export_${PROJECT_NAME} | |||
ARCHIVE DESTINATION lib | |||
LIBRARY DESTINATION lib | |||
RUNTIME DESTINATION bin | |||
INCLUDES DESTINATION include |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we actually need this .?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wasn't able to get the expected result without that, but I haven't dug into why exactly that is yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked this again, and it looks like it's actually the other way around. The install
function needs to have the INCLUDES DESTINATION include
line for the headers to be found by other packages, so the line here is needed but the other one can be deleted. (I assume this has something to do with exporting information about the library headers in CMake).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
afaik, this doesn't really install the headers but it only makes them available for the target. This should not be necessary, if the headers are actually installed in the right path, adding this is line is still correct.
32214d8
to
fd22eab
Compare
) | ||
|
||
## Mark cpp header files for installation | ||
install(DIRECTORY include/${PROJECT_NAME}/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Usually, we would use install(DIRECTORY include/ DESTINATION include)
. Otherwise, the headers will not be inside the projects path when you call #include <project_name/header.h>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I'll revert the change that deleted this line and push up again. I didn't do a clean build for this package when I was testing my change, which I realized means that changes to what was installed weren't reflected by the state of the built workspace.
This reverts commit fd22eab.
Description
The header files for the
moveit_ros_control_interface::ControllerHandleAllocator
class are not installed correctly, which prevents the creation of new controller handle plugins in packages other than the mainmoveit_ros_control_interface
package (for example, if someone has created a custom controller and want to execute trajectories with it using the TrajectoryExecutionManager). This PR fixes that.Checklist