From dda1f6f3b0fa09e0dccd1abba7ee6e3588cb0433 Mon Sep 17 00:00:00 2001 From: bjornbytes Date: Sat, 24 Oct 2020 16:16:57 -0600 Subject: [PATCH] CMake: Add LOVR_SYSTEM_OPENXR; Searches for the system-installed OpenXR loader using pkg-config. --- CMakeLists.txt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c0845ad..ed0c7f53 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,7 @@ option(LOVR_SYSTEM_GLFW "Use the system-provided glfw" OFF) option(LOVR_SYSTEM_LUA "Use the system-provided Lua" OFF) option(LOVR_SYSTEM_ODE "Use the system-provided ODE" OFF) option(LOVR_SYSTEM_OPENAL "Use the system-provided OpenAL" OFF) +option(LOVR_SYSTEM_OPENXR "Use the system-provided OpenXR" OFF) option(LOVR_BUILD_EXE "Build an executable (or an apk on Android)" ON) option(LOVR_BUILD_SHARED "Build a shared library (takes precedence over LOVR_BUILD_EXE)" OFF) @@ -244,8 +245,17 @@ if(LOVR_ENABLE_HEADSET AND LOVR_USE_OPENXR) set_target_properties(openxr_loader PROPERTIES IMPORTED_LOCATION "${LOVR_OPENXR_OCULUS_PATH}/Libs/Android/${ANDROID_ABI}/Release/libopenxr_loader.so") set(LOVR_OPENXR openxr_loader) else() - add_subdirectory(deps/openxr openxr) - set(LOVR_OPENXR openxr_loader) + if(LOVR_SYSTEM_OPENXR) + pkg_search_module(OPENXR openxr) + if(NOT OPENXR_FOUND) + message(FATAL_ERROR "OpenXR not found.") + endif() + include_directories(${OPENXR_INCLUDE_DIRS}) + set(LOVR_OPENXR ${OPENXR_LIBRARIES}) + else() + add_subdirectory(deps/openxr openxr) + set(LOVR_OPENXR openxr_loader) + endif() endif() endif()