The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

cmake: Add ONNX Runtime as a dependency for the handtracking driver

Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>

cmake-rebase

authored by

Moses Turner
Ryan Pavlik
and committed by
Moses Turner
4b5f4b97 cef92294

+82 -1
+4 -1
CMakeLists.txt
··· 62 62 find_package(Systemd) 63 63 find_package(OpenGLES COMPONENTS V3) 64 64 find_package(LeapV2) 65 + find_package(ONNXRuntime) 65 66 66 67 #https://github.com/arsenm/sanitizers-cmake 67 68 find_package(Sanitizers) ··· 187 188 cmake_dependent_option(XRT_HAVE_SYSTEM_CJSON "Enable cJSON from system, instead of bundled source" ON "CJSON_FOUND" OFF) 188 189 cmake_dependent_option(XRT_HAVE_GST "Enable gstreamer" ON "GST_FOUND" OFF) 189 190 cmake_dependent_option(XRT_HAVE_PERCETTO "Enable percetto support" ON "PERCETTO_FOUND" OFF) 191 + cmake_dependent_option(XRT_HAVE_ONNXRUNTIME "Enable ONNX runtime support" ON "ONNXRUNTIME_FOUND" OFF) 190 192 191 193 cmake_dependent_option(XRT_BUILD_DRIVER_PSVR "Enable PSVR HMD driver" ON "HIDAPI_FOUND" OFF) 192 194 cmake_dependent_option(XRT_BUILD_DRIVER_RS "Enable RealSense device driver" ON "realsense2_FOUND" OFF) 193 195 cmake_dependent_option(XRT_BUILD_DRIVER_VIVE "Enable driver for HTC Vive, Vive Pro, Valve Index, and their controllers" ON "ZLIB_FOUND AND XRT_HAVE_LINUX" OFF) 194 196 cmake_dependent_option(XRT_BUILD_DRIVER_OHMD "Enable OpenHMD driver" ON "OPENHMD_FOUND" OFF) 195 - cmake_dependent_option(XRT_BUILD_DRIVER_HANDTRACKING "Enable Camera Hand Tracking driver" ON "XRT_HAVE_V4L2" OFF) 197 + cmake_dependent_option(XRT_BUILD_DRIVER_HANDTRACKING "Enable Camera Hand Tracking driver" ON "XRT_HAVE_ONNXRUNTIME AND XRT_HAVE_OPENCV AND XRT_HAVE_V4L2" OFF) 196 198 cmake_dependent_option(XRT_BUILD_DRIVER_DAYDREAM "Enable the Google Daydream View controller driver (BLE, via D-Bus)" ON "XRT_HAVE_DBUS" OFF) 197 199 cmake_dependent_option(XRT_BUILD_DRIVER_ARDUINO "Enable Arduino input device with BLE via via D-Bus" ON "XRT_HAVE_DBUS" OFF) 198 200 cmake_dependent_option(XRT_BUILD_DRIVER_ILLIXR "Enable ILLIXR driver" ON "ILLIXR_PATH" OFF) ··· 360 362 message(STATUS "# FFMPEG: ${XRT_HAVE_FFMPEG}") 361 363 message(STATUS "# SDL2: ${XRT_HAVE_SDL2}") 362 364 message(STATUS "# PERCETTO: ${XRT_HAVE_PERCETTO}") 365 + message(STATUS "# ONNXRUNTIME: ${XRT_HAVE_ONNXRUNTIME}") 363 366 message(STATUS "# SYSTEM_CJSON: ${XRT_HAVE_SYSTEM_CJSON}") 364 367 message(STATUS "#") 365 368 message(STATUS "# FEATURE_COMPOSITOR_MAIN: ${XRT_FEATURE_COMPOSITOR_MAIN}")
+78
cmake/FindONNXRuntime.cmake
··· 1 + # Copyright 2021, Collabora, Ltd. 2 + # SPDX-License-Identifier: BSL-1.0 3 + # Distributed under the Boost Software License, Version 1.0. 4 + # (See accompanying file LICENSE_1_0.txt or copy at 5 + # http://www.boost.org/LICENSE_1_0.txt) 6 + # 7 + # Original Author: 8 + # 2021 Moses Turner <moses@collabora.com> 9 + # 2021 Ryan Pavlik <ryan.pavlik@collabora.com> 10 + 11 + #.rst: 12 + # FindONNXRuntime 13 + # --------------- 14 + # 15 + # Find the ONNX runtime 16 + # 17 + # Targets 18 + # ^^^^^^^ 19 + # 20 + # If successful, the following import target is created. 21 + # 22 + # ``ONNXRuntime::ONNXRuntime`` 23 + # 24 + # Cache variables 25 + # ^^^^^^^^^^^^^^^ 26 + # 27 + # The following cache variable may also be set to assist/control the operation of this module: 28 + # 29 + # ``ONNXRuntime_ROOT_DIR`` 30 + # The root to search for ONNX runtime. 31 + # 32 + 33 + include(FeatureSummary) 34 + set_package_properties( 35 + ONNXRuntime PROPERTIES 36 + URL "https://onnxruntime.ai/" 37 + DESCRIPTION "Machine learning runtime") 38 + 39 + set(ONNXRuntime_ROOT_DIR 40 + "${ONNXRuntime_ROOT_DIR}" 41 + CACHE PATH "Root to search for ONNXRuntime") 42 + 43 + find_package(PkgConfig) 44 + pkg_check_modules(PC_ONNXRuntime QUIET libonnxruntime) 45 + 46 + find_library( 47 + ONNXRuntime_LIBRARY 48 + NAMES onnxruntime 49 + PATHS ${ONNXRuntime_ROOT_DIR} 50 + PATH_SUFFIXES lib 51 + HINTS ${PC_ONNXRuntime_LIBRARY_DIRS}) 52 + find_path( 53 + ONNXRuntime_INCLUDE_DIR core/session/onnxruntime_cxx_api.h 54 + PATHS ${ONNXRuntime_ROOT_DIR} 55 + PATH_SUFFIXES onnxruntime include/onnxruntime 56 + HINTS ${PC_ONNXRuntime_INCLUDE_DIRS}) 57 + 58 + include(FindPackageHandleStandardArgs) 59 + find_package_handle_standard_args( 60 + ONNXRuntime REQUIRED_VARS ONNXRuntime_INCLUDE_DIR ONNXRuntime_LIBRARY) 61 + 62 + if(ONNXRuntime_FOUND) 63 + set(ONNXRuntime_INCLUDE_DIRS ${ONNXRuntime_INCLUDE_DIR}) 64 + set(ONNXRuntime_LIBRARIES "${ONNXRuntime_LIBRARY}") 65 + if(NOT TARGET ONNXRuntime::ONNXRuntime) 66 + add_library(ONNXRuntime::ONNXRuntime UNKNOWN IMPORTED) 67 + endif() 68 + set_target_properties( 69 + ONNXRuntime::ONNXRuntime PROPERTIES INTERFACE_INCLUDE_DIRECTORIES 70 + "${ONNXRuntime_INCLUDE_DIRS}") 71 + set_target_properties( 72 + ONNXRuntime::ONNXRuntime 73 + PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C" 74 + IMPORTED_LOCATION "${ONNXRuntime_LIBRARY}") 75 + mark_as_advanced(ONNXRuntime_INCLUDE_DIRS ONNXRuntime_LIBRARY) 76 + endif() 77 + 78 + mark_as_advanced(ONNXRuntime_ROOT_DIR)