Build files for stacks

For release purposes, a stack must contain two files in its top-level directory:

  • Makefile, with the following, single line:

    include $(shell rospack find mk)/cmake_stack.mk
  • CMakeLists.txt, with content like the following:

    cmake_minimum_required(VERSION 2.4.6)
    include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
    rosbuild_make_distribution(0.2.0)

    As opposed to the CMake code used for a package, there's just one call here, to rosbuild_make_distribution, which takes the version of the stack as a single argument.

To build a source distribution of the stack, do this in the stack directory:

make package_source

You'll get a tarball of your stack in the same directory. This should be done in a fresh checkout, to avoid including build artifacts and other unwanted files in the tarball. It is preferred to use tools that automate release process (e.g., Willow Garage maintains a private set of tools for this purpose).

Wiki: StackBuildFiles (last edited 2010-01-13 03:55:05 by BrianGerkey)