monado/src/xrt/drivers/CMakeLists.txt

366 lines
9.5 KiB
CMake
Raw Normal View History

2020-01-25 14:36:31 +00:00
# Copyright 2019-2020, Collabora, Ltd.
2019-03-18 05:52:32 +00:00
# SPDX-License-Identifier: BSL-1.0
set(ENABLED_HEADSET_DRIVERS)
set(ENABLED_DRIVERS)
if(XRT_BUILD_DRIVER_ARDUINO)
set(ARDUINO_SOURCE_FILES
arduino/arduino_device.c
arduino/arduino_interface.h
arduino/arduino_prober.c
)
add_library(drv_arduino STATIC ${ARDUINO_SOURCE_FILES})
target_link_libraries(drv_arduino PRIVATE xrt-interfaces aux_util aux_os)
list(APPEND ENABLED_DRIVERS arduino)
endif()
if(XRT_BUILD_DRIVER_DAYDREAM)
2020-03-05 11:47:39 +00:00
set(DAYDREAM_SOURCE_FILES
daydream/daydream_device.c
daydream/daydream_device.h
daydream/daydream_interface.h
daydream/daydream_prober.c
)
add_library(drv_daydream STATIC ${DAYDREAM_SOURCE_FILES})
target_link_libraries(drv_daydream PRIVATE xrt-interfaces aux_util aux_os)
list(APPEND ENABLED_DRIVERS daydream)
endif()
if(XRT_BUILD_DRIVER_DEPTHAI)
set(DEPTHAI_SOURCE_FILES
depthai/depthai_driver.cpp
depthai/depthai_interface.h
)
add_library(drv_depthai STATIC ${DEPTHAI_SOURCE_FILES})
target_link_libraries(drv_depthai PRIVATE
xrt-interfaces
aux_os
${OpenCV_LIBRARIES}
depthai::opencv
depthai::core
XLink
)
target_include_directories(drv_depthai PRIVATE ${OpenCV_INCLUDE_DIRS})
list(APPEND ENABLED_DRIVERS depthai)
endif()
if(XRT_BUILD_DRIVER_DUMMY)
2020-01-25 14:36:31 +00:00
set(DUMMY_SOURCE_FILES
dummy/dummy_hmd.c
dummy/dummy_interface.h
dummy/dummy_prober.c
)
add_library(drv_dummy STATIC ${DUMMY_SOURCE_FILES})
target_link_libraries(drv_dummy PRIVATE xrt-interfaces aux_util)
2020-01-25 14:36:31 +00:00
list(APPEND ENABLED_HEADSET_DRIVERS dummy)
endif()
if(XRT_BUILD_DRIVER_QWERTY)
set(QWERTY_SOURCE_FILES
qwerty/qwerty_device.c
qwerty/qwerty_device.h
qwerty/qwerty_interface.h
qwerty/qwerty_prober.c
qwerty/qwerty_sdl.c
)
add_library(drv_qwerty STATIC ${QWERTY_SOURCE_FILES})
2021-04-14 18:55:01 +00:00
target_link_libraries(drv_qwerty PRIVATE
xrt-interfaces
aux_util
${SDL2_LIBRARIES}
)
target_include_directories(drv_qwerty PRIVATE
${SDL2_INCLUDE_DIRS}
)
list(APPEND ENABLED_DRIVERS qwerty)
add_library(drv_qwerty_includes INTERFACE)
target_include_directories(drv_qwerty_includes INTERFACE qwerty)
endif()
if(XRT_BUILD_DRIVER_HDK)
2019-03-18 05:52:32 +00:00
set(HDK_SOURCE_FILES
hdk/hdk_device.cpp
hdk/hdk_device.h
hdk/hdk_interface.h
hdk/hdk_prober.c
)
add_library(drv_hdk STATIC ${HDK_SOURCE_FILES})
target_link_libraries(drv_hdk PRIVATE xrt-interfaces aux_math)
list(APPEND ENABLED_HEADSET_DRIVERS hdk)
2019-03-18 05:52:32 +00:00
endif()
if(XRT_BUILD_DRIVER_HYDRA)
set(HYDRA_SOURCE_FILES
hydra/hydra_driver.c
hydra/hydra_interface.h
)
add_library(drv_hydra STATIC ${HYDRA_SOURCE_FILES})
target_link_libraries(drv_hydra PRIVATE xrt-interfaces aux_os)
list(APPEND ENABLED_DRIVERS hydra)
endif()
if(XRT_BUILD_DRIVER_NS)
2020-01-24 21:35:12 +00:00
set(NS_SOURCE_FILES
2021-06-21 17:28:01 +00:00
north_star/distortion_3d/utility_northstar.h
north_star/distortion_3d/deformation_northstar.h
north_star/distortion_3d/deformation_northstar.cpp
north_star/ns_hmd.h
2020-01-24 21:35:12 +00:00
north_star/ns_hmd.c
north_star/ns_interface.h
north_star/ns_prober.c
)
add_library(drv_ns STATIC ${NS_SOURCE_FILES})
target_link_libraries(drv_ns PRIVATE xrt-interfaces aux_math xrt-external-cjson)
2020-01-24 21:35:12 +00:00
list(APPEND ENABLED_HEADSET_DRIVERS ns)
endif()
if(XRT_BUILD_DRIVER_ULV2)
set(ULV2_SOURCE_FILES
ultraleap_v2/ulv2_driver.cpp
ultraleap_v2/ulv2_interface.h
)
add_library(drv_ulv2 STATIC ${ULV2_SOURCE_FILES})
2021-06-22 15:06:58 +00:00
target_link_libraries(drv_ulv2 PRIVATE xrt-interfaces aux_util aux_math LeapV2::LeapV2)
endif()
if(XRT_BUILD_DRIVER_OHMD)
set(OHMD_SOURCE_FILES
ohmd/oh_device.c
ohmd/oh_device.h
ohmd/oh_interface.h
ohmd/oh_prober.c
)
add_library(drv_ohmd STATIC ${OHMD_SOURCE_FILES})
target_link_libraries(drv_ohmd PRIVATE xrt-interfaces OpenHMD::OpenHMD aux_util aux_math)
list(APPEND ENABLED_HEADSET_DRIVERS openhmd)
endif()
if(XRT_BUILD_DRIVER_PSMV)
2019-05-31 16:52:54 +00:00
set(PSMOVE_SOURCE_FILES
psmv/psmv_driver.c
psmv/psmv_interface.h
)
add_library(drv_psmv STATIC ${PSMOVE_SOURCE_FILES})
target_link_libraries(drv_psmv PRIVATE xrt-interfaces PUBLIC aux_os aux_tracking)
list(APPEND ENABLED_DRIVERS psmv)
2019-05-31 16:52:54 +00:00
endif()
if(XRT_BUILD_DRIVER_PSVR)
set(PSVR_SOURCE_FILES
psvr/psvr_device.c
psvr/psvr_device.h
psvr/psvr_interface.h
psvr/psvr_packet.c
psvr/psvr_prober.c
)
add_library(drv_psvr STATIC ${PSVR_SOURCE_FILES})
target_link_libraries(drv_psvr PRIVATE xrt-interfaces HIDAPI::hidapi aux_util)
2020-07-16 01:55:15 +00:00
target_include_directories(drv_psvr PRIVATE ${HIDAPI_INCLUDE_DIRS})
list(APPEND ENABLED_HEADSET_DRIVERS psvr)
endif()
2019-07-22 18:21:04 +00:00
if(XRT_BUILD_DRIVER_RS)
set(RS_SOURCE_FILES
realsense/rs_ddev.c
realsense/rs_prober.c
realsense/rs_interface.h
)
add_library(drv_rs STATIC ${RS_SOURCE_FILES})
target_link_libraries(drv_rs PRIVATE xrt-interfaces realsense2::realsense2 aux_util)
list(APPEND ENABLED_HEADSET_DRIVERS rs)
endif()
2020-10-13 17:18:33 +00:00
if(XRT_BUILD_DRIVER_REMOTE)
set(REMOTE_SOURCE_FILES
remote/r_device.c
remote/r_hmd.c
remote/r_hub.c
remote/r_interface.h
remote/r_internal.h
)
add_library(drv_remote STATIC ${REMOTE_SOURCE_FILES})
target_link_libraries(drv_remote PRIVATE xrt-interfaces aux_util)
list(APPEND ENABLED_HEADSET_DRIVERS remote)
endif()
set(VIVE_CONFIG_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/vive")
if(XRT_BUILD_DRIVER_VIVE)
set(VIVE_SOURCE_FILES
vive/vive_device.h
vive/vive_device.c
vive/vive_prober.h
vive/vive_prober.c
vive/vive_protocol.c
vive/vive_protocol.h
vive/vive_controller.h
vive/vive_controller.c
vive/vive_lighthouse.h
vive/vive_lighthouse.c
)
add_library(drv_vive STATIC ${VIVE_SOURCE_FILES})
target_link_libraries(drv_vive PRIVATE xrt-interfaces aux_os aux_util aux_math xrt-external-cjson aux_vive)
target_link_libraries(drv_vive PRIVATE ${ZLIB_LIBRARIES})
target_include_directories(drv_vive PRIVATE ${ZLIB_INCLUDE_DIRS})
list(APPEND ENABLED_HEADSET_DRIVERS vive)
if (XRT_BUILD_DRIVER_HANDTRACKING)
target_link_libraries(drv_vive PRIVATE drv_ht)
endif()
endif()
2019-07-22 18:21:04 +00:00
if(XRT_HAVE_V4L2)
2019-07-22 18:21:04 +00:00
set(V4L2_SOURCE_FILES
v4l2/v4l2_driver.c
)
add_library(drv_v4l2 STATIC ${V4L2_SOURCE_FILES})
2021-07-09 20:43:21 +00:00
target_link_libraries(drv_v4l2 PRIVATE
xrt-interfaces
aux_os
aux_util
)
list(APPEND ENABLED_DRIVERS v4l2)
endif()
if(XRT_BUILD_DRIVER_VF)
2020-11-26 19:16:02 +00:00
set(VF_SOURCE_FILES
vf/vf_driver.c
)
add_library(drv_vf STATIC ${VF_SOURCE_FILES})
2021-07-13 19:48:46 +00:00
target_link_libraries(drv_vf PRIVATE xrt-interfaces aux_os aux_util ${GST_LIBRARIES})
2020-11-26 19:16:02 +00:00
target_include_directories(drv_vf PRIVATE ${GST_INCLUDE_DIRS})
list(APPEND ENABLED_DRIVERS vf)
endif()
2021-09-03 01:49:56 +00:00
if(XRT_BUILD_DRIVER_HANDTRACKING)
set(HT_SOURCE_FILES
ht/ht_driver.cpp
ht/ht_driver.hpp
ht/ht_interface.h
ht/ht_models.hpp
ht/ht_hand_math.hpp
ht/ht_image_math.hpp
ht/ht_nms.hpp
ht/templates/NaivePermutationSort.hpp
)
add_library(drv_ht STATIC ${HT_SOURCE_FILES})
target_link_libraries(drv_ht PRIVATE xrt-interfaces aux_os aux_util aux_math ONNXRuntime::ONNXRuntime ${OpenCV_LIBRARIES})
target_include_directories(drv_ht PRIVATE ${OpenCV_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIR})
list(APPEND ENABLED_DRIVERS ht)
endif()
2020-05-19 21:15:00 +00:00
if (XRT_BUILD_DRIVER_SURVIVE)
2019-03-12 01:02:06 +00:00
set(SURVIVE_SOURCE_FILES
survive/survive_driver.c
2021-03-01 21:46:07 +00:00
survive/survive_driver.h
2019-03-12 01:02:06 +00:00
survive/survive_interface.h
2021-03-01 21:46:07 +00:00
survive/survive_prober.c
2019-03-12 01:02:06 +00:00
)
add_library(drv_survive STATIC ${SURVIVE_SOURCE_FILES})
target_link_libraries(drv_survive PRIVATE xrt-interfaces aux_os aux_util aux_math aux_vive PkgConfig::SURVIVE)
2019-03-12 01:02:06 +00:00
list(APPEND ENABLED_HEADSET_DRIVERS survive)
if (XRT_BUILD_DRIVER_HANDTRACKING)
target_link_libraries(drv_survive PRIVATE drv_ht)
endif()
2019-03-12 01:02:06 +00:00
endif()
2020-10-23 08:28:50 +00:00
if(XRT_BUILD_DRIVER_ANDROID)
set(ANDROID_SOURCE_FILES
android/android_prober.c
android/android_prober.h
android/android_sensors.c
android/android_sensors.h
)
add_library(drv_android STATIC ${ANDROID_SOURCE_FILES})
target_link_libraries(drv_android PRIVATE xrt-interfaces aux_util aux_os aux_android ${ANDROID_LIBRARY})
2020-10-23 08:28:50 +00:00
list(APPEND ENABLED_DRIVERS android)
endif()
2020-12-29 23:44:57 +00:00
if (XRT_BUILD_DRIVER_ILLIXR)
set(ILLIXR_SOURCE_FILES
illixr/illixr_device.cpp
illixr/illixr_interface.h
illixr/illixr_prober.c
illixr/illixr_component.cpp
illixr/illixr_component.h
)
add_library(drv_illixr STATIC ${ILLIXR_SOURCE_FILES})
target_link_libraries(drv_illixr PUBLIC ${CMAKE_DL_LIBS} xrt-interfaces aux_util aux_os)
target_include_directories(drv_illixr PUBLIC ${ILLIXR_PATH})
list(APPEND ENABLED_HEADSET_DRIVERS illixr)
endif()
set(MUlTI_SOURCE_FILES
multi_wrapper/multi.c
multi_wrapper/multi.h
)
add_library(drv_multi STATIC ${MUlTI_SOURCE_FILES})
target_link_libraries(drv_multi PUBLIC xrt-interfaces aux_util)
list(APPEND ENABLED_HEADSET_DRIVERS drv_multi)
if(XRT_BUILD_DRIVER_WMR)
set(WMR_SOURCE_FILES
wmr/wmr_common.h
wmr/wmr_config.c
wmr/wmr_config.h
wmr/wmr_hmd.c
wmr/wmr_hmd.h
wmr/wmr_interface.h
wmr/wmr_prober.c
wmr/wmr_protocol.c
wmr/wmr_protocol.h
)
add_library(drv_wmr STATIC ${WMR_SOURCE_FILES})
target_link_libraries(drv_wmr PRIVATE xrt-interfaces aux_util aux_math xrt-external-cjson)
list(APPEND ENABLED_HEADSET_DRIVERS wmr)
endif()
if(XRT_BUILD_DRIVER_EUROC)
set(EUROC_SOURCE_FILES
2021-09-09 02:43:44 +00:00
euroc/euroc_player.cpp
euroc/euroc_driver.h
euroc/euroc_device.c
euroc/euroc_interface.h
)
add_library(drv_euroc STATIC ${EUROC_SOURCE_FILES})
target_link_libraries(drv_euroc PRIVATE xrt-interfaces aux_util aux_tracking ${OpenCV_LIBRARIES})
target_include_directories(drv_euroc PRIVATE ${OpenCV_INCLUDE_DIRS})
list(APPEND ENABLED_DRIVERS euroc)
endif()
if(ENABLED_HEADSET_DRIVERS)
set(ENABLED_DRIVERS ${ENABLED_HEADSET_DRIVERS} ${ENABLED_DRIVERS})
list(SORT ENABLED_DRIVERS)
string(REPLACE ";" " " ENABLED_DRIVERS "${ENABLED_DRIVERS}")
message(STATUS "Enabled drivers: ${ENABLED_DRIVERS}")
else()
message(FATAL_ERROR "You must enable at least one headset driver to build Monado.")
endif()