使用命令install可以设置安装规则,指定安装目标文件的路径。安装规则可以指定可执行文件、库文件、头文件等需要安装的文件。 7. 添加子目录 如果项目包含多个模块或子项目,可以使用命令add_subdirectory来添加子目录。这样,CMake会在子目录中查找CMakeLists.txt文件并进行相应的构建。 8. 定义变量 CMakeL
4. CMAKE_INSTALL_PREFIX:指定安装目录的前缀,默认是/usr/local。可以通过设置该参数来修改安装目录。 5. CMAKE_VERBOSE_MAKEFILE:是否生成详细的Makefile,默认是关闭的。可以通过设置该参数为ON来生成详细的Makefile,方便调试。 6. CMAKE_C_STANDARD和CMAKE_CXX_STANDARD:分别用于设置C和C++的语言标准。可以设置...
CMakeLists.txt中还有一些重要的宏,如CMAKE_SOURCE_DIR,表示根CMakeLists.txt文件的绝对路径;CMAKE_BINARY_DIR,指出当前构建目录;CMAKE_INSTALL_PREFIX则是安装文件的默认位置,而CMAKE_MODULE_PATH则用于查找CMake模块。此外,CMAKE_BUILD_TYPE、CMAKE_CXX_COMPILER、CMAKE_SYSTEM_NAME等宏提供了...
在这个示例中,我们首先设置了CMake的最低版本和项目名称,然后查找了ROS2的核心组件rclcpp。接着,我们使用add_executable添加了新的可执行文件my_node,并通过ament_target_dependencies为其添加了rclcpp依赖项。最后,我们使用install将可执行文件安装到指定的目录,并通过ament_package导出了包信息。
action接口catkin_package()#catkin新加宏,生成当前package的cmake配置,供依赖本包的其他软件包调用add_library()#生成库add_executable()#生成可执行二进制文件add_dependencies()#定义目标文件依赖于其他目标文件,确保其他目标已被构建target_link_libraries()#链接catkin_add_gtest()#catkin新加宏,生成测试install()#...
install(DIRECTORY images DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} FILES_MATCHING PATTERN "*.png" PATTERN "*.svg") 2.5 package.xml package.xml也是一个catkin的package必备文件,它是这个软件包的描述文件,在较早的ROS版本(rosbuild编译系统)中,这个文件叫做manifest.xml,用于描述pacakge的基本信息。如果你...