ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
What Lorenz says is right, to answer in a different way: It is always a bug to not declare a dependency, even if on your system, it is not needed. A package should be compilable on all systems, not just your system.
The reason why you do not need the dependency in your CMakeLists,txt is because catkin merges all workspace projects into one. so if one project inyour workspace calls find_package(genmsg), all workspace projects (configured after this project), will also have access to genmsg.
Some may consider this a design flaw in catkin, because people may forget to declare such dependencies because of that.