ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
3

ament_cmake vs ament_python?

asked 2020-01-20 10:22:57 -0500

rezenders gravatar image

updated 2020-01-20 10:27:03 -0500

I just started learning ros2 and I want to create a new package, and I noticed that it is possible to create a package with 2 different build types, ament_cmake and ament_python. However, I didn't find any explanation about the difference between both, what are the advantages and disadvantages of each one? Is one meant for c++ and the other for python?

I am following this tutorial: https://index.ros.org/doc/ros2/Tutori...

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
5

answered 2020-01-20 14:47:34 -0500

marguedas gravatar image

Is one meant for c++ and the other for python?

Yes this is the main reason.

ament_cmake can be used for CMake package (usually C and C++), and provide some CMake magic to make things less verbose and more convenient to use with the ROS tools. It tells the build tool to build the package using a cmake workflow: cmake -> make -> make install. Some examples of packages available here

ament_python it is used for pure python packages and tells the build tools to use a setuptools workflow: python setup.py -> python setup.py install. Some examples of packages available here

I didn't find any explanation about the difference between both

It looks like a good area of improvement for the tutorial, as it should likely introduce these types in the introduction.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2020-01-20 10:22:57 -0500

Seen: 2,156 times

Last updated: Jan 20 '20