4 ms·
he said that most of ROS 1 was engineered before any of today's well known frameworks were available , hence the lot of custom tools. catkin is built on top of
by krona 8y ago
he said that most of ROS 1 was engineered before any of today's well known frameworks were available , hence the lot of custom tools.
catkin is built on top of CMake, so that's no excuse.
- Davidbrcz 8y agoA robot is made of dozen, if not hundreds of packages. catkin compiles the whole workspace in a single command while dealing with non trivial build dependency between packages, and generates a ready to deploy folder. CMake has its drawbacks, fair enough, but 10 years ago it was pretty much already the de facto standard build system for C++. What would have used instead of CMake ? - Make and autotools (Haha) ? - scons ? - completely custom build system ? - something else ? The most painful I had to deal with was my teammates who, instead of creating a brand new package, would simply copy and paste and existing one without fixing the dependencies, resulting in a build that fails if the workspace was cleared.
- protomikron 8y ago> A robot is made of dozen, if not hundreds of packages. catkin compiles the whole workspace [...] s/robot/software Why even have the concept of a `workspace`? I don't think it solves any problem. Most bigger software projects are built on-top of other software, but most deal with it without having to implement their own build system. I know that CMake is established software, but despite its own horrendous scripting language I find it mostly useful if you want to build cross-platform native software - if you're going to run on Linux anyway, I think there is no point for this indirection. > - Make and autotools (Haha) ? You might laugh about these tools, but they build most of your userspace if you're on Linux. And yes they even work on distributions other than Ubuntu.