ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

answered 2013-12-16 01:56:48 -0500

joq gravatar image

When managing a large workspace, it gets awkward having to rebuild massive amounts of code every time you change one of the CMakeLists.txt files. I don't do anything as large as your source setup, but this works reasonably well for me:

  1. Keep packages you are actively working on in a separate catkin workspace, overlaying to the main one.

  2. Use wstool update to bring the latest sources into a given workspace, then rebuild it.

When managing a large workspace, it gets awkward having to rebuild massive amounts of code every time you change one of the CMakeLists.txt files. I don't do anything as large as your source setup, but this works reasonably well for me:

  1. Keep packages you are actively working on in a separate catkin workspace, overlaying to the main one.

  2. Use wstool update to bring the latest sources into a given workspace, then rebuild it.

UPDATE: When building things from source in a catkin workspace, I normally run from that workspace. I generally only make install to verify that all the necessary files are being copied before releasing a package to the build farm.

  1. A command like wstool set robot_model --version-new robot_model-1.7.1 will change an existing checkout to a different branch or tag. If needed, do that before running wstool update.

When managing a large workspace, it gets awkward having to rebuild massive amounts of code every time you change one of the CMakeLists.txt files. I don't do anything as large as your source setup, but this works reasonably well for me:

  1. Keep packages you are actively working on in a separate catkin workspace, overlaying to the main one.

  2. Use wstool update to bring the latest sources into a given workspace, then rebuild it.

UPDATE: When building things from source in a catkin workspace, I normally run from that workspace. I generally only make install to verify that all the necessary files are being copied before releasing a package to the build farm.

    • A command like wstool set robot_model --version-new robot_model-1.7.1 will change an existing checkout to a different branch or tag. If needed, do that before running wstool update.