Why do we need to add generators for messages, services and actions, but only generate messages (in the CMakeLists.txt file)?
In the following article http://wiki.ros.org/catkin/CMakeLists... , it is stated that, for a package to be correctly built, we must follow a certain format for the CMakeLists.txt
file. In particular, point 5 is
Message/Service/Action Generators (add_message_files(), add_service_files(), add_action_files())
and point 6 is
Invoke message/service/action generation (generate_messages())
I have no idea what these generators are. What are they exactly? Why do we need them?
Furthermore, I infer that we first need to add generators for messages, services and actions. Later, eventually, we can also generate messages. I have no idea what the difference between creating a generator for messages and generating messages is. Why do we need these two separate steps? Why don't we also have generate_services
or generate_actions
(even though the documentation says "Invoke message/service/ action generation")? Why on earth do we even need to have generators or generate files related to messages, services and actions?