![]() ![]() ![]() The tool relies on meta information about the packages to determine their dependencies and their build type. a tool to invoke the build of individual packages in their topological order.CMake, Python setuptools) to configure, build, and install a single package amentĪment is a meta build system to improve building applications which are split into separate packages. The word ament is actually a synonym of catkin.įor more information about the differences please read below. Where these tools lack built-in support for what ROS needs to do, the additional functionality is provided by ROS. Wherever possible ROS uses standard tools, e.g. ROS mitigates that complexity with package and build system conventions as well as tools to automate the build process. The user must look at the documentation of each package to determine the dependencies, being careful to build those packages before hand, and to determine the instructions for building that package.įinally the user must build and install each package and do any environment configuration before proceeding to build the next package. In order to build a set of interdependent packages the user must build them in the correct topological order. ![]() While this comes with a lot of advantages it makes the process of building several interdependent packages more complex. In the meantime the problem due to different Python versions has been addressed in shared dependencies like catkin_pkg.Īs of ROS 2 Bouncy ament_tools has been superseded by colcon as described in the universal build tool article. The reason was that it needed to be side-by-side installable with existing ROS 1 packages which was a problem due to different targeted Python versions. When this article was originally written ament_tools was the ROS 2 specific build tool. ![]()
0 Comments
Leave a Reply. |