2011/1/12 Stéphane Magnenat : > Hello, > > It happens often that one has a ROS-independent library and a campanion > ROS wrapper. Ideally, one would like a seamless integration of this > library with ROS while still allowing people without ROS to compile the > library. In your opinion, what is the best practice? Is it to have a > library in its own repository and the ROS wrapper to fetch it locally, > or should the library be in the ROS stack with a parallel build system > for ROSless usage? The former is a bit complex but the later requires > two build paths for the library, and obfuscates the build for people not > using ROS. The former is the more common practice in use and best understood. While it is complex in forcing separation of the wrapper and the library, it does have its benefits. In particular, it decouples versioning issues. In a ROS package, you generally are trying to track a ROS distribution version. This may mean that you need to decouple releases of the standalone library from the ROS package in order to maintain compatibility. The ROS package may track an older version of the standalone library, for example. In the long-term, we are moving towards making the ROS build system smaller and closer to CMake proper so as to not have as much of a gap between 'ROS' and 'ROSless' usage. For ROS Diamondback, the 'ros' package will be just be ~5 megabytes. An install target would also bring us much closer to this goal and is in the works for ROS E Turtle. HTH, Ken > Thank you, kind regards, > > Stéphane > > -- > Dr Stéphane Magnenat > http://stephane.magnenat.net > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users >