News for hackers. Stuff that matters.
Re:Robot Operating System – A flexible framework for writing... by krona on Thursday September 06, 2018 @08:43AM (#17925794)
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.

Re:Robot Operating System – A flexible framework for writing... by Davidbrcz on Thursday September 06, 2018 @09:10AM (#17925951)
A 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.
Re:Robot Operating System – A flexible framework for writing... by protomikron on Thursday September 06, 2018 @09:53AM (#17926253)
> 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.