What is the purpose of catkin_package provided there is target_link_libraries and target_include_directories?
In https://answers.ros.org/question/5849..., it says that catkin_package will guide catkin to add directories into the current package's _INCLUDE_DIRS and _LIBRARIES variables so that dependent packages don't have to find current packages' dependency.
This is some feature that can be achieved through the PUBLIC tag of target_link_libraries and target_include_directories functions.
What's the purpose or benefits of using catkin_package? Does it provide some convenient stuff like catkin_INCLUDE_DIRS variable?