cmvr-es/src/ik_solver/CMakeLists.txt

77 lines
1.8 KiB
CMake
Raw Normal View History

2025-11-10 16:54:06 +08:00
find_package(Eigen3 3.3 REQUIRED NO_MODULE)
find_package(osqp REQUIRED)
find_package(OsqpEigen REQUIRED)
find_package(PkgConfig REQUIRED)
find_package(fcl REQUIRED)
pkg_check_modules(TINYXML2 REQUIRED tinyxml2)
include_directories(${TINYXML2_INCLUDE_DIRS})
add_library(ik_solver STATIC
ik_solver/src/ik_solver.cpp
ik_solver/src/ik_solver_creator.cpp
opt_psi_limit_bias_solver/src/bias_srs_ik_slover.cpp
opt_psi_limit_bias_solver/src/joints_limit_analyzer.cpp
opt_psi_limit_bias_solver/src/opt_psi_limit_bias_solver.cpp
opt_psi_limit_bias_solver/src/opt_psi_selector.cpp
)
target_include_directories(ik_solver PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(ik_solver PRIVATE
Eigen3::Eigen
OsqpEigen::OsqpEigen
${TINYXML2_LIBRARIES}
fcl
cmvr_es::data_center
)
add_library(cmvr_es::ik_solver ALIAS ik_solver)
# --------------------------------------------------------
# Unit test
# --------------------------------------------------------
find_package(glog REQUIRED)
find_package(PkgConfig REQUIRED)
find_package(fcl REQUIRED)
find_package(OpenCV REQUIRED)
include_directories(
${CMAKE_SOURCE_DIR}/third_party/gtest/1.17.0/include
)
include_directories(
${CMAKE_SOURCE_DIR}/third_party/manif/0.0.5/include
)
link_directories(
${CMAKE_SOURCE_DIR}/third_party/gtest/1.17.0/lib
)
add_executable(srs_ik_test
${CMAKE_CURRENT_SOURCE_DIR}/opt_psi_limit_bias_solver/src/srs_ik_test.cpp
)
target_link_libraries(srs_ik_test
PRIVATE
gtest
gtest_main
pthread
glog::glog
proto-objects
ccd
fcl
${OpenCV_LIBS}
Eigen3::Eigen
OsqpEigen::OsqpEigen
cmvr_es::utils
cmvr_es::data_center
cmvr_es::ik_solver
)