my_package/
βββ CMakeLists.txt # Sets rules to build the package so you can run ros2 run...
βββ include/
β βββ my_package/ # Directory containing the public headers for the package
βββ package.xml # File containing meta-information about the package
βββ src/ # Directory containing the source code (AKA ROS nodes) for the package
CmakeLists.txt
cmake_minimum_required(VERSION 3.8)project(my_package)if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic)endif()# find dependenciesfind_package(ament_cmake REQUIRED)find_package(rclcpp REQUIRED)find_package(std_msgs REQUIRED)if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) # the following line skips the linter which checks for copyrights # comment the line when a copyright and license is added to all source files set(ament_cmake_copyright_FOUND TRUE) # the following line skips cpplint (only works in a git repo) # comment the line when this package is in a git repo and when # a copyright and license is added to all source files set(ament_cmake_cpplint_FOUND TRUE) ament_lint_auto_find_test_dependencies()endif()ament_package()