mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2024-12-29 11:06:18 +00:00
cmake: Introduce a new module category
This commit is contained in:
parent
2a3157b087
commit
4b6491aa16
|
@ -242,14 +242,20 @@ option_with_deps(XRT_HAVE_OPENCV "Enable OpenCV backend" DEPENDS OpenCV_FOUND)
|
||||||
option_with_deps(XRT_HAVE_BASALT_SLAM "Enable Basalt support" DEPENDS basalt_FOUND)
|
option_with_deps(XRT_HAVE_BASALT_SLAM "Enable Basalt support" DEPENDS basalt_FOUND)
|
||||||
option_with_deps(XRT_HAVE_KIMERA_SLAM "Enable Kimera support" DEPENDS kimera_vio_FOUND)
|
option_with_deps(XRT_HAVE_KIMERA_SLAM "Enable Kimera support" DEPENDS kimera_vio_FOUND)
|
||||||
|
|
||||||
|
option(XRT_MODULE_IPC "Enable the build of the IPC layer" ON)
|
||||||
|
option(XRT_MODULE_COMPOSITOR "Enable the compositor at all" ON)
|
||||||
|
option_with_deps(XRT_MODULE_COMPOSITOR_MAIN "Build main compositor host functionality" DEPENDS
|
||||||
|
XRT_MODULE_COMPOSITOR
|
||||||
|
XRT_HAVE_VULKAN
|
||||||
|
"XRT_HAVE_WAYLAND OR XRT_HAVE_XCB OR ANDROID OR WIN32"
|
||||||
|
)
|
||||||
|
option_with_deps(XRT_MODULE_COMPOSITOR_NULL "Build testing null compositor" DEPENDS XRT_MODULE_COMPOSITOR XRT_HAVE_VULKAN)
|
||||||
|
|
||||||
# Feature configuration (sorted)
|
# Feature configuration (sorted)
|
||||||
option(XRT_FEATURE_COLOR_LOG "Enable logging in color on supported platforms" ON)
|
option(XRT_FEATURE_COLOR_LOG "Enable logging in color on supported platforms" ON)
|
||||||
option_with_deps(XRT_FEATURE_COMPOSITOR_MAIN "Build main compositor host functionality" DEPENDS XRT_HAVE_VULKAN "XRT_HAVE_WAYLAND OR XRT_HAVE_XCB OR ANDROID OR WIN32")
|
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_COMPOSITOR_NULL "Build testing null compositor" DEPENDS XRT_HAVE_VULKAN)
|
|
||||||
option(XRT_FEATURE_IPC "Enable the build of the IPC layer" ON)
|
|
||||||
option_with_deps(XRT_FEATURE_OPENXR "Build OpenXR runtime target" DEPENDS "XRT_FEATURE_COMPOSITOR_MAIN OR XRT_FEATURE_COMPOSITOR_NULL")
|
|
||||||
option_with_deps(XRT_FEATURE_RENDERDOC "Enable RenderDoc API" DEPENDS "RT_LIBRARY OR WIN32")
|
option_with_deps(XRT_FEATURE_RENDERDOC "Enable RenderDoc API" DEPENDS "RT_LIBRARY OR WIN32")
|
||||||
option_with_deps(XRT_FEATURE_SERVICE "Enable separate service module for OpenXR runtime" DEPENDS XRT_FEATURE_IPC XRT_FEATURE_OPENXR)
|
option_with_deps(XRT_FEATURE_SERVICE "Enable separate service module for OpenXR runtime" DEPENDS XRT_MODULE_IPC XRT_FEATURE_OPENXR)
|
||||||
option_with_deps(XRT_FEATURE_SERVICE_SYSTEMD "Enable systemd socket activation of the service" DEPENDS XRT_HAVE_SYSTEMD XRT_FEATURE_SERVICE)
|
option_with_deps(XRT_FEATURE_SERVICE_SYSTEMD "Enable systemd socket activation of the service" DEPENDS XRT_HAVE_SYSTEMD XRT_FEATURE_SERVICE)
|
||||||
option_with_deps(XRT_FEATURE_SLAM "Enable SLAM tracking support" DEPENDS XRT_HAVE_OPENCV "XRT_HAVE_BASALT_SLAM OR XRT_HAVE_KIMERA_SLAM")
|
option_with_deps(XRT_FEATURE_SLAM "Enable SLAM tracking support" DEPENDS XRT_HAVE_OPENCV "XRT_HAVE_BASALT_SLAM OR XRT_HAVE_KIMERA_SLAM")
|
||||||
option_with_deps(XRT_FEATURE_STEAMVR_PLUGIN "Build SteamVR plugin" DEPENDS "NOT ANDROID")
|
option_with_deps(XRT_FEATURE_STEAMVR_PLUGIN "Build SteamVR plugin" DEPENDS "NOT ANDROID")
|
||||||
|
@ -318,7 +324,7 @@ set(XRT_OXR_RUNTIME_SUFFIX monado CACHE STRING "OpenXR client library suffix")
|
||||||
# cmake-format: on
|
# cmake-format: on
|
||||||
|
|
||||||
# Most users won't touch these.
|
# Most users won't touch these.
|
||||||
mark_as_advanced(XRT_FEATURE_COMPOSITOR_MAIN XRT_FEATURE_COMPOSITOR_NULL XRT_FEATURE_OPENXR)
|
mark_as_advanced(XRT_MODULE_COMPOSITOR_MAIN XRT_MODULE_COMPOSITOR_NULL XRT_FEATURE_OPENXR)
|
||||||
|
|
||||||
# Defaults for OpenXR layer support
|
# Defaults for OpenXR layer support
|
||||||
if(NOT DEFINED XRT_FEATURE_OPENXR_LAYER_DEPTH)
|
if(NOT DEFINED XRT_FEATURE_OPENXR_LAYER_DEPTH)
|
||||||
|
@ -502,11 +508,13 @@ message(STATUS "# XCB: ${XRT_HAVE_XCB}")
|
||||||
message(STATUS "# XLIB: ${XRT_HAVE_XLIB}")
|
message(STATUS "# XLIB: ${XRT_HAVE_XLIB}")
|
||||||
message(STATUS "# XRANDR: ${XRT_HAVE_XRANDR}")
|
message(STATUS "# XRANDR: ${XRT_HAVE_XRANDR}")
|
||||||
message(STATUS "#")
|
message(STATUS "#")
|
||||||
|
message(STATUS "# MODULE_IPC ${XRT_MODULE_IPC}")
|
||||||
|
message(STATUS "# MODULE_COMPOSITOR ${XRT_MODULE_COMPOSITOR}")
|
||||||
|
message(STATUS "# MODULE_COMPOSITOR_MAIN ${XRT_MODULE_COMPOSITOR_MAIN}")
|
||||||
|
message(STATUS "# MODULE_COMPOSITOR_NULL ${XRT_MODULE_COMPOSITOR_NULL}")
|
||||||
|
message(STATUS "#")
|
||||||
message(STATUS "# FEATURE_CLIENT_DEBUG_GUI: ${XRT_FEATURE_CLIENT_DEBUG_GUI}")
|
message(STATUS "# FEATURE_CLIENT_DEBUG_GUI: ${XRT_FEATURE_CLIENT_DEBUG_GUI}")
|
||||||
message(STATUS "# FEATURE_COLOR_LOG: ${XRT_FEATURE_COLOR_LOG}")
|
message(STATUS "# FEATURE_COLOR_LOG: ${XRT_FEATURE_COLOR_LOG}")
|
||||||
message(STATUS "# FEATURE_COMPOSITOR_MAIN: ${XRT_FEATURE_COMPOSITOR_MAIN}")
|
|
||||||
message(STATUS "# FEATURE_COMPOSITOR_NULL: ${XRT_FEATURE_COMPOSITOR_NULL}")
|
|
||||||
message(STATUS "# FEATURE_IPC: ${XRT_FEATURE_IPC}")
|
|
||||||
message(STATUS "# FEATURE_OPENXR: ${XRT_FEATURE_OPENXR}")
|
message(STATUS "# FEATURE_OPENXR: ${XRT_FEATURE_OPENXR}")
|
||||||
message(STATUS "# FEATURE_OPENXR_LAYER_CUBE: ${XRT_FEATURE_OPENXR_LAYER_CUBE}")
|
message(STATUS "# FEATURE_OPENXR_LAYER_CUBE: ${XRT_FEATURE_OPENXR_LAYER_CUBE}")
|
||||||
message(STATUS "# FEATURE_OPENXR_LAYER_CYLINDER: ${XRT_FEATURE_OPENXR_LAYER_CYLINDER}")
|
message(STATUS "# FEATURE_OPENXR_LAYER_CYLINDER: ${XRT_FEATURE_OPENXR_LAYER_CYLINDER}")
|
||||||
|
@ -549,6 +557,6 @@ message(STATUS "#####----- Config -----#####")
|
||||||
if(XRT_FEATURE_SERVICE AND NOT XRT_FEATURE_OPENXR)
|
if(XRT_FEATURE_SERVICE AND NOT XRT_FEATURE_OPENXR)
|
||||||
message(FATAL_ERROR "XRT_FEATURE_SERVICE requires XRT_FEATURE_OPENXR to be enabled")
|
message(FATAL_ERROR "XRT_FEATURE_SERVICE requires XRT_FEATURE_OPENXR to be enabled")
|
||||||
endif()
|
endif()
|
||||||
if(XRT_FEATURE_SERVICE AND NOT XRT_FEATURE_IPC)
|
if(XRT_FEATURE_SERVICE AND NOT XRT_MODULE_IPC)
|
||||||
message(FATAL_ERROR "XRT_FEATURE_SERVICE requires XRT_FEATURE_IPC to be enabled")
|
message(FATAL_ERROR "XRT_FEATURE_SERVICE requires XRT_MODULE_IPC to be enabled")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright 2019-2022, Collabora, Ltd.
|
# Copyright 2019-2023, Collabora, Ltd.
|
||||||
# SPDX-License-Identifier: BSL-1.0
|
# SPDX-License-Identifier: BSL-1.0
|
||||||
|
|
||||||
# Order matters.
|
# Order matters.
|
||||||
|
@ -6,10 +6,11 @@ add_subdirectory(include)
|
||||||
add_subdirectory(auxiliary)
|
add_subdirectory(auxiliary)
|
||||||
add_subdirectory(tracking)
|
add_subdirectory(tracking)
|
||||||
add_subdirectory(drivers)
|
add_subdirectory(drivers)
|
||||||
add_subdirectory(compositor)
|
if(XRT_MODULE_COMPOSITOR)
|
||||||
|
add_subdirectory(compositor)
|
||||||
|
endif()
|
||||||
add_subdirectory(state_trackers)
|
add_subdirectory(state_trackers)
|
||||||
add_subdirectory(targets)
|
if(XRT_MODULE_IPC)
|
||||||
|
|
||||||
if(XRT_FEATURE_IPC)
|
|
||||||
add_subdirectory(ipc)
|
add_subdirectory(ipc)
|
||||||
endif()
|
endif()
|
||||||
|
add_subdirectory(targets)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright 2019-2022, Collabora, Ltd.
|
# Copyright 2019-2023, Collabora, Ltd.
|
||||||
# SPDX-License-Identifier: BSL-1.0
|
# SPDX-License-Identifier: BSL-1.0
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -167,7 +167,7 @@ endif()
|
||||||
# Main library
|
# Main library
|
||||||
#
|
#
|
||||||
|
|
||||||
if(XRT_FEATURE_COMPOSITOR_MAIN)
|
if(XRT_MODULE_COMPOSITOR_MAIN)
|
||||||
|
|
||||||
add_library(
|
add_library(
|
||||||
comp_main STATIC
|
comp_main STATIC
|
||||||
|
@ -295,7 +295,7 @@ endif()
|
||||||
# Null compositor
|
# Null compositor
|
||||||
#
|
#
|
||||||
|
|
||||||
if(XRT_FEATURE_COMPOSITOR_NULL)
|
if(XRT_MODULE_COMPOSITOR_NULL)
|
||||||
add_subdirectory(null)
|
add_subdirectory(null)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -314,7 +314,7 @@ target_link_libraries(
|
||||||
)
|
)
|
||||||
target_include_directories(comp_multi PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
target_include_directories(comp_multi PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
if(XRT_FEATURE_COMPOSITOR_MAIN)
|
if(XRT_MODULE_COMPOSITOR_MAIN)
|
||||||
target_link_libraries(comp_main PRIVATE comp_multi)
|
target_link_libraries(comp_main PRIVATE comp_multi)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright 2020-2022, Collabora, Ltd.
|
// Copyright 2020-2023, Collabora, Ltd.
|
||||||
// SPDX-License-Identifier: BSL-1.0
|
// SPDX-License-Identifier: BSL-1.0
|
||||||
/*!
|
/*!
|
||||||
* @file
|
* @file
|
||||||
|
@ -9,12 +9,18 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
/* keep sorted */
|
||||||
|
|
||||||
|
#cmakedefine XRT_MODULE_IPC
|
||||||
|
#cmakedefine XRT_MODULE_COMPOSITOR
|
||||||
|
#cmakedefine XRT_MODULE_COMPOSITOR_MAIN
|
||||||
|
#cmakedefine XRT_MODULE_COMPOSITOR_NULL
|
||||||
|
|
||||||
|
|
||||||
/* keep sorted */
|
/* keep sorted */
|
||||||
|
|
||||||
#cmakedefine XRT_FEATURE_COLOR_LOG
|
#cmakedefine XRT_FEATURE_COLOR_LOG
|
||||||
#cmakedefine XRT_FEATURE_COMPOSITOR_MAIN
|
|
||||||
#cmakedefine XRT_FEATURE_COMPOSITOR_NULL
|
|
||||||
#cmakedefine XRT_FEATURE_IPC
|
|
||||||
#cmakedefine XRT_FEATURE_OPENXR
|
#cmakedefine XRT_FEATURE_OPENXR
|
||||||
#cmakedefine XRT_FEATURE_OPENXR_DEBUG_UTILS
|
#cmakedefine XRT_FEATURE_OPENXR_DEBUG_UTILS
|
||||||
#cmakedefine XRT_FEATURE_OPENXR_LAYER_CUBE
|
#cmakedefine XRT_FEATURE_OPENXR_LAYER_CUBE
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright 2019-2022, Collabora, Ltd.
|
# Copyright 2019-2023, Collabora, Ltd.
|
||||||
# SPDX-License-Identifier: BSL-1.0
|
# SPDX-License-Identifier: BSL-1.0
|
||||||
|
|
||||||
####
|
####
|
||||||
|
@ -165,7 +165,7 @@ endif()
|
||||||
# Instance
|
# Instance
|
||||||
#
|
#
|
||||||
|
|
||||||
if(XRT_FEATURE_COMPOSITOR_MAIN OR XRT_FEATURE_COMPOSITOR_NULL)
|
if(XRT_MODULE_COMPOSITOR_MAIN OR XRT_MODULE_COMPOSITOR_NULL)
|
||||||
add_library(target_instance STATIC target_instance.c)
|
add_library(target_instance STATIC target_instance.c)
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
target_instance
|
target_instance
|
||||||
|
@ -178,11 +178,11 @@ if(XRT_FEATURE_COMPOSITOR_MAIN OR XRT_FEATURE_COMPOSITOR_NULL)
|
||||||
)
|
)
|
||||||
target_include_directories(target_instance PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
target_include_directories(target_instance PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
if(XRT_FEATURE_COMPOSITOR_MAIN)
|
if(XRT_MODULE_COMPOSITOR_MAIN)
|
||||||
target_link_libraries(target_instance PRIVATE comp_main)
|
target_link_libraries(target_instance PRIVATE comp_main)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(XRT_FEATURE_COMPOSITOR_NULL)
|
if(XRT_MODULE_COMPOSITOR_NULL)
|
||||||
target_link_libraries(target_instance PRIVATE comp_null)
|
target_link_libraries(target_instance PRIVATE comp_null)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#include "util/u_trace_marker.h"
|
#include "util/u_trace_marker.h"
|
||||||
#include "util/u_system_helpers.h"
|
#include "util/u_system_helpers.h"
|
||||||
|
|
||||||
#ifdef XRT_FEATURE_COMPOSITOR_MAIN
|
#ifdef XRT_MODULE_COMPOSITOR_MAIN
|
||||||
#include "main/comp_main_interface.h"
|
#include "main/comp_main_interface.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
|
|
||||||
#ifdef XRT_FEATURE_COMPOSITOR_MAIN
|
#ifdef XRT_MODULE_COMPOSITOR_MAIN
|
||||||
#define USE_NULL_DEFAULT (false)
|
#define USE_NULL_DEFAULT (false)
|
||||||
#else
|
#else
|
||||||
#define USE_NULL_DEFAULT (true)
|
#define USE_NULL_DEFAULT (true)
|
||||||
|
@ -73,7 +73,7 @@ t_instance_create_system(struct xrt_instance *xinst,
|
||||||
|
|
||||||
bool use_null = debug_get_bool_option_use_null();
|
bool use_null = debug_get_bool_option_use_null();
|
||||||
|
|
||||||
#ifdef XRT_FEATURE_COMPOSITOR_NULL
|
#ifdef XRT_MODULE_COMPOSITOR_NULL
|
||||||
if (use_null) {
|
if (use_null) {
|
||||||
xret = null_compositor_create_system(head, &xsysc);
|
xret = null_compositor_create_system(head, &xsysc);
|
||||||
}
|
}
|
||||||
|
@ -84,7 +84,7 @@ t_instance_create_system(struct xrt_instance *xinst,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef XRT_FEATURE_COMPOSITOR_MAIN
|
#ifdef XRT_MODULE_COMPOSITOR_MAIN
|
||||||
if (xret == XRT_SUCCESS && xsysc == NULL) {
|
if (xret == XRT_SUCCESS && xsysc == NULL) {
|
||||||
xret = comp_main_create_system_compositor(head, NULL, &xsysc);
|
xret = comp_main_create_system_compositor(head, NULL, &xsysc);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue