Skip to content
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

Switch tf2_eigen to use package.xml format 2. #216

Merged
merged 2 commits into from
Mar 27, 2017
Merged

Switch tf2_eigen to use package.xml format 2. #216

merged 2 commits into from
Mar 27, 2017

Conversation

clalancette
Copy link
Contributor

This is to modernize it a bit to make it more compatible
with ROS 2. While we are in here, remove the run/exec dependency
on cmake_modules, which doesn't seem to be needed at runtime.

Signed-off-by: Chris Lalancette [email protected]

This is to modernize it a bit to make it more compatible
with ROS 2.  While we are in here, remove the run/exec dependency
on cmake_modules, which doesn't seem to be needed at runtime.

Signed-off-by: Chris Lalancette <[email protected]>
Copy link
Member

@tfoote tfoote left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update. I see two small tweaks needed to make sure to export the build depends.

<run_depend>geometry_msgs</run_depend>
<run_depend>tf2</run_depend>
<run_depend>cmake_modules</run_depend>
<exec_depend>geometry_msgs</exec_depend>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

geometry_msgs and tf2 also needs the <build_export_depend> because of the includes in the headers. http://docs.ros.org/kinetic/api/catkin/html/howto/format2/migrating_from_format_1.html#run-depend

But since they overlap with the build depends it can be collapsed to just a <depend> .

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, good point. Will fix that.

@@ -8,13 +8,13 @@
<license>BSD</license>

<buildtool_depend>catkin</buildtool_depend>

<build_depend>cmake_modules</build_depend>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs <build_export_depend> too since it's in the header and will be needed downstream.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain this a bit further so I understand? From what I can tell, tf2_eigen.h includes:

#include <tf2/convert.h>
#include <Eigen/Geometry>
#include <geometry_msgs/PointStamped.h>
#include <geometry_msgs/PoseStamped.h>

So all of those would need build_export_depend (as you point out below). Why would we also need to build_export_depend cmake_modules?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you're right. All the EIGEN variables will be evaluated so it won't need them downstream.

This makes sure they are exec_depend, build_depend, and
build_export_depend, all three of which are needed.  Also
make eigen a build_export_depend, since it is included in
the exported header file.

Signed-off-by: Chris Lalancette <[email protected]>
@tfoote tfoote merged commit 00c7ea7 into ros:indigo-devel Mar 27, 2017
@clalancette clalancette deleted the package-xml-format-2 branch March 27, 2017 21:25
@clalancette
Copy link
Contributor Author

Thanks :).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants