ros-infrastructure / bloom

A release automation tool which makes releasing catkin (http://ros.org/wiki/catkin) packages easier.
Other
58 stars 91 forks source link

support meson #690

Open christianrauch opened 1 year ago

christianrauch commented 1 year ago

Trying to bloom a meson package locally via bloom-generate rosdebian fails with: Build type 'meson' is not supported by this version of bloom..

Since the release of colcon-meson as Debian package python3-colcon-meson, we should be able to build meson packages on the build farm. I assume that currently, only the association of

<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
  [...]
  <buildtool_depend>python3-colcon-meson</buildtool_depend>
  [...]
  <export>
    <build_type>meson</build_type>
  </export>
</package>

to the build tool is missing.

Can someone point me to where this has to be added or how I can make bloom use python3-colcon-meson otherwise?

wjwwood commented 1 year ago

Others will probably give you more info than me, but I saw this while looking for another issue just now.

The build farm doesn't use colcon, as it builds each package one at a time. So it doesn't matter what colcon supports, but we have to shoehorn this into the packaging system for each Linux distribution (or other OSes) we support, e.g. here are some templates we use for various build types on debian platforms:

https://github.com/ros-infrastructure/bloom/tree/master/bloom/generators/debian/templates

There are similar ones for rhel.

christianrauch commented 1 year ago

After digging into the source code I also found that everything only depends on the templates and that those use the build systems directly without colcon. I created a meson template in https://github.com/ros-infrastructure/bloom/pull/691 which is mostly derived from the cmake template with adaptations for meson.