这个是package.xml的依赖项
<license>Apache-2.0</license>
<buildtool_depend>ament_cmake</buildtool_depend>
<depend>curl</depend>
<depend>python3-yaml</depend>
<!-- these are needed to build fastrtps -->
<buildtool_depend>asio</buildtool_depend>
<buildtool_depend>tinyxml2</buildtool_depend>
<!-- end fastrtps deps -->
<depend>clang-tidy</depend>
<build_depend>flex</build_depend>
<build_depend>bison</build_depend>
<build_depend>libncurses-dev</build_depend>
<build_depend>usbutils</build_depend>
<exec_depend>python3-vcstool</exec_depend>
<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>
<export>
这个是Cmakelists.txt的依赖项
find dependencies
find_package(ament_cmake REQUIRED)
uncomment the following section in order to fill in
further dependencies manually.
find_package(<dependency> REQUIRED)
if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
the following line skips the linter which checks for copyrights
uncomment the line when a copyright and license is not present in all source files
#set(ament_cmake_copyright_FOUND TRUE)
the following line skips cpplint (only works in a git repo)
uncomment the line when this package is not in a git repo
#set(ament_cmake_cpplint_FOUND TRUE)
ament_lint_auto_find_test_dependencies()
endif()
可以看出来package.xml的依赖项远远多于cmakelists.txt依赖项,并不是一样的。
解释:cmakelists.txt只负责编译有关的依赖,其他无关不用管,package.xml包含了所有的依赖项,所以cmakelist依赖包含于package.xml依赖