Catkin-ROS build-support plan

Target versions

These changes are for Toolchain >= 2.7.0 + ROS >= Hydro

Goals

Support building in these workflows:

  • Autoproj managed builds (Rock-style)
    • depends on: manifest.xml for meta-build info.
    • Rock users don't use the UseOrocos.cmake macros since their CMakeLists +pc files get generated anyway by orogen.
  • CMake managed builds (every-package-its-own-build-dir-style)
    • depends on: pkg-config files to track linking+includes
    • Uses the UseOrocos.cmake file, autolinking is done by parsing manifest.xml file
  • ROSbuild managed builds
    • depends on: manifest.xml file, rosbuild cmake macros read it and .pc files, Orocos cmake macros read it to link properly (no build flags from manifest file !)
    • Will only be used if the user explicitly called rosbuild_init() in his top-level CMakeLists.txt
  • Catkin managed builds
    • depends on: package.xml file, Orocos generated pkg-config files
    • The Catkin .pc files will be generated but ignored by us (?)
    • No Auto linking
    • We'll also generated .pc files in the devel path during the cmake run

Effects on (Runtime) Environment

  • Deployer's import ?
  • ROS Deb packages ?
  • Orocos Deb packages ?

CMake changes or new macros

  • Auto linking
  • orocos_use_package()
  • orocos_find_package()
  • orocos_generate_package()