Эх сурвалжийг харах

[fix] 修改了cmake中安装依赖的方式

yangfan41 8 сар өмнө
parent
commit
2dc628391a

+ 18 - 13
saturn_controller/CMakeLists.txt

@@ -15,6 +15,7 @@ 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)
@@ -24,25 +25,29 @@ 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
+rclcpp
+rclcpp_components
+ysc_robot_msgs
+daystar_navigation_msgs
+saturn_msgs
 )
 
 include_directories(./sdk/include)
 include_directories(./include)
 
-message(COMMAND echo "The current binary directory is: ${CMAKE_CURRENT_BINARY_DIR}")
-#file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../install/saturn_controller/lib)
-#file(COPY ./sdk/lib/x86_64/libmc_client.so DESTINATION 
-#  ${CMAKE_CURRENT_BINARY_DIR}/../../install/saturn_controller/lib/)
-install(DIRECTORY ./sdk/lib/x86_64/
-  DESTINATION lib
-)
 
-link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../install/saturn_controller/lib) 
+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")
+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")
+endif()
+
+link_directories(${SDK_PATH})
+install(DIRECTORY ${SDK_PATH}
+DESTINATION lib
+)
 
 file(GLOB main_files src/*.cpp)