cmvr-es/cmvr-es/controller/CMakeLists.txt

69 lines
1.7 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

find_package(VISP REQUIRED)
# 如果报 relocation ... can not be used when making a shared object; recompile with -fPIC 说明SRC 中包含了test文件 test
# 中链接 -lgtest -lgtest_main ,这是静态库,导致 libcontroller.so 被迫依赖 gtest。
# 所以 add_library(controller SHARED
# src/controller_creator.cpp
# src/pid_controller.cpp
# ❌ 不要把 src/controller_test.cpp 放进来
#) 其他动态库类似
file(GLOB SRC
${CMAKE_CURRENT_SOURCE_DIR}/src/pid_controller.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/ibvs_controller.cpp
)
add_library(controller SHARED ${SRC})
target_include_directories(controller PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(controller PUBLIC
protobuf
cmvr_es::ik_solver
cmvr_es::device::humanoid_robot
gtest
gtest_main
pthread
glog
cmvr_es::proto
ccd
fcl
cmvr_es::device_manager
${VISP_LIBRARIES}
pinocchio_default
pinocchio_parsers
)
add_library(cmvr_es::controller ALIAS controller)
# --------------------------------------------------------
# Unit test
# --------------------------------------------------------
find_package(realsense2 REQUIRED)
add_executable(controller_test
${CMAKE_CURRENT_SOURCE_DIR}/src/controller_test.cpp
)
target_link_libraries(controller_test
PRIVATE
cmvr_es::utils
cmvr_es::ik_solver
cmvr_es::planner
cmvr_es::proto
cmvr_es::mujoco_viewer
cmvr_es::controller
cmvr_es::device::mujoco_camera
gtest
gtest_main
pthread
glog
${VISP_LIBRARIES}
realsense2::realsense2
)