Skip to main content

Build ROS 2 packages with xmake

Replace CMakeLists.txt with clean, readable xmake.lua — full ament integration, rosidl support, and CMake interoperability.

Plug-and-Play Build

add_rules("ament_xmake.package") replaces CMakeLists.txt. One rule handles package metadata, ament index, and CMake Config export.

Automatic Dependency Resolution

add_ros_deps("rclcpp") recursively resolves include directories, compile definitions, and link flags from the ament index.

Full rosidl Support

Define .msg, .srv, and .action files — the pipeline generates C/C++ code, typesupport libraries, and CMake exports automatically.

Projects

colcon-xmake

colcon plugin adding xmake build/test support for ROS 2 packages.

ament_xmake

ROS 2 ament rule package for xmake-based packages.

ros2_xmake_examples

Example packages and E2E integration tests.

colcon-fish

Fish shell completions for colcon.