find_package(glog REQUIRED) find_package(protobuf REQUIRED) find_package(PkgConfig REQUIRED) find_package(fcl REQUIRED) find_package(OpenCV REQUIRED) find_package(pybind11 REQUIRED) include_directories(${CMAKE_SOURCE_DIR}/include) add_executable(solve_fk solve_fk.cpp) target_link_libraries(solve_fk PRIVATE cmvr_es::utils) add_executable(solve_ik solve_ik.cpp) target_link_libraries(solve_ik PRIVATE cmvr_es::utils) add_executable(wbc_example wbc_example.cpp) target_link_libraries(wbc_example PRIVATE cmvr_es::utils) add_executable(follow_traj_example follow_traj_example.cpp) target_link_libraries(follow_traj_example PRIVATE cmvr_es::utils) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) add_executable(moveJ ${CMAKE_CURRENT_SOURCE_DIR}/moveJ.cpp) target_link_libraries(moveJ PRIVATE cmvr_es::device::canbus cmvr_es::device::ti5motor cmvr_es::device::humanoid_robot pthread glog::glog proto-objects ccd fcl cmvr_es::device_manager ${OpenCV_LIBS}) add_executable(torqueOff ${CMAKE_CURRENT_SOURCE_DIR}/torqueOff.cpp) target_link_libraries(torqueOff PRIVATE cmvr_es::device::canbus cmvr_es::device::ti5motor cmvr_es::device::humanoid_robot pthread glog::glog proto-objects ccd fcl cmvr_es::device_manager ${OpenCV_LIBS}) add_executable(torqueOn ${CMAKE_CURRENT_SOURCE_DIR}/torqueOn.cpp) target_link_libraries(torqueOn PRIVATE cmvr_es::device::canbus cmvr_es::device::ti5motor cmvr_es::device::humanoid_robot pthread glog::glog proto-objects ccd fcl cmvr_es::device_manager ${OpenCV_LIBS}) # ---------------- pybind11 模块 ---------------- set(CMAKE_POSITION_INDEPENDENT_CODE ON) pybind11_add_module(robot_wrapper ${CMAKE_CURRENT_SOURCE_DIR}/robot_wrapper.cpp) target_link_libraries(robot_wrapper PRIVATE cmvr_es::device::canbus cmvr_es::device::ti5motor cmvr_es::device::humanoid_robot pthread glog::glog proto-objects ccd fcl cmvr_es::device_manager ${OpenCV_LIBS})