Workspace layout question: ros-agnostic parts in or out of the ros packages?
Hi all,
I have a question regarding ros-agnostic code parts in ROS packages. I have some parts of code I heavily use in my ROS nodes but they do not necessarily need the ROS components e. g. rosccp, rospy, msg srv or other ROS packages. By now I have them in separate libs in the catkin_packages and call into them from my ROS nodes (which handle the message etc. stuff) via their API.
Now i would like to use them ROS and plattform agnostic but having the code under a common version control (in the end ideally with automatic tests for all plattforms). I have cmake tool chain files for all target plattforms of the ros-agnostic code parts.
Now what would be the appropriate way to have this? I think I'd have 2 options!? :
- Create a separate CMake project for ros-agnostic parts, compile using tool chain files, and for ROS include the CMake projects using find_package()##### Doubts: Would it still be possible to use rosinstall/wstool for checking out/updating these projects? Would it be possible to invoke the cmake only build of these projects when calling catkin_make, or would I have to do some own scripting for that?
- Have even those ros-agnostic code parts in the catkin packages and call a catkin_make with a cmake tool chain file for the ros-agnostic catkin packages.##### Doubts: How ros agnostic is catkin? Is it possible to call catkin_make with a cmake tool chain file?
Thank you in advance
Edit 31.01.2015: Still an issue if anyone has thoughts about this;)