Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'build_files/cmake')
-rw-r--r--build_files/cmake/Modules/FindXR-OpenXR-SDK.cmake73
-rw-r--r--build_files/cmake/config/blender_full.cmake3
-rw-r--r--build_files/cmake/config/blender_lite.cmake1
-rw-r--r--build_files/cmake/config/blender_release.cmake3
-rw-r--r--build_files/cmake/platform/platform_apple.cmake8
-rw-r--r--build_files/cmake/platform/platform_unix.cmake8
-rw-r--r--build_files/cmake/platform/platform_win32.cmake12
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()