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
Lots of fixes and cleanups, mainly addressing:
* OpenEXR building was fully broken.
* Missing dependencies of Alembic to Boost and openEXR.
* OSL had changed its CMake parameters for custom OpenEXR install path.
* Dependencies between libs were not properly handles when switching a
lib from own build to system package.
The OpenCOLLADA package contains a mix of files with unix and dos line endings.
Now we mark the diff as a binary file so that the patch also contains a mix of
line endings that matches the package.
This commit adds the download, extract, patch, build, and install of the
Universal Scene Description (USD) library to the `install_deps.sh`
script.
Reviewed By: mont29, LazyDodo
Differential Revision: https://developer.blender.org/D6478
oidn puts dllexport on all its functions causing the
blender binary to export these symbols.
this patch fixes this unwanted behaviour.
Differential Revision: https://developer.blender.org/D6647
Reviewers: brecht , sergey
libxml puts dllexport on all its functions causing the
blender binary to export these symbols.
this patch fixes this unwanted behaviour.
Differential Revision: https://developer.blender.org/D6646
Reviewers: brecht , sergey
Freeetype 2.9.1 tags dllexport on most of its functions so these
are now exported from the blender binary. (Same issue as D6563
which fixed it for USD)
Issue has already been fixed upstream so a simple version bump
fixes it.
This patch bumps freetype to 2.10.1
Differential Revision: https://developer.blender.org/D6645
Reviewers: brecht , sergey
OSL 1.10.9 fixes osl-bug 866 [1] which is long standing issue
on windows where paths get un-escaped and osl breaks when you
install it to for instance c:\blender-tests\new-boolean
This patch bumps osl to 1.10.9, and since osl is llvm's
only consumer, llvm/clang were bumped 9.0.1
Removed some of the patches that were no longer needed
Builds and passes all tests on windows and linux
[1] https://github.com/imageworks/OpenShadingLanguage/issues/866
Differential Revision: https://developer.blender.org/D6744
Reviewers: brecht
Reduce the number of possible locations used to find libraries,
to simplify troubleshooting.
Only keep '*_ROOT_DIR' and the path used by 'install_deps.sh'.
Boost could have picked up system-wide libbz2-dev installed and enable
this compression in iostreams. Nothing really wrong with this, but it
makes it so final Blender binary depends on bz2, which breaks default
linker flags.
This commit makes it so Boost is not using libraries which we don't
need, simplifying linking setup.
Differential Revision: https://developer.blender.org/D6668
We compile zlib as own dependency, but are not informing BLOSC
to use it. This leads to zlib symbols defined twice when linking
Blender: one set comes from libz.a and another one from libblosc.a.
Tested on Linux Debian testing and CentOS 7.5.
It is possible that this change on its own will lead to linking
errors after libraries are re-compiled, This will be fixed as
a dedicated fix to Blender's build system.
Reviewed By: brecht, mont29, LazyDodo
Differential Revision: https://developer.blender.org/D6641
Over-lines are used in other large files (keymaps for e.g),
using this add-hoc convention for sections make it easier to
configure editors to jump between them (as I have locally).
Even though we build USD as static, it still feels the need to mark its
symbols with declspec(dllexport) which means the blender binary now exports
these symbols.
this patch fixes that unwanted behaviour, however USD libs still need to
rebuild before this becomes visible in the blender binary
Differential Revision: https://developer.blender.org/D6563
Reviewed By: sybren
The USD landing broke building with clang on windows
due to a couple of reasons:
1) Some incompatibilities in their headers [1] only one
of them was important for us and is included in our patchset
now.
2) clangs lld wanted the full path to the libusd_b library
when using the whole archive link option, while msvc can
figure it out from just the library name.
Tested with clang/msvc and msbuild and ninja generators
[1] https://github.com/PixarAnimationStudios/USD/issues/1030
This aligns with the VFX reference platform 2020 along with the decision
to stick to Python 3.7, see T68774.
Blosc was downgraded to 1.5 as recommended by the OpenVDB documentation.
IlmBase and OpenEXR are now built together with CMake rather separately
using autoconf.
Differential Revision: https://developer.blender.org/D6593
Even though we build USD as static, it still feels the need to mark its
symbols with declspec(dllexport) which means the blender binary now exports
these symbols.
this patch fixes that unwanted behaviour, however USD libs still need to
rebuild before this becomes visible in the blender binary
Differential Revision: https://developer.blender.org/D6563
Reviewed By: sybren
The USD landing broke building with clang on windows
due to a couple of reasons:
1) Some incompatibilities in their headers [1] only one
of them was important for us and is included in our patchset
now.
2) clangs lld wanted the full path to the libusd_b library
when using the whole archive link option, while msvc can
figure it out from just the library name.
Tested with clang/msvc and msbuild and ninja generators
[1] https://github.com/PixarAnimationStudios/USD/issues/1030