cmvr-es/src/ik_solver/CMakeLists.txt
2025-12-18 16:08:08 +08:00

90 lines
1.9 KiB
CMake

find_package(Eigen3 3.3 REQUIRED NO_MODULE)
find_package(osqp REQUIRED)
find_package(OsqpEigen REQUIRED)
find_package(PkgConfig REQUIRED)
add_library(ik_solver SHARED
${CMAKE_CURRENT_SOURCE_DIR}/src/ik_solver_creator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/pinocchio_dls_ik_solver.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/pinocchio_qp_ik_solver.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/bias_srs_ik_slover.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/joints_limit_analyzer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/opt_psi_limit_bias_solver.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/opt_psi_selector.cpp
)
target_include_directories(ik_solver PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(ik_solver PUBLIC
pinocchio_default
pinocchio_parsers
pinocchio_collision
Eigen3::Eigen
OsqpEigen::OsqpEigen
)
add_library(cmvr_es::ik_solver ALIAS ik_solver)
# --------------------------------------------------------
# Unit test
# --------------------------------------------------------
find_package(glog REQUIRED)
find_package(PkgConfig REQUIRED)
include_directories(
${CMAKE_SOURCE_DIR}/third_party/gtest/1.17.0/include
)
link_directories(
${CMAKE_SOURCE_DIR}/third_party/gtest/1.17.0/lib
)
add_executable(srs_ik_test
${CMAKE_CURRENT_SOURCE_DIR}/src/srs_ik_test.cpp
)
target_link_libraries(srs_ik_test
PRIVATE
cmvr_es::mujoco_viewer
gtest
gtest_main
pthread
glog::glog
proto-objects
Eigen3::Eigen
OsqpEigen::OsqpEigen
cmvr_es::utils
cmvr_es::ik_solver
)
add_executable(ik_test
${CMAKE_CURRENT_SOURCE_DIR}/src/ik_test.cpp
)
target_link_libraries(ik_test
PRIVATE
cmvr_es::ik_solver
cmvr_es::mujoco_viewer
gtest
gtest_main
pthread
glog::glog
proto-objects
)