Search code examples
cmakerosdebcpack

Remove Catkin artifacts from CPack build


I am trying to build a Debian package using CPack from a catkin workspace. This project uses ROS in some part of the implementation.

The package gets build, but the problem I'm having is that ROS adds some files to the .deb.

  • .catkin
  • local/.rosinstall
  • local/env.sh
  • local/setup.{sh,bash,zsh}
  • local/_setup_util.py

I'm thinking there's got to be a way to either ignore those files from installing, or simply remove them from the .deb output, but I can't seem to find any option for it.

The CMake configuration looks like this:

    INSTALL(TARGETS ${PROJECT_NAME}_node  DESTINATION bin)
    INSTALL(FILES doc/${PROJECT_NAME}.yaml DESTINATION share)
    INSTALL(FILES doc/${PROJECT_NAME}.service DESTINATION lib/systemd/system)

    SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Maintainer")
    SET(CPACK_GENERATOR "DEB")

Solution

  • I asked the question in answer.ros as well. Short answer: add -DCATKIN_BUILD_BINARY_PACKAGE=1 to catkin_make.

    or SET(CATKIN_BUILD_BINARY_PACKAGE true) in CMakeLists.txt