cmake_minimum_required(VERSION 3.10)

项目名称

project(ros_cpp_node)

编译选项

add_compile_options(-std=c++17)

搜索系统包,一般ros的包都在这里添加

find_package(
rclcpp REQUIRED
)

当前项目的头文件搜索路径,系统路径是默认的,无需添加 include会默认搜索CMakeLists.txt所在的同级目录下名为include的文件夹

include_directories(
include
${rclcpp_INCLUDE_DIRS}
)

自动搜索指定目录下所有后缀为.cc .hpp .cpp .cxx的文件作为源文件,并存入SOURCE(可自定义名称)变量中 PROJECT_SOURCE_DIR为CMakeLists.txt文件所在路径,${PROJECT_SOURCE_DIR}是CMake语法,表示使用PROJECT_SOURCE_DIR这个变量的值

aux_source_directory(${PROJECT_SOURCE_DIR} SOURCE)

设置可执行文件名,并指定源文件

add_executable(ros_cpp_node
${SOURCE}
)

设置可执行文件的以来库,即g++语法中的-lXXX 选项

target_link_libraries(ros_cpp_node
${rclcpp_LIBRARIES}
)