cmake_minimum_required() 指定catkin最低版本
project() 指定功能包的名称 与CMakeLists.txt中的需要保持一致
find_package 指定编译此功能包时需要的依赖的其他功能包 例如如果需要opencv处理图像 则需要添加cv_bridge功能包
catkin_python_setup() 打开catkin的Python Module的支持
add_message_files() 如果功能包中用户有自定义消息 则添加自定义Message文件
add_service_files() 如果功能包中用户有自定义服务 则添加自定义Service文件
add_action_files() 如果功能包中用户有自定义动作 则添加自定义Action文件
generate_message() 生成不同语言版本的msg/srv/action接口 与add_message_files()/add_service_files() /add_action_files()配合使用
catkin_package() 生成当前package的cmake配置 供依赖本包的其他软件包调用
add_library() 生成库
add_executable() 生成可执行文件
add_dependencies() 定义目标文件依赖于其他目标文件 确保其他目标已被构建
include_directories() 包含的头文件路径
target_link_libraries() 编译功能包依赖的其他库文件
catkin_add_gtest() catkin新加宏 生成测试
install() 生成可安装目录
2.自己写的ROS功能包写cpp文件一般至少需要改动的地方
add_executable(hello src/hello.cpp) target_link_libraries(hello)//映射名称需要和前面一致
3.自己写的ROS功能包写py文件一般至少需要改动的地方
catkin_insall_python():给python文件选择恰当的解释器 python3之后需要这样做



