Will declaring a metapackage dependency pull all children packages.
I have meta package structured like so
catkin_ws/src/vision_common/
vision_common/ (a subpackage in the package)
vision_msgs/
vision_3d/
I want to use the vision_msgs in another package. Is it sufficient to do <run_depend>vision_common</run_depend>
and
generate_messages(
DEPENDENCIES
vision_msgs
)
In the other package? I'm running into trouble with the following error:
CMake Error at /home/vision/catkin_ws/build/planning_common/cmake/planning_common-genmsg.cmake:3 (message):
Could not find messages which
'/home/vision/catkin_ws/src/planning_common/srv/SimplePlanningSrv.srv'
depends on. Did you forget to specify generate_messages(DEPENDENCIES ...)?
Cannot locate message [ParametricObjectMsg]: unknown package
[vision_common] on search path [{{'household_objects_database_msgs':
['/opt/ros/groovy/share/household_objects_database_msgs/msg'],
'shape_msgs': ['/opt/ros/groovy/share/shape_msgs/msg'], 'vision_msgs':
['/home/vision/catkin_ws/src/vision_common/vision_msgs/msg'],
'std_msgs': ['/opt/ros/groovy/share/std_msgs/msg'], 'moveit_msgs':
['/opt/ros/groovy/share/moveit_msgs/msg'], 'trajectory_msgs':
['/opt/ros/groovy/share/trajectory_msgs/msg'], 'sensor_msgs':
['/opt/ros/groovy/share/sensor_msgs/msg'], 'object_recognition_msgs':
['/opt/ros/groovy/share/object_recognition_msgs/msg'], 'octomap_msgs':
['/opt/ros/groovy/share/octomap_msgs/msg'], 'manipulation_msgs':
['/opt/ros/groovy/share/manipulation_msgs/msg'], 'geometry_msgs':
['/opt/ros/groovy/share/geometry_msgs/msg'], 'actionlib_msgs':
['/opt/ros/groovy/share/actionlib_msgs/msg'], 'control_msgs':
['/opt/ros/groovy/share/control_msgs/msg'], 'diagnostic_msgs':
['/opt/ros/groovy/share/diagnostic_msgs/msg']}}]
Call Stack (most recent call first):
/opt/ros/groovy/share/genmsg/cmake/genmsg-extras.cmake:280 (include)
planning_common/CMakeLists.txt:28 (generate_messages)