Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

First (and I feel this is important): this is not a Catkin-specific problem or piece of functionality. The install(..) statement is part of regular CMake, and we just make use of it in our CMakeLists.txt. Only the DESTINATION argument has a Catkin-specific value, but install(..) would work with any path (it would just not install the launch files in the 'correct' (for ROS anyway) location).

As for your question: installing "launch files [or other resources]" (ie: not programs, libraries or headers) is documented on the ROS Wiki under wiki/catkin/CMakeLists.txt - Optional Step: Specifying Installable Targets - Installing roslaunch Files or Other Resources:

Other resources like launchfiles can be installed to ${CATKIN_PACKAGE_SHARE_DESTINATION}:

install(DIRECTORY launch/
  DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
  PATTERN ".svn" EXCLUDE)

The PATTERN ".svn" EXCLUDE only makes sense if you actually use Subversion as your VCS. In other cases you can leave it out.

Note that this installs an entire directory, which could not be what you want. Installing individual files is also possible, see the CMake documentation for install(..) for details.