The official Blender project repository.
Go to file
Jesse Yurkovich ec4fc2d34a
All checks were successful
buildbot/vdev-code-daily-lint Build done.
buildbot/vdev-code-daily-linux-x86_64 Build done.
buildbot/vdev-code-daily-windows-amd64 Build done.
buildbot/vdev-code-daily-darwin-arm64 Build done.
buildbot/vdev-code-daily-darwin-x86_64 Build done.
buildbot/vdev-code-daily-coordinator Build done.
CMake: Modernize the optional TBB dependency
This continues the cmake modernization effort and introduces support for
allowing our optional dependencies to integrate properly. TBB is added
here as it's proven troublesome to maintain correctly.

Currently the only Blender project which uses the TBB headers directly
is `blenlib`.  However, all downstream projects which require blenlib as
their dependency, and wish to properly make use of its threading
facilities, needed to define various TBB items in their CMake files. Not
only is this unnecessary and arcane, but several projects didn't do this
and ended up not using threading as well as producing ODR violations
along the way[1].

This PR makes TBB a modern dependency and exposes it PUBLIC'ly from
`blenlib`.  All downstream projects which depend on blenlib will now
receive everything they require from TBB automatically. This includes
the `WITH_TBB` define, the headers, and the library itself.

[1] blender/blender@05241f47f5

Pull Request: #124916
2024-07-19 23:30:56 +02:00
.gitea Issue template: Add guidelines surrounding content restrictions 2024-05-31 17:22:07 +02:00
.github Fix: Switch to scheduled trigger for appropriate permission scope in workflow 2024-05-28 14:12:20 +02:00
build_files CMake: Modernize the optional TBB dependency 2024-07-19 23:30:56 +02:00
doc PyDocs: distinguish between tuple and union data types 2024-07-18 15:39:04 +10:00
extern CMake: Modernize the optional TBB dependency 2024-07-19 23:30:56 +02:00
intern CMake: Modernize the optional TBB dependency 2024-07-19 23:30:56 +02:00
lib Fix #124086: blake2 hasher is unavailable on macOS 2024-07-03 14:46:33 +02:00
locale I18N: updated UI translations from git/weblate repository (43b5cb1cbab4c7ea). 2024-07-15 10:36:02 +02:00
release Assets: Update asset repository hash for removed tool icons 2024-07-15 19:11:52 +02:00
scripts UI: Remove "Widget Label" Text Style 2024-07-19 21:57:49 +02:00
source CMake: Modernize the optional TBB dependency 2024-07-19 23:30:56 +02:00
tests Render tests: Use blocklist name for blocked tests 2024-07-18 17:31:52 +02:00
tools Cleanup: spelling in comments 2024-07-13 16:56:57 +10:00
.clang-format Clang-Format: Ensure single new line at the end of files 2024-02-22 14:42:10 +01:00
.clang-tidy Clang-tidy: Ignore variable name length and .c/.cc include warnings 2022-05-06 15:26:54 +02:00
.editorconfig editorconfig: add HTML entry 2023-12-08 13:28:13 +11:00
.git-blame-ignore-revs Cleanup: add commit to .git-blame-ignore-revs 2023-05-03 20:31:11 +10:00
.gitignore Switch SVN to Git submodules using Git-LFS 2024-02-22 13:50:55 +01:00
.gitmodules Revert "Release: Updates for the 4.2 branch" 2024-06-05 12:33:31 +02:00
AUTHORS AUTHORS: add 2 new authors, 3 updated names 2024-07-05 21:04:39 +10:00
CMakeLists.txt CMake: Modernize the optional TBB dependency 2024-07-19 23:30:56 +02:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile Cleanup: remove unused icon utilities and make convenience target 2024-06-27 18:28:32 +02:00
make.bat Cleanup: remove unused icon utilities and make convenience target 2024-06-27 18:28:32 +02:00
pyproject.toml Extensions: Support online extensions and move add-ons outside Blender 2024-05-15 19:26:29 +02:00
README.md Docs: Replace most wiki links with links to new developer docs 2024-01-18 16:49:38 +01:00

Blender

Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.

Blender screenshot

Project Pages

Development

License

Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.

See blender.org/about/license for details.