initial commit
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
project(m20_sdk_deploy)
|
||||
|
||||
# 设置C++标准
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# 默认构建类型
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
endif()
|
||||
# 警告忽略和编译选项
|
||||
add_definitions(-w)
|
||||
add_compile_options(-fPIC)
|
||||
|
||||
# 配置选项
|
||||
set(BUILD_PLATFORM "x86" CACHE STRING "Target platform (x86 or arm)")
|
||||
|
||||
if(BUILD_PLATFORM STREQUAL "arm")
|
||||
set(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc")
|
||||
set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")
|
||||
endif()
|
||||
|
||||
# 查找依赖包
|
||||
find_package(ament_cmake REQUIRED)
|
||||
find_package(rclcpp REQUIRED)
|
||||
find_package(drdds REQUIRED)
|
||||
|
||||
set(THIRD_PARTY ${CMAKE_CURRENT_SOURCE_DIR}/third_party)
|
||||
|
||||
include_directories(
|
||||
include/types
|
||||
include/utils
|
||||
interface/robot
|
||||
interface/user_command
|
||||
interface/network
|
||||
state_machine
|
||||
run_policy
|
||||
${THIRD_PARTY}/eigen/
|
||||
${THIRD_PARTY}/gamepad/include
|
||||
${THIRD_PARTY}/onnxruntime/${BUILD_PLATFORM}/include
|
||||
)
|
||||
|
||||
# 子目录
|
||||
add_subdirectory(interface)
|
||||
|
||||
# Keep the default RUNPATH behavior so a correctly sourced ROS environment can
|
||||
# override stale build-machine library paths when necessary.
|
||||
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
|
||||
|
||||
set(CMAKE_INSTALL_RPATH
|
||||
${THIRD_PARTY}/onnxruntime/${BUILD_PLATFORM}/lib/
|
||||
../lib/onnxruntime/
|
||||
)
|
||||
|
||||
file(GLOB_RECURSE STATE_MACHINE_SRC "state_machine/*.c*")
|
||||
|
||||
add_executable(rl_deploy main.cpp ${STATE_MACHINE_SRC})
|
||||
|
||||
add_library(onnxruntime SHARED IMPORTED)
|
||||
set_target_properties(onnxruntime PROPERTIES IMPORTED_LOCATION "${THIRD_PARTY}/onnxruntime//${BUILD_PLATFORM}/lib/libonnxruntime.so")
|
||||
|
||||
ament_target_dependencies(rl_deploy
|
||||
rclcpp
|
||||
drdds
|
||||
)
|
||||
if(BUILD_PLATFORM STREQUAL "arm")
|
||||
target_link_libraries(rl_deploy
|
||||
interface
|
||||
onnxruntime
|
||||
-lpthread
|
||||
-lm
|
||||
-lrt
|
||||
-ldl
|
||||
-lstdc++
|
||||
)
|
||||
else()
|
||||
target_link_libraries(rl_deploy
|
||||
interface
|
||||
onnxruntime
|
||||
-lpthread
|
||||
-lm
|
||||
-lrt
|
||||
-ldl
|
||||
-lstdc++
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
install(TARGETS rl_deploy
|
||||
DESTINATION lib/${PROJECT_NAME}
|
||||
)
|
||||
|
||||
ament_package()
|
||||
Reference in New Issue
Block a user