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

I think both of the options you propose are valid.

For 1): wstool is ros-agnostic; it just uses the rosinstall file to ensure that the repositories listed there are checked out and up to date. (rosinstall is similar, but it also invokes rosbuild after doing the checkout, which makes it unsuitable for what you're trying to do).

From what I remember, catkin_make isn't designed to build pure cmake packages (I think it requires a package.xml or catkin_package calls in cmake), but you can build a workspace containing both catkin and non-catkin cmake packages using catkin_make_isolated or catkin build.

For 2): catkin_make is ROS-agnostic; it's just a convenience wrapper around cmake, and it accepts all of the same flags that cmake does. I haven't tried it, but it should work fine with a cmake toolchain file. Note that since you would be building all of your packages in a single workspace, it won't be possible to pass different toolchain files to different packages.

I think both of the options you propose are valid.

For 1): wstool is ros-agnostic; it just uses the rosinstall file to ensure that the repositories listed there are checked out and up to date. (rosinstall is similar, but it also invokes rosbuild after doing the checkout, which makes it unsuitable for what you're trying to do).

From what I remember, catkin_make isn't designed to build pure cmake packages (I think it (it requires that each package have a package.xml or catkin_package calls in cmake), package.xml), but you can build a workspace containing both catkin and non-catkin cmake packages using catkin_make_isolated or catkin build.

For 2): catkin_make is ROS-agnostic; it's just a convenience wrapper around cmake, and it accepts all of the same flags that cmake does. I haven't tried it, but it should work fine with a cmake toolchain file. Note that since you would be building all of your packages in a single workspace, it won't be possible to pass different toolchain files to different packages.