orocos-toolchain/ocl — pull request #2 by meyerj (2013-12-10 19:19:16+00:00)
Title: orocreate-pkg updates for rosbuild/catkin compatibility

This pull request collects updates for the `orocreate-pkg` utility.

The first patch only adds the `ORO_USE_ROSBUILD` variable to the generated Makefile to enforce in-source building (see https://github.com/orocos-toolchain/rtt/pull/19). The Makefile is not used by catkin, so the generated packages will still be compiled in the catkin devel-space if they are part of a catkin workspace. Also changed `INSTALL_PATH` to `ORO_DEFAULT_INSTALL_PREFIX` as a comment in `UseOROCOS-RTT.cmake` says it is only for backwards compatibility.

The following issues still need to be resolved/discussed:
* Should `orocreate-pkg` continue to create rosbuild packages (generate a `Makefile` and a `manifest.xml`) or only catkin (`package.xml`)?
* Should we only create the `package.xml` file instead of the `Makefile` and `manifest.xml` files if `orocreate-pkg` was invoked with `orocreate_pkg --catkin`? Or print a message that tells the user to delete either the `package.xml` file or `Makefile` and `manifest.xml`?
* What happens in the new `ros.import(...)` operation if both manifest files exist, `manifest.xml` and `package.xml`? The current version only looks at the `package.xml` file in this case, so updating only the `manifest.xml` has no effect on recursive package loading.
* Should we add an `--upgrade` flag that tries to upgrade a single package or a whole tree of packages created with an earlier version of `orocreate-pkg`? Currently it would only replace the Makefile with the new version based on a checksum test to find Makefiles generated by orocreate-pkg.

For full compatibility we would also have to replace all occurrences of `` in package manifests by `` or alternatively install `rtt.pc` wrappers that forward to the default target in some package (equally for all packages in orocos_toolchain). Otherwise rosbuild/rospack will fail to find the compile flags and libraries for these packages in 2.7.