cycles/BUILDING.md
Brecht Van Lommel aab8a4935b Build: update build system for Blender 3.5 libraries
This updates the libraries dependencies for VFX platform 2023. It also
switches various static libraries to shared.

When building a Hydra render delegate for Houdini 19 on Linux, the old
libraries will be used instead of the new ones, for compatibility with
the old C++ ABI.
2023-04-04 20:32:30 +02:00

100 lines
2.9 KiB
Markdown

Building Cycles
===============
## Quick Setup
Ensure the following software is installed and available in the PATH:
- Git
- Subversion
- Python 3
- CMake
Quick build setup on Windows, macOS and Linux is as follows:
git clone git://git.blender.org/cycles.git
cd cycles
make update
make
This will download the Cycles source code, download precompiled libraries, configure CMake, and build.
The resulting binary will be at:
./install/cycles
## Hydra Render Delegate with USD Repository
This will make the render delegate work with usdview and other applications built using the USD repository. USD version 21.11 or newer is required.
USD includes a script to build itself and all required dependencies and then install the result a specified directory.
git clone https://github.com/PixarAnimationStudios/USD.git
cd USD
python3 build_scripts/build_usd.py "<path to USD install>"
Build Cycles pointing to this directory.
cmake -B ./build -DPXR_ROOT="<path to USD install>"
make
Test in usdview.
PYTHONPATH=<path to USD install>/lib/python PXR_PLUGINPATH_NAME=<path to cycles>/install/hydra <path to USD install>/bin/usdview
## Hydra Render Delegate for Houdini
For use in Houdini, Cycles must be built using Houdini's USD libraries. Houdini version 19 or newer is required.
cmake -B ./build -DHOUDINI_ROOT="<path to Houdini>"
make
The path to Houdini depends on the operating system, typically:
- Linux: `/opt/hfsX.Y`
- macOS: `/Applications/Houdini/HoudiniX.Y.ZZZ`
- Windows: `C:/Program Files/Side Effects Software/Houdini X.Y.ZZZ`
Test in Houdini using an environment variable.
PXR_PLUGINPATH_NAME=<path to cycles>/install/houdini/dso/usd_plugins houdini
Or copy `install/houdini/packages/cycles.json` to the Houdini packages directory to make it always available.
## Build System
Cycles uses the CMake build system. As an alternative to the `make` wrapper, CMake can be manually configured.
See the CMake configuration to enable and disable various features.
The precompiled libraries are shared with Blender, and will be automatically downloaded from the Blender repository with `make update`. They can also be manually downloaded from:
https://svn.blender.org/svnroot/bf-blender/trunk/lib/
The precompiled libraries are expected to be in a `lib/<platform>` folder next to the `cycles/` source folder.
## Dependencies
Core Cycles has the following required and optional library dependencies. These are all included in precompiled libraries.
Required:
- OpenImageIO
- TBB
Optional:
- Alembic
- Embree
- OpenColorIO
- OpenVDB / NanoVDB
- OpenShadingLanguage
- OpenImageDenoise
- USD
For GUI support, the following libraries are required. The SDL library must be manually provided, it's not part of the precompiled libraries.
- OpenGL
- GLEW
- SDL
For GPU rendering support on NVIDIA cards, these need to be downloaded and installed from the NVIDIA website.
- CUDA Toolkit 11 or newer
- OptiX 7.3 SDK or newer