From 0d0e3704e24f250527db577f37ecd8e95cc2d834 Mon Sep 17 00:00:00 2001 From: Korcan Hussein Date: Wed, 19 Feb 2025 15:13:44 +0000 Subject: [PATCH] cmake: fix custom openxr target builds MR.2401 made a change where the state_tracker directory is now conditionally recursed into only if the main openxr feature is enabled, this breaks derived runtimes which have custom openxr/serivce/service-lib targets that depend on the oxr target. Part-of: --- CMakeLists.txt | 4 +++- src/xrt/state_trackers/CMakeLists.txt | 2 +- src/xrt/state_trackers/oxr/CMakeLists.txt | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a9a748b62..3d4b6bad3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -259,11 +259,12 @@ option_with_deps(XRT_MODULE_MERCURY_HANDTRACKING "Enable Mercury hand tracking" option(XRT_MODULE_MONADO_CLI "Build monado-cli" ON) option_with_deps(XRT_MODULE_MONADO_GUI "Build monado-gui" DEPENDS XRT_HAVE_SDL2) option(XRT_MODULE_AUX_VIVE "Build aux_vive" ON) +option(XRT_MODULE_OPENXR_STATE_TRACKER "Build OpenXR State Tracker" ON) # Feature configuration (sorted) option_with_deps(XRT_FEATURE_AHARDWARE_BUFFER "Enable AHardwareBuffer for XrSwapchain images on Android (API-level 26+) platforms" DEPENDS ANDROID) option_with_deps(XRT_FEATURE_COLOR_LOG "Enable logging in color on supported platforms" DEPENDS XRT_HAVE_LINUX) -option_with_deps(XRT_FEATURE_OPENXR "Build OpenXR runtime target" DEPENDS "XRT_MODULE_COMPOSITOR_MAIN OR XRT_MODULE_COMPOSITOR_NULL") +option_with_deps(XRT_FEATURE_OPENXR "Build OpenXR runtime target" DEPENDS XRT_MODULE_OPENXR_STATE_TRACKER "XRT_MODULE_COMPOSITOR_MAIN OR XRT_MODULE_COMPOSITOR_NULL") set(XRT_FEATURE_OPENXR_DEBUG_UTILS OFF) # Has never been enabled option_with_deps(XRT_FEATURE_RENDERDOC "Enable RenderDoc API" DEPENDS "RT_LIBRARY OR WIN32 OR ANDROID") option_with_deps(XRT_FEATURE_SERVICE "Enable separate service module for OpenXR runtime" DEPENDS XRT_MODULE_IPC XRT_FEATURE_OPENXR) @@ -583,6 +584,7 @@ message(STATUS "# MODULE_MERCURY_HANDTRACKING: ${XRT_MODULE_MERCURY_HANDTRACK message(STATUS "# MODULE_IPC: ${XRT_MODULE_IPC}") message(STATUS "# MODULE_MONADO_GUI: ${XRT_MODULE_MONADO_GUI}") message(STATUS "# MODULE_MONADO_CLI: ${XRT_MODULE_MONADO_CLI}") +message(STATUS "# MODULE_OPENXR_STATE_TRACKER: ${XRT_MODULE_OPENXR_STATE_TRACKER}") message(STATUS "#") message(STATUS "# FEATURE_AHARDWARE_BUFFER: ${XRT_FEATURE_AHARDWARE_BUFFER}") message(STATUS "# FEATURE_CLIENT_DEBUG_GUI: ${XRT_FEATURE_CLIENT_DEBUG_GUI}") diff --git a/src/xrt/state_trackers/CMakeLists.txt b/src/xrt/state_trackers/CMakeLists.txt index 28307edf2..931fd35e1 100644 --- a/src/xrt/state_trackers/CMakeLists.txt +++ b/src/xrt/state_trackers/CMakeLists.txt @@ -5,7 +5,7 @@ if(XRT_HAVE_OPENGL) add_subdirectory(gui) endif() -if(XRT_FEATURE_OPENXR) +if(XRT_MODULE_OPENXR_STATE_TRACKER) add_subdirectory(oxr) endif() diff --git a/src/xrt/state_trackers/oxr/CMakeLists.txt b/src/xrt/state_trackers/oxr/CMakeLists.txt index 2682bf290..6daa2713c 100644 --- a/src/xrt/state_trackers/oxr/CMakeLists.txt +++ b/src/xrt/state_trackers/oxr/CMakeLists.txt @@ -57,7 +57,7 @@ add_library( if(XRT_HAVE_VULKAN) target_sources(st_oxr PRIVATE oxr_session_gfx_vk.c oxr_swapchain_vk.c oxr_vulkan.c) - target_link_libraries(st_oxr PUBLIC Vulkan::Vulkan) + target_link_libraries(st_oxr PUBLIC aux_vk) endif() if(XRT_HAVE_OPENGL OR XRT_HAVE_OPENGLES)