86 lines
2.1 KiB
CMake
86 lines
2.1 KiB
CMake
|
||
#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_vs
|
||
visp_visual_features
|
||
visp_vision
|
||
visp_tt_mi
|
||
visp_tt
|
||
visp_me
|
||
visp_mbt
|
||
visp_klt
|
||
visp_dnn_tracker
|
||
visp_blob
|
||
visp_sensor
|
||
visp_robot
|
||
visp_io
|
||
visp_imgproc
|
||
visp_gui
|
||
visp_detection
|
||
visp_core
|
||
visp_ar
|
||
pinocchio_default
|
||
pinocchio_parsers
|
||
)
|
||
|
||
add_library(cmvr_es::controller ALIAS controller)
|
||
|
||
install(TARGETS controller LIBRARY DESTINATION lib)
|
||
|
||
|
||
# --------------------------------------------------------
|
||
# 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
|
||
)
|