Commit Graph

584 Commits

Author SHA1 Message Date
Sybren A. Stüvel
88a86c025c Deps: TBB changed their repository URL
As a result the MD5sum of the downloaded package also changed.
2020-03-23 16:04:52 +01:00
Julian Eisel
9e8afa8817 Fix OpenXR SDK failing to compile with no JsonCpp installed
Force the SDK to use its own, bundled JsonCpp sources.
2020-03-21 21:58:17 +01:00
Julian Eisel
c589fdc8db Fix install_deps.sh ignoring --skip-xr-openxr 2020-03-21 19:03:56 +01:00
Bastien Montagne
82fc81816e Fix openXR building with install_deps in some compilers. 2020-03-18 15:11:03 +01:00
blender
ba3d49225c make deps: Fixes to make OpenXR to work on CentOS Linux
- Harvest to a proper location.
- Disable STD's filesystem which is experimental and caused
  linking errors when OpenXR is usedi n Blender.
2020-03-17 18:35:29 +01:00
Bastien Montagne
0d05fd9b4c Install_deps: fix wrong XR_OPENXR_ROOT_DIR parameter for CMake.
Should be `XR_OPENXR_SDK_ROOT_DIR`.`
2020-03-08 17:14:58 +01:00
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
Bastien Montagne
6dd3e7d84d install_deps: fix several issues.
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.
2020-02-25 15:59:26 +01:00
Brecht Van Lommel
d109ea5ee5 Fix make deps failing to build opencollada on Linux, due to line endings
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.
2020-02-24 19:23:25 +01:00
Brecht Van Lommel
02f44049a8 Fix make deps OSL build on some systems with Qt libraries 2020-02-19 11:41:38 +01:00
Ray Molenkamp
d0c159ae97 build_deps: include venv on windows 2020-02-17 18:41:24 -07:00
Brecht Van Lommel
c498abb103 Fix macOS LLVM precompiled link error with older Xcode versions 2020-02-17 11:35:07 +01:00
Brecht Van Lommel
50975026ff Cleanup: remove WITH_EMBREE make deps option
No other default enabled libraries have an option either.
2020-02-15 20:31:18 +01:00
Brecht Van Lommel
39fb33f0b7 Fix macOS build warnings about Boost symbol visibility
The default in Boost changed from global to hidden, but other libraries do
not use hidden symbols which gives warnings at link time on macOS.
2020-02-15 13:44:20 +01:00
Brecht Van Lommel
9531a8a10a Build: enable Embree by default for make deps
Ref T73819, T73778
2020-02-15 13:44:17 +01:00
Campbell Barton
1135c2cd17 Cleanup: CMake formatting 2020-02-15 10:40:41 +11:00
Stefan Werner
6608caef0e build_environment: Upgraded Embree to 3.8.0
The latest versions of Embree allow similar motion interpolation
as Cycles' own BVH.
2020-02-14 19:14:32 +01:00
Philipp Oeser
58cdab8b97 install_deps.sh: correct clang/llvm download URLs 2020-02-11 15:02:45 +01:00
Brecht Van Lommel
757da61606 Fix T68243: Python sqlite module not working on macOS 2020-02-11 10:17:35 +01:00
Bastien Montagne
c6e28f6513 Updated install_deps to latest required OSL/LLVM. 2020-02-10 17:36:06 +01:00
Sybren A. Stüvel
ec116e3d49 USD: Install USD library via install_deps.sh
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
2020-02-10 15:07:56 +01:00
Ray Molenkamp
6a1414dc58 Build_environment: Fix unwanted exports from oidn on windows.
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
2020-02-08 15:32:19 -07:00
Ray Molenkamp
8c509f98e1 Build_environment: Fix unwanted exports from libxml on windows.
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
2020-02-08 15:04:09 -07:00
Ray Molenkamp
67d3613d1a Build_environment: Freetype 2.10.1
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
2020-02-08 14:23:28 -07:00
Ray Molenkamp
b9c9b00171 Build_environment: OSL 1.10.9 / llvm 9.0.1
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
2020-02-08 13:01:31 -07:00
Campbell Barton
be70fcd7f2 Merge branch 'blender-v2.82-release' 2020-02-06 01:24:49 +11:00
Campbell Barton
87c18fbbc5 CMake: remove non-standard package search paths
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'.
2020-02-06 01:23:22 +11:00
Sergey Sharybin
b5652f3f02 Merge branch 'blender-v2.82-release' 2020-01-24 15:24:27 +01:00
Sergey Sharybin
cb6f9c2f19 Make deps: Force some boost dependencies
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
2020-01-24 15:21:36 +01:00
Sergey Sharybin
6fff73e3f0 Merge branch 'blender-v2.82-release' 2020-01-23 16:59:50 +01:00
Brecht Van Lommel
544ee7a4f2 Make deps: Fix zlib symbols defined twice
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
2020-01-23 16:59:18 +01:00
Campbell Barton
abce4833a6 install_deps.sh: strip trailing punctuation from version numbers
Encountered this issue when enabling more libraries.
2020-01-23 03:39:06 +11:00
Campbell Barton
fde6151641 install_deps.sh: fix versions such as 1.6_RC2 failing to compare
This is stripped off since it causes an error when evaluating
the strings as numbers.
2020-01-23 02:17:28 +11:00
Campbell Barton
0272acee0d install_deps.sh: fix IFS being incorrect when a version check fails
This caused quoting to fail later on.
2020-01-23 01:42:33 +11:00
Campbell Barton
fc0df1ffb4 Revert "install_deps.sh: fix ffmpeg package installation on Arch"
This reverts commit 3cb212602c.

The root cause was IFS being set incorrectly.
2020-01-23 01:42:33 +11:00
Campbell Barton
3cb212602c install_deps.sh: fix ffmpeg package installation on Arch
A blank space at the start of the string caused the list to be quoted
as a single argument.
2020-01-23 00:50:33 +11:00
Campbell Barton
e790f4a49f install_deps.sh: define sections with overlines
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).
2020-01-23 00:45:34 +11:00
Campbell Barton
2b236294bb install_deps.sh: use jack2 on Arch 2020-01-23 00:41:26 +11:00
Campbell Barton
a90c2834a1 install_deps.sh: add debugging options
Add USE_DEBUG_TRAP, USE_DEBUG_LOG for trapping errors and logging
executed lines respectively.

Handy for troubleshooting issues in the script.
2020-01-23 00:41:26 +11:00
Campbell Barton
4099ad1984 install_deps.sh: quiet warning in install_deps.sh
The unquoted check gave a 'binary operator expected' warning.
2020-01-22 17:30:54 +11:00
Ray Molenkamp
4db9562246 libs/windows: Prevent USD exports from leaking into blender binary.
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
2020-01-21 09:47:10 -07:00
Ray Molenkamp
ce92e3d553 Fix: Building with clang on windows.
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
2020-01-21 09:46:53 -07:00
Brecht Van Lommel
a5a30e485f Merge branch 'blender-v2.82-release' 2020-01-20 09:50:09 +01:00
Brecht Van Lommel
02f6722350 Build: upgrade to OpenEXR 2.4.0, OpenVDB 7.0.0 and Boost 1.70.0
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
2020-01-20 09:43:28 +01:00
Brecht Van Lommel
4f4435001a Fix OSL build error on macOS, no need to use external pugixml 2020-01-20 09:39:54 +01:00
Ray Molenkamp
c2e62c1292 Cleanup/deps: Clean up remnants of old python packaging method 2020-01-18 12:00:42 -07:00
Ray Molenkamp
2272f380bd Merge remote-tracking branch 'origin/blender-v2.82-release' 2020-01-18 11:59:18 -07:00
Ray Molenkamp
3e11c4e63b Fix: T71159 missing python3.dll
File got forgotten during the last repack of python.
2020-01-18 11:58:38 -07:00
Ray Molenkamp
86db35845a libs/windows: Prevent USD exports from leaking into blender binary.
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
2020-01-16 13:11:07 -07:00
Ray Molenkamp
8e6c6e2ba1 Fix: Building with clang on windows.
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
2020-01-14 11:12:14 -07:00