blender/build_files/build_environment/cmake
Julian Eisel a22573e243 Build System: Add OpenXR-SDK dependency and WITH_XR_OPENXR build option
The OpenXR-SDK contains utilities for using the OpenXR standard
(https://www.khronos.org/openxr/). Namely C-headers and a so called
"loader" to manage runtime linking to OpenXR platforms ("runtimes")
installed on the user's system.

The WITH_XR_OPENXR build option is disabled by default for now, as there
is no code using it yet. On macOS it will remain disabled for now, it's
untested and there's no OpenXR runtime in sight for it.

Some points on the OpenXR-SDK dependency:
* The repository is located at
  https://github.com/KhronosGroup/OpenXR-SDK (Apache 2).
* Notes on updating the dependency:
  https://wiki.blender.org/wiki/Source/OpenXR_SDK_Dependency
* It contains a bunch of generated files, for which the sources are in a
  separate repository
  (https://github.com/KhronosGroup/OpenXR-SDK-Source).
* We could use that other repo by default, but I'd rather go with the
  simpler solution and allow people to opt in if they want advanced dev
  features.
* We currently use the OpenXR loader lib from it and the headers.
* To use the injected OpenXR API-layers from the SDK (e.g. API
  validation layers), the SDK needs to be compiled from this other
  repository.

The extra "XR_" prefix in the build option is to avoid mix-ups of OpenXR
with OpenEXR.

Most of this comes from the 2019 GSoC project, "Core Support of Virtual
Reality Headsets through OpenXR"
(https://wiki.blender.org/wiki/User:Severin/GSoC-2019/).

Differential Revision: https://developer.blender.org/D6188

Reviewed by: Campbell Barton, Sergey Sharybin, Bastien Montagne, Ray
Molenkamp
2020-03-04 16:45:07 +01:00
..
alembic.cmake Build: upgrade to OpenEXR 2.4.0, OpenVDB 7.0.0 and Boost 1.70.0 2020-01-20 09:43:28 +01:00
blosc.cmake Make deps: Fix zlib symbols defined twice 2020-01-23 16:59:18 +01:00
boost.cmake Fix macOS build warnings about Boost symbol visibility 2020-02-15 13:44:20 +01:00
bzip2.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
check_software.cmake Fix make deps libtool detection on macOS 2019-10-09 10:54:55 +02:00
clang.cmake Build_environment: OSL 1.10.9 / llvm 9.0.1 2020-02-08 13:01:31 -07:00
clew.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
cuew.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
embree.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
faad.cmake Cleanup: style, indentation 2019-06-19 07:32:21 +10:00
ffi.cmake Cleanup: style, indentation 2019-06-19 07:32:21 +10:00
ffmpeg.cmake make_deps: Fix building ffmpeg on windows 2019-10-04 14:09:50 -06:00
fftw.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
flac.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
flexbison.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
freeglut.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
freetype.cmake Build_environment: Freetype 2.10.1 2020-02-08 14:23:28 -07:00
glew.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
glfw.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
harvest.cmake Build System: Add OpenXR-SDK dependency and WITH_XR_OPENXR build option 2020-03-04 16:45:07 +01:00
hdf5.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
hidapi.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
iconv.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
jemalloc.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
jpeg.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
lame.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
lcms.cmake CMake: add missing headers, use space before comments 2019-10-29 01:33:44 +11:00
libglu.cmake Deps: Add libraries needed for Software GL 2019-10-09 12:37:04 +02:00
llvm.cmake Fix macOS LLVM precompiled link error with older Xcode versions 2020-02-17 11:35:07 +01:00
lzma.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
mesa.cmake Deps: Fix wrong LLVM prefix used for Mesa 2019-10-09 12:51:31 +02:00
numpy.cmake deps: python 3.7.4 for windows. 2019-08-13 17:02:19 -06:00
ogg.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
openal.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
opencollada.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
opencolorio.cmake Windows: Fix build errors during deps build on windows. 2019-11-10 15:45:30 -07:00
openexr.cmake Build: upgrade to OpenEXR 2.4.0, OpenVDB 7.0.0 and Boost 1.70.0 2020-01-20 09:43:28 +01:00
openimagedenoise.cmake Compositor: Added denoising node 2019-08-14 21:40:35 +02:00
openimageio.cmake Build: upgrade to OpenEXR 2.4.0, OpenVDB 7.0.0 and Boost 1.70.0 2020-01-20 09:43:28 +01:00
openjpeg.cmake CMake: add missing headers, use space before comments 2019-10-29 01:33:44 +11:00
openmp.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
opensubdiv.cmake Windows: Switch to the dynamic C runtime 2019-11-08 09:01:00 -07:00
openvdb.cmake Build: upgrade to OpenEXR 2.4.0, OpenVDB 7.0.0 and Boost 1.70.0 2020-01-20 09:43:28 +01:00
options.cmake Cleanup: remove WITH_EMBREE make deps option 2020-02-15 20:31:18 +01:00
opus.cmake Add Opus audio library and configure FFmpeg to use it 2019-10-04 16:30:01 +02:00
osl.cmake Fix make deps OSL build on some systems with Qt libraries 2020-02-19 11:41:38 +01:00
package_python.cmake Fix: T71159 missing python3.dll 2020-01-18 11:58:38 -07:00
png.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
pthreads.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
pugixml.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
python_site_packages.cmake deps: python 3.7.4 for windows. 2019-08-13 17:02:19 -06:00
python.cmake build_deps: include venv on windows 2020-02-17 18:41:24 -07:00
python.map Build environment: Enable SSL for Python on Linux 2018-08-27 18:14:42 +02:00
sdl.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
setup_mingw32.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
setup_mingw64.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
sndfile.cmake CMake: add missing headers, use space before comments 2019-10-29 01:33:44 +11:00
spnav.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
sqlite.cmake Fix T68243: Python sqlite module not working on macOS 2020-02-11 10:17:35 +01:00
ssl.cmake Cleanup: style, indentation 2019-06-19 07:32:21 +10:00
ssl.conf Build Environment: updates for macOS. 2018-09-11 07:51:17 +02:00
tbb.cmake msvc: Use debug versions of tbb malloc for debug builds 2019-11-17 14:26:29 -07:00
theora.cmake Cleanup: style 2019-10-21 15:05:56 +11:00
tiff.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
tinyxml.cmake CMake: add missing headers, use space before comments 2019-10-29 01:33:44 +11:00
usd.cmake USD: Introducing a simple USD Exporter 2019-12-13 10:27:40 +01:00
versions.cmake Build System: Add OpenXR-SDK dependency and WITH_XR_OPENXR build option 2020-03-04 16:45:07 +01:00
vorbis.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
vpx.cmake Fix T70514: VP9 not working 2019-10-04 16:30:01 +02:00
webp.cmake Windows: Switch to the dynamic C runtime 2019-11-08 09:01:00 -07:00
x264.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
xml2.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
xr_openxr.cmake Build System: Add OpenXR-SDK dependency and WITH_XR_OPENXR build option 2020-03-04 16:45:07 +01:00
xvidcore.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
yamlcpp.cmake Windows: Switch to the dynamic C runtime 2019-11-08 09:01:00 -07:00
zlib_mingw.cmake Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
zlib.cmake Cleanup: style, indentation 2019-06-19 07:32:21 +10:00