diff options
Diffstat (limited to 'build_files/cmake')
-rw-r--r-- | build_files/cmake/Modules/FindXR-OpenXR-SDK.cmake | 73 | ||||
-rw-r--r-- | build_files/cmake/config/blender_full.cmake | 3 | ||||
-rw-r--r-- | build_files/cmake/config/blender_lite.cmake | 1 | ||||
-rw-r--r-- | build_files/cmake/config/blender_release.cmake | 3 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_apple.cmake | 8 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_unix.cmake | 8 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_win32.cmake | 12 |
7 files changed, 108 insertions, 0 deletions
diff --git a/build_files/cmake/Modules/FindXR-OpenXR-SDK.cmake b/build_files/cmake/Modules/FindXR-OpenXR-SDK.cmake new file mode 100644 index 00000000000..71b40ec1bde --- /dev/null +++ b/build_files/cmake/Modules/FindXR-OpenXR-SDK.cmake @@ -0,0 +1,73 @@ +# - Find OpenXR-SDK libraries +# Find the native OpenXR-SDK includes and libraries +# +# Note that there is a distinction between the OpenXR standard and the SDK. The +# latter provides utilities to use the standard but is not part of it. Most +# importantly, it contains C headers and a loader library, which manages +# dynamic linking to OpenXR runtimes like Monado, Windows Mixed Reality or +# Oculus. See the repository for more details: +# https://github.com/KhronosGroup/OpenXR-SDK +# +# This module defines +# XR_OPENXR_SDK_INCLUDE_DIRS, where to find OpenXR-SDK headers, Set when +# XR_OPENXR_SDK_INCLUDE_DIR is found. +# XR_OPENXR_SDK_LIBRARIES, libraries to link against to use OpenXR. +# XR_OPENXR_SDK_ROOT_DIR, the base directory to search for OpenXR-SDK. +# This can also be an environment variable. +# XR_OPENXR_SDK_FOUND, if false, do not try to use OpenXR-SDK. +# +# also defined, but not for general use are +# XR_OPENXR_SDK_LOADER_LIBRARY, where to find the OpenXR-SDK loader library. + +#============================================================================= +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= + +# If XR_OPENXR_SDK_ROOT_DIR was defined in the environment, use it. +IF(NOT XR_OPENXR_SDK_ROOT_DIR AND NOT $ENV{XR_OPENXR_SDK_ROOT_DIR} STREQUAL "") + SET(XR_OPENXR_SDK_ROOT_DIR $ENV{XR_OPENXR_SDK_ROOT_DIR}) +ENDIF() + +SET(_xr_openxr_sdk_SEARCH_DIRS + ${XR_OPENXR_SDK_ROOT_DIR} + /opt/lib/xr-openxr-sdk +) + +FIND_PATH(XR_OPENXR_SDK_INCLUDE_DIR + NAMES + openxr/openxr.h + HINTS + ${_xr_openxr_sdk_SEARCH_DIRS} + PATH_SUFFIXES + include +) + +FIND_LIBRARY(XR_OPENXR_SDK_LOADER_LIBRARY + NAMES + openxr_loader + HINTS + ${_xr_openxr_sdk_SEARCH_DIRS} + PATH_SUFFIXES + lib64 lib +) + +# handle the QUIETLY and REQUIRED arguments and set XR_OPENXR_SDK_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(XR_OPENXR_SDK DEFAULT_MSG + XR_OPENXR_SDK_LOADER_LIBRARY XR_OPENXR_SDK_INCLUDE_DIR) + +IF(XR_OPENXR_SDK_FOUND) + SET(XR_OPENXR_SDK_LIBRARIES ${XR_OPENXR_SDK_LOADER_LIBRARY}) + SET(XR_OPENXR_SDK_INCLUDE_DIRS ${XR_OPENXR_SDK_INCLUDE_DIR}) +ENDIF(XR_OPENXR_SDK_FOUND) + +MARK_AS_ADVANCED( + XR_OPENXR_SDK_INCLUDE_DIR + XR_OPENXR_SDK_LOADER_LIBRARY +) diff --git a/build_files/cmake/config/blender_full.cmake b/build_files/cmake/config/blender_full.cmake index f5cfedc8ea7..a997d7c0e68 100644 --- a/build_files/cmake/config/blender_full.cmake +++ b/build_files/cmake/config/blender_full.cmake @@ -61,3 +61,6 @@ if(UNIX AND NOT APPLE) set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE) set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE) endif() +if(NOT APPLE) + set(WITH_XR_OPENXR ON CACHE BOOL "" FORCE) +endif() diff --git a/build_files/cmake/config/blender_lite.cmake b/build_files/cmake/config/blender_lite.cmake index 77336dd20b9..7c94ce9d672 100644 --- a/build_files/cmake/config/blender_lite.cmake +++ b/build_files/cmake/config/blender_lite.cmake @@ -44,6 +44,7 @@ set(WITH_OPENAL OFF CACHE BOOL "" FORCE) set(WITH_OPENCOLLADA OFF CACHE BOOL "" FORCE) set(WITH_OPENCOLORIO OFF CACHE BOOL "" FORCE) set(WITH_OPENIMAGEDENOISE OFF CACHE BOOL "" FORCE) +set(WITH_XR_OPENXR OFF CACHE BOOL "" FORCE) set(WITH_OPENIMAGEIO OFF CACHE BOOL "" FORCE) set(WITH_OPENMP OFF CACHE BOOL "" FORCE) set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE) diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake index 1a610ee45da..01a59e451aa 100644 --- a/build_files/cmake/config/blender_release.cmake +++ b/build_files/cmake/config/blender_release.cmake @@ -65,3 +65,6 @@ if(UNIX AND NOT APPLE) set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE) set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE) endif() +if(NOT APPLE) + set(WITH_XR_OPENXR ON CACHE BOOL "" FORCE) +endif() diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 123eb3ef7a0..11889fc7a87 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -421,6 +421,14 @@ if(WITH_OPENMP) endif() endif() +if(WITH_XR_OPENXR) + find_package(OpenXR-SDK) + if(NOT OPENXR_SDK_FOUND) + message(WARNING "OpenXR-SDK was not found, disabling WITH_XR_OPENXR") + set(WITH_XR_OPENXR OFF) + endif() +endif() + set(EXETYPE MACOSX_BUNDLE) set(CMAKE_C_FLAGS_DEBUG "-fno-strict-aliasing -g") diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake index 3b40f7c329b..dcb6b9d34f9 100644 --- a/build_files/cmake/platform/platform_unix.cmake +++ b/build_files/cmake/platform/platform_unix.cmake @@ -428,6 +428,14 @@ if(WITH_TBB) find_package_wrapper(TBB) endif() +if(WITH_XR_OPENXR) + find_package(XR-OpenXR-SDK) + if(NOT XR_OPENXR_SDK_FOUND) + message(WARNING "OpenXR-SDK not found, disabling WITH_XR_OPENXR") + set(WITH_XR_OPENXR OFF) + endif() +endif() + if(EXISTS ${LIBDIR}) without_system_libs_end() endif() diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 7ba7e3999e4..452deb497b2 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -713,3 +713,15 @@ if(WINDOWS_PYTHON_DEBUG) </Project>") endif() endif() + +if(WITH_XR_OPENXR) + if(EXISTS ${LIBDIR}/xr_openxr_sdk) + set(XR_OPENXR_SDK ${LIBDIR}/xr_openxr_sdk) + set(XR_OPENXR_SDK_LIBPATH ${LIBDIR}/xr_openxr_sdk/lib) + set(XR_OPENXR_SDK_INCLUDE_DIR ${XR_OPENXR_SDK}/include) + set(XR_OPENXR_SDK_LIBRARIES optimized ${XR_OPENXR_SDK_LIBPATH}/openxr_loader.lib debug ${XR_OPENXR_SDK_LIBPATH}/openxr_loader_d.lib) + else() + message(WARNING "OpenXR-SDK was not found, disabling WITH_XR_OPENXR") + set(WITH_XR_OPENXR OFF) + endif() +endif() |