add_library(ik_solver SHARED ${CMAKE_CURRENT_SOURCE_DIR}/common/src/ik_solver.cpp ${CMAKE_CURRENT_SOURCE_DIR}/common/src/urdf_parser.cpp ${CMAKE_CURRENT_SOURCE_DIR}/pinocchio/src/pinocchio_ik_base.cpp ${CMAKE_CURRENT_SOURCE_DIR}/pinocchio/src/pinocchio_dls_ik_solver.cpp ${CMAKE_CURRENT_SOURCE_DIR}/pinocchio/src/pinocchio_qp_ik_solver.cpp ${CMAKE_CURRENT_SOURCE_DIR}/srs/src/srs_ik_solver.cpp ${CMAKE_CURRENT_SOURCE_DIR}/lawba/src/joints_limit_analyzer.cpp ${CMAKE_CURRENT_SOURCE_DIR}/lawba/src/lawba_ik_solver.cpp ${CMAKE_CURRENT_SOURCE_DIR}/lawba/src/opt_psi_selector.cpp ) target_include_directories(ik_solver PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(ik_solver PUBLIC osqp OsqpEigen pinocchio_default pinocchio_parsers pinocchio_collision cmvr_es::base_motion cmvr_es::common ) add_library(cmvr_es::ik_solver ALIAS ik_solver) install(TARGETS ik_solver LIBRARY DESTINATION lib) # -------------------------------------------------------- # Unit test # -------------------------------------------------------- add_executable(srs_ik_test ${CMAKE_CURRENT_SOURCE_DIR}/tests/src/srs_ik_test.cpp ) target_link_libraries(srs_ik_test PRIVATE cmvr_es::ik_solver cmvr_es::base_motion cmvr_es::arm_motion cmvr_es::proto cmvr_es::mujoco_viewer gtest gtest_main pthread glog matplot ) add_executable(ik_test ${CMAKE_CURRENT_SOURCE_DIR}/tests/src/ik_test.cpp ) target_link_libraries(ik_test PRIVATE cmvr_es::ik_solver cmvr_es::mujoco_viewer gtest gtest_main pthread glog cmvr_es::proto )