cmvr-es/cmvr-es/manager/device_manager/CMakeLists.txt

60 lines
2.0 KiB
CMake

add_library(device_manager STATIC
src/device_factory.cpp
src/device_safety_adapters.cpp
src/device_manager.cpp
)
target_include_directories(device_manager PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(device_manager PRIVATE
cmvr_es::proto
cmvr_es::safety_manager
cmvr_es::device::camera
cmvr_es::device::agv
cmvr_es::device::speaker
cmvr_es::device::microphone
cmvr_es::device::dexhand
cmvr::device::head_esp32
cmvr_es::device::motor_manager
cmvr_es::device::arm
cmvr_es::mujoco_viewer
osqp
# cmvr_es::device::aubo_robot
)
add_library(cmvr_es::device_manager ALIAS device_manager)
install(TARGETS device_manager LIBRARY DESTINATION lib)
if(BUILD_TESTING)
add_executable(device_manager_snapshot_test
tests/device_manager_snapshot_test.cpp
)
target_link_libraries(device_manager_snapshot_test PRIVATE
cmvr_es::device_manager
)
add_test(
NAME device_manager_snapshot_test
COMMAND device_manager_snapshot_test
)
set_tests_properties(device_manager_snapshot_test PROPERTIES TIMEOUT 20)
if(UNIX AND NOT APPLE)
get_property(_device_manager_test_library_dirs
DIRECTORY PROPERTY LINK_DIRECTORIES)
list(PREPEND _device_manager_test_library_dirs
"${CMAKE_BINARY_DIR}/cmvr_compiler_runtime")
list(JOIN _device_manager_test_library_dirs ":"
_device_manager_test_library_path)
set(_device_manager_snapshot_test_environment
"LD_LIBRARY_PATH=${_device_manager_test_library_path}")
if(CMVR_TEST_SYSTEM_LIBSTDCXX)
list(APPEND _device_manager_snapshot_test_environment
"LD_PRELOAD=${CMVR_TEST_SYSTEM_LIBSTDCXX}")
endif()
set_tests_properties(device_manager_snapshot_test PROPERTIES
ENVIRONMENT
"${_device_manager_snapshot_test_environment}"
)
endif()
endif()