Răsfoiți Sursa

[fix]: 添加std_srvs依赖项

zhanghy64 5 luni în urmă
părinte
comite
d351b9b963
2 a modificat fișierele cu 28 adăugiri și 30 ștergeri
  1. 27 30
      saturn_controller/CMakeLists.txt
  2. 1 0
      saturn_controller/package.xml

+ 27 - 30
saturn_controller/CMakeLists.txt

@@ -1,68 +1,65 @@
 cmake_minimum_required(VERSION 3.10)
 project(saturn_controller)
 
-# Default to C99                                                               
-if(NOT CMAKE_C_STANDARD)                                                       
-  set(CMAKE_C_STANDARD 99)                                                     
-endif()                                                                        
-                                                                               
-# Default to C++17                                                             
-if(NOT CMAKE_CXX_STANDARD)                                                     
-  set(CMAKE_CXX_STANDARD 17)                                                   
+# Default to C99
+if(NOT CMAKE_C_STANDARD)
+  set(CMAKE_C_STANDARD 99)
+endif()
+
+# Default to C++17
+if(NOT CMAKE_CXX_STANDARD)
+  set(CMAKE_CXX_STANDARD 17)
 endif()
 
 if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
   add_compile_options(-Wall -Wextra -Wpedantic)
 endif()
 
-
 find_package(ament_cmake REQUIRED)
-find_package(rclcpp REQUIRED)
-find_package(rclcpp_components REQUIRED)
-find_package(ysc_robot_msgs REQUIRED)
-find_package(daystar_navigation_msgs REQUIRED)
-find_package(saturn_msgs REQUIRED)
 find_package(spdlog REQUIRED)
 
-set(THIS_PACKAGE_INCLUDE_DEPENDS
-rclcpp
-rclcpp_components
-ysc_robot_msgs
-daystar_navigation_msgs
-saturn_msgs
+set(ROS_DEPENDS
+  rclcpp
+  rclcpp_components
+  ysc_robot_msgs
+  daystar_navigation_msgs
+  saturn_msgs
+  std_srvs
 )
 
+foreach(pkg_name IN LISTS ROS_DEPENDS)
+  find_package(${pkg_name} REQUIRED)
+endforeach()
+
 include_directories(./sdk/include)
 include_directories(./include)
 
-
 if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
-    message(STATUS "Building for 64-bit Linux on x86_64")
-    set(SDK_PATH "${CMAKE_CURRENT_SOURCE_DIR}/sdk/lib/x86_64")
+  message(STATUS "Building for 64-bit Linux on x86_64")
+  set(SDK_PATH "${CMAKE_CURRENT_SOURCE_DIR}/sdk/lib/x86_64")
 elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
-    message(STATUS "Building for 64-bit Linux on ARM64")
-    set(SDK_PATH "${CMAKE_CURRENT_SOURCE_DIR}/sdk/lib/arm")
+  message(STATUS "Building for 64-bit Linux on ARM64")
+  set(SDK_PATH "${CMAKE_CURRENT_SOURCE_DIR}/sdk/lib/arm")
 endif()
 
 link_directories(${SDK_PATH})
 install(DIRECTORY ${SDK_PATH}/
-DESTINATION lib/
+  DESTINATION lib/
 )
 
 file(GLOB main_files src/*.cpp)
 
 add_library(saturn_controller_component SHARED src/saturn_controller.cpp ${main_files})
 target_link_libraries(saturn_controller_component spdlog::spdlog -lmc_client)
-ament_target_dependencies(saturn_controller_component ${THIS_PACKAGE_INCLUDE_DEPENDS})
+ament_target_dependencies(saturn_controller_component ${ROS_DEPENDS})
 rclcpp_components_register_nodes(saturn_controller_component "saturn_ros2::SaturnController")
 
-
-install(TARGETS 
+install(TARGETS
   saturn_controller_component
   ARCHIVE DESTINATION lib
   LIBRARY DESTINATION lib
   RUNTIME DESTINATION lib/${PROJECT_NAME}/
-  )
+)
 
 install(DIRECTORY
   include/

+ 1 - 0
saturn_controller/package.xml

@@ -21,6 +21,7 @@
   <depend>saturn_msgs</depend>
   <depend>nav_msgs</depend>
   <depend>std_msgs</depend>
+  <depend>std_srvs</depend>
   <depend>daystar_navigation_msgs</depend>
   <depend>ysc_robot_msgs</depend>