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 )