git: 4436c206592c - main - graphics/blender: Revert "update to v5.1.0"

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Wed, 17 Jun 2026 11:25:29 UTC
The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4436c206592c100a82f010c2c3249a3f389fc98f

commit 4436c206592c100a82f010c2c3249a3f389fc98f
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2026-06-17 11:16:58 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2026-06-17 11:23:56 +0000

    graphics/blender: Revert "update to v5.1.0"
    
    Reverted due to reversal of the devel/meson change.
    
    PR:             294160
    
    This reverts commit 1886d7dda7e31db1a0592c7280c12843bc14fd32.
---
 graphics/blender/Makefile                          |   24 +-
 graphics/blender/Makefile.versions                 |    4 +-
 graphics/blender/distinfo                          |    6 +-
 graphics/blender/files/extra-patch-simd-off        |   45 +-
 graphics/blender/files/patch-CMakeLists.txt        |   11 +
 graphics/blender/files/patch-fmtlib                | 3256 ++++++++++++++++++++
 .../files/patch-intern_cycles_CMakeLists.txt       |   12 +-
 .../files/patch-intern_dualcon_intern_octree.cpp   |   14 -
 ...n_libmv_libmv_multiview_euclidean__resection.cc |   42 -
 ...ch-intern_libmv_libmv_tracking_track__region.cc |   14 -
 ...ch-source_blender_blenfont_intern_blf__glyph.cc |   14 +
 ...tch-source_blender_blenlib_intern_math__half.cc |   11 +
 graphics/blender/pkg-plist                         |   56 +-
 13 files changed, 3343 insertions(+), 166 deletions(-)

diff --git a/graphics/blender/Makefile b/graphics/blender/Makefile
index 68a45952c2c0..8cfc1f5b05de 100644
--- a/graphics/blender/Makefile
+++ b/graphics/blender/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	blender
-DISTVERSION=	5.1.0
-PORTREVISION=	0
+DISTVERSION=	5.0.1
+PORTEPOCH=	1
 CATEGORIES=	graphics multimedia
 MASTER_SITES=	http://download.blender.org/source/ \
 		http://mirror.cs.umn.edu/blender.org/source/ \
@@ -16,14 +16,10 @@ LICENSE_FILE=	${WRKSRC}/doc/license/GPL3-license.txt
 ONLY_FOR_ARCHS=		aarch64 amd64 powerpc64le riscv64
 ONLY_FOR_ARCHS_REASON=	static_assert(sizeof(unsigned long long) == sizeof(struct hipArray*))
 
-BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR} \
-		${${ARCH}_BUILD_DEPENDS}
-aarch64_BUILD_DEPENDS=	${LOCALBASE}/include/sse2neon.h:devel/sse2neon
-
-LIB_DEPENDS=	libOpenImageIO.so:graphics/openimageio \
-		libceres.so:math/ceres-solver \
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR}
+LIB_DEPENDS=	libfreetype.so:print/freetype2 \
 		libepoxy.so:graphics/libepoxy \
-		libfreetype.so:print/freetype2 \
+		libOpenImageIO.so:graphics/openimageio \
 		libpng.so:graphics/png \
 		libsamplerate.so:audio/libsamplerate \
 		libtiff.so:graphics/tiff \
@@ -31,17 +27,14 @@ LIB_DEPENDS=	libOpenImageIO.so:graphics/openimageio \
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR}
 
 USES=		cmake:noninja compiler:c++17-lang cpe eigen:3 jpeg llvm:build,run \
-		pkgconfig python:3.13 shebangfix tar:xz xorg
+		pkgconfig python shebangfix tar:xz xorg
 USE_XORG=	x11 xext xfixes xmu xrender
 
 SHEBANG_FILES=	scripts/modules/blend_render_info.py
 
 CMAKE_ARGS=	-DCMAKE_CXX_STANDARD:INTEGER=17 \
 		-DLLVM_CONFIG:STRING="${LOCALBASE}/bin/llvm-config${LLVM_VERSION}" \
-		-DCMAKE_POLICY_DEFAULT_CMP0167=NEW \
-		-DPYTHON_NUMPY_INCLUDE_DIRS:STRING="${PYTHON_SITELIBDIR}/numpy/_core/include" \
-		-DPYTHON_NUMPY_PATH:STRING="${PYTHON_SITELIBDIR}/numpy/_core/include"
-# if PYTHON_NUMPY_PATH is an empty string PYTHON_NUMPY_INCLUDE_DIRS gets overwritten
+		-DCMAKE_POLICY_DEFAULT_CMP0167=NEW
 .if defined(WITH_DEBUG)
 CMAKE_ARGS+=	-DWITH_GHOST_DEBUG:BOOL=ON
 .endif
@@ -116,7 +109,8 @@ MATERIALX_CMAKE_BOOL=		WITH_MATERIALX
 MATERIALX_CMAKE_ON=		-DMaterialX_DIR:STRING=${LOCALBASE}/lib/cmake/MaterialX \
 				-DMATERIALX_STDLIB_DIR:STRING=${LOCALBASE}/share/materialx \
 				-DMATERIALX_PYTHON_DIR:STRING=${PYTHON_SITELIBDIR}/MaterialX
-MATERIALX_LIB_DEPENDS=		libMaterialXCore.so:graphics/materialx
+MATERIALX_LIB_DEPENDS=		libMaterialXCore.so:graphics/materialx \
+				libMaterialXFormat.so:graphics/materialx
 MENU_USES=			desktop-file-utils
 MOD_FLUID_CMAKE_BOOL=		WITH_MOD_FLUID
 MOD_FLUID_IMPLIES=		TBB
diff --git a/graphics/blender/Makefile.versions b/graphics/blender/Makefile.versions
index 7612524ea1b8..1bcc989e4977 100644
--- a/graphics/blender/Makefile.versions
+++ b/graphics/blender/Makefile.versions
@@ -1,4 +1,4 @@
 # Versions of Blender and its python dependency for use by depending ports, like add-ons
 
-BLENDER_BL_VERSION=	5.1.0
-BLENDER_PY_VERSION=	3.13
+BLENDER_BL_VERSION=	5.0.1
+BLENDER_PY_VERSION=	3.11
diff --git a/graphics/blender/distinfo b/graphics/blender/distinfo
index 0b756bf6dedd..1d85359cbb39 100644
--- a/graphics/blender/distinfo
+++ b/graphics/blender/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1774600862
-SHA256 (blender-5.1.0.tar.xz) = 765f42babd7ede459e8f16dee354d945b265454358d9a9f676913e0f3741e8ed
-SIZE (blender-5.1.0.tar.xz) = 90611172
+TIMESTAMP = 1766460211
+SHA256 (blender-5.0.1.tar.xz) = 0077a41f59843433154fdf2d8aeb6c43f6bf6951cd46987305e67f89cb4f1fbf
+SIZE (blender-5.0.1.tar.xz) = 88926056
diff --git a/graphics/blender/files/extra-patch-simd-off b/graphics/blender/files/extra-patch-simd-off
index aeea1c6a8e0e..1a1172360911 100644
--- a/graphics/blender/files/extra-patch-simd-off
+++ b/graphics/blender/files/extra-patch-simd-off
@@ -1,19 +1,17 @@
---- build_files/cmake/macros.cmake.orig	2026-02-09 15:45:57 UTC
+--- build_files/cmake/macros.cmake.orig	2024-06-05 11:47:55 UTC
 +++ build_files/cmake/macros.cmake
-@@ -575,7 +575,7 @@ macro(get_sse_flags
-   if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(AMD64)" OR CMAKE_OSX_ARCHITECTURES MATCHES x86_64)
-     # message(STATUS "Detecting SSE support")
-     if((CMAKE_C_COMPILER_ID STREQUAL "GNU") OR (CMAKE_C_COMPILER_ID MATCHES "Clang"))
--      set(${_sse42_flags} "-march=x86-64-v2")
-+      #set(${_sse42_flags} "-march=x86-64-v2")
-     elseif(MSVC)
-       # MSVC has no specific compile flags for SSE42 (only for AVX).
-       set(${_sse42_flags})
---- intern/cycles/kernel/device/cpu/kernel.cpp.orig	2026-02-09 15:45:57 UTC
+@@ -546,7 +546,7 @@ macro(TEST_SSE_SUPPORT
+ 
+   # message(STATUS "Detecting SSE support")
+   if(CMAKE_COMPILER_IS_GNUCC OR (CMAKE_C_COMPILER_ID MATCHES "Clang"))
+-    set(${_sse42_flags} "-march=x86-64-v2")
++#    set(${_sse42_flags} "-march=x86-64-v2")
+   elseif(MSVC)
+     # msvc has no specific build flags for SSE42, but when using intrinsics it will
+     # generate the right instructions.
+--- intern/cycles/kernel/device/cpu/kernel.cpp.orig	2024-06-05 11:47:56 UTC
 +++ intern/cycles/kernel/device/cpu/kernel.cpp
-@@ -8,11 +8,13 @@
-  * one with SSE4.2 intrinsics.
-  */
+@@ -10,9 +10,11 @@
  #if defined(__x86_64__) || defined(_M_X64)
 +/*
  #  define __KERNEL_SSE__
@@ -25,22 +23,19 @@
  #endif
  
  /* When building kernel for native machine detect kernel features from the flags
---- intern/cycles/util/optimization.h.orig	2026-02-10 11:52:40 UTC
+--- intern/cycles/util/optimization.h.orig	2024-06-05 11:47:56 UTC
 +++ intern/cycles/util/optimization.h
-@@ -19,10 +19,12 @@
+@@ -26,7 +26,9 @@
  #  elif defined(__x86_64__) || defined(_M_X64)
  
  /* SSE4.2 is our minimum requirement for x86-64 CPUs, so auto enable */
 +/*
- #    define __KERNEL_SSE__
- #    define __KERNEL_SSE2__
- #    define __KERNEL_SSE3__
  #    define __KERNEL_SSE42__
 +*/
  /* no SSE4.2 kernel on x86-64, part of regular kernel */
  #    ifdef WITH_KERNEL_AVX2
  #      define WITH_CYCLES_OPTIMIZED_KERNEL_AVX2
---- source/blender/blenlib/BLI_bit_span_to_index_ranges.hh.orig	2026-02-09 15:45:58 UTC
+--- source/blender/blenlib/BLI_bit_span_to_index_ranges.hh.orig	2025-12-24 21:09:10 UTC
 +++ source/blender/blenlib/BLI_bit_span_to_index_ranges.hh
 @@ -111,7 +111,12 @@ inline void bits_to_index_ranges(const BitSpan bits, I
        /* Loads the next 128 bit. */
@@ -55,13 +50,13 @@
        if (group_is_zero) {
          continue;
        }
---- source/blender/blenlib/intern/math_half.cc.orig	2026-02-09 15:45:58 UTC
+--- source/blender/blenlib/intern/math_half.cc.orig	2025-12-24 21:19:17 UTC
 +++ source/blender/blenlib/intern/math_half.cc
-@@ -274,6 +274,32 @@ void math::float_to_half_array(const float *src, uint1
+@@ -271,6 +271,32 @@ void blender::math::float_to_half_array(const float *s
    }
  }
  
-+#if !defined(__SSE4_1__) && (defined(__x86_64__) || defined(_M_X64))
++#ifndef __SSE4_1__
 +static inline __m128i srai_epi8_sse2(__m128i x, int imm)
 +{
 +    // Sign-extend bytes to 16-bit
@@ -87,10 +82,10 @@
 +}
 +#endif
 +
- void math::float_to_half_make_finite_array(const float *src, uint16_t *dst, size_t length)
+ void blender::math::float_to_half_make_finite_array(const float *src, uint16_t *dst, size_t length)
  {
    size_t i = 0;
-@@ -323,8 +349,13 @@ void math::float_to_half_make_finite_array(const float
+@@ -320,8 +346,13 @@ void blender::math::float_to_half_make_finite_array(co
        __m128i inf_res = _mm_or_si128(signbits, _mm_set1_epi16(0x7bffu)); /* +/- 65504 */
        __m128i nan_res = signbits;                                        /* +/- 0 */
        /* Select final result. */
diff --git a/graphics/blender/files/patch-CMakeLists.txt b/graphics/blender/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..024e7fd3fba4
--- /dev/null
+++ b/graphics/blender/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig	2025-10-09 16:52:29 UTC
++++ CMakeLists.txt
+@@ -2593,7 +2593,7 @@ if(WITH_PYTHON)
+     if(("${PYTHON_NUMPY_PATH}" STREQUAL "") OR (${PYTHON_NUMPY_PATH} MATCHES NOTFOUND))
+       set(_numpy_include "_core/include")
+       if(PYTHON_VERSION VERSION_LESS "3.13")
+-        set(_numpy_include "core/include")
++#        set(_numpy_include "core/include")
+       endif()
+       find_python_package(numpy "${_numpy_include}")
+       unset(_numpy_include)
diff --git a/graphics/blender/files/patch-fmtlib b/graphics/blender/files/patch-fmtlib
new file mode 100644
index 000000000000..feea56e6e58a
--- /dev/null
+++ b/graphics/blender/files/patch-fmtlib
@@ -0,0 +1,3256 @@
+--- extern/binreloc/CMakeLists.txt.orig	2025-10-08 10:41:55 UTC
++++ extern/binreloc/CMakeLists.txt
+@@ -7,7 +7,7 @@ set(INC_SYS
+ )
+ 
+ set(INC_SYS
+-
++  PUBLIC include
+ )
+ 
+ set(SRC
+@@ -23,3 +23,4 @@ blender_add_lib(extern_binreloc "${SRC}" "${INC}" "${I
+ 
+ 
+ blender_add_lib(extern_binreloc "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
++add_library(bf::extern::binreloc ALIAS extern_binreloc)
+--- extern/CMakeLists.txt.orig	2025-10-08 10:41:55 UTC
++++ extern/CMakeLists.txt
+@@ -4,7 +4,9 @@ add_subdirectory(curve_fit_nd)
+ 
+ # Libs that adhere to strict flags
+ add_subdirectory(curve_fit_nd)
++add_subdirectory(fast_float)
+ add_subdirectory(fmtlib)
++add_subdirectory(json)
+ if(WITH_IO_FBX)
+   add_subdirectory(ufbx)
+ endif()
+--- extern/fast_float/CMakeLists.txt.orig	2025-12-23 01:40:52 UTC
++++ extern/fast_float/CMakeLists.txt
+@@ -0,0 +1,7 @@
++# SPDX-FileCopyrightText: 2023 Blender Foundation
++#
++# SPDX-License-Identifier: GPL-2.0-or-later
++
++add_library(extern_fast_float INTERFACE)
++target_include_directories(extern_fast_float SYSTEM INTERFACE ".")
++add_library(bf::extern::fast_float ALIAS extern_fast_float)
+--- extern/json/CMakeLists.txt.orig	2025-12-23 01:40:52 UTC
++++ extern/json/CMakeLists.txt
+@@ -0,0 +1,7 @@
++# SPDX-FileCopyrightText: 2023 Blender Foundation
++#
++# SPDX-License-Identifier: GPL-2.0-or-later
++
++add_library(extern_json INTERFACE)
++target_include_directories(extern_json SYSTEM INTERFACE "include")
++add_library(bf::extern::json ALIAS extern_json)
+--- extern/mantaflow/CMakeLists.txt.orig	2025-10-08 10:41:55 UTC
++++ extern/mantaflow/CMakeLists.txt
+@@ -68,8 +68,6 @@ set(INC_SYS
+ endif()
+ 
+ set(INC_SYS
+-  ${PYTHON_INCLUDE_DIRS}
+-  ${ZLIB_INCLUDE_DIRS}
+ )
+ 
+ if(WITH_MANTA_NUMPY AND WITH_PYTHON_NUMPY)
+@@ -229,8 +227,8 @@ set(LIB
+ set(LIB
+   PRIVATE bf::dependencies::optional::openvdb
+   PRIVATE bf::dependencies::optional::tbb
+-  ${PYTHON_LINKFLAGS}
+-  ${PYTHON_LIBRARIES}
++  PRIVATE bf::dependencies::optional::python
++  PRIVATE bf::dependencies::zlib
+ )
+ 
+ blender_add_lib(extern_mantaflow "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
+--- extern/vulkan_memory_allocator/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ extern/vulkan_memory_allocator/CMakeLists.txt
+@@ -3,7 +3,7 @@ set(INC
+ # SPDX-License-Identifier: GPL-2.0-or-later
+ 
+ set(INC
+-  .
++  PUBLIC .
+ )
+ 
+ set(INC_SYS
+@@ -20,6 +20,7 @@ blender_add_lib(extern_vulkan_memory_allocator "${SRC}
+ )
+ 
+ blender_add_lib(extern_vulkan_memory_allocator "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
++add_library(bf::extern::vulkan_memory_allocator ALIAS extern_vulkan_memory_allocator)
+ 
+ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
+   target_compile_options(extern_vulkan_memory_allocator
+--- extern/wcwidth/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ extern/wcwidth/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-# SPDX-FileCopyrightText: 2013 Blender Foundation
++# SPDX-FileCopyrightText: 2023 Blender Foundation
+ #
+ # SPDX-License-Identifier: GPL-2.0-or-later
+ 
+@@ -7,7 +7,7 @@ set(INC_SYS
+ )
+ 
+ set(INC_SYS
+-
++  PUBLIC .
+ )
+ 
+ set(SRC
+@@ -20,3 +20,4 @@ blender_add_lib(extern_wcwidth "${SRC}" "${INC}" "${IN
+ )
+ 
+ blender_add_lib(extern_wcwidth "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
++add_library(bf::extern::wcwidth ALIAS extern_wcwidth)
+--- intern/cycles/app/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ intern/cycles/app/CMakeLists.txt
+@@ -35,10 +35,12 @@ if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_G
+ 
+ if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI)
+   list(APPEND INC_SYS
+-    ${Epoxy_INCLUDE_DIRS}
+     ${SDL2_INCLUDE_DIRS}
+   )
+-  list(APPEND LIB ${Epoxy_LIBRARIES} ${SDL2_LIBRARIES})
++  list(APPEND LIB
++    bf::dependencies::optional::epoxy
++    ${SDL2_LIBRARIES}
++  )
+ endif()
+ 
+ if(WITH_USD)
+@@ -47,13 +49,9 @@ if(WITH_USD)
+     -D__TBB_show_deprecation_message_atomic_H
+     -D__TBB_show_deprecation_message_task_H
+   )
+-
+-  list(APPEND INC_SYS
+-    ${USD_INCLUDE_DIRS}
+-  )
+   list(APPEND LIB
+     cycles_hydra
+-    ${USD_LIBRARIES}
++    bf::dependencies::optional::usd
+   )
+ endif()
+ 
+--- intern/cycles/blender/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ intern/cycles/blender/CMakeLists.txt
+@@ -9,8 +9,6 @@ set(INC_SYS
+ )
+ 
+ set(INC_SYS
+-  ${Epoxy_INCLUDE_DIRS}
+-  ${PYTHON_INCLUDE_DIRS}
+ )
+ 
+ set(SRC
+@@ -70,9 +68,10 @@ set(LIB
+   cycles_subd
+   cycles_util
+ 
+-  ${Epoxy_LIBRARIES}
+-  ${PYTHON_LINKFLAGS}
+-  ${PYTHON_LIBRARIES}
++  bf::dependencies::optional::epoxy
++  bf::dependencies::optional::python
++  bf::dependencies::optional::openimagedenoise
++  bf::dependencies::optional::openvdb
+ )
+ 
+ set(ADDON_FILES
+@@ -101,22 +100,6 @@ if(WITH_TBB)
+ 
+ if(WITH_TBB)
+   add_definitions(-DWITH_TBB)
+-endif()
+-
+-if(WITH_OPENVDB)
+-  list(APPEND INC
+-    ../../openvdb
+-  )
+-  list(APPEND LIB
+-    ${OPENVDB_LIBRARIES}
+-  )
+-endif()
+-
+-if(WITH_OPENIMAGEDENOISE)
+-  add_definitions(-DWITH_OPENIMAGEDENOISE)
+-  list(APPEND INC_SYS
+-    ${OPENIMAGEDENOISE_INCLUDE_DIRS}
+-  )
+ endif()
+ 
+ if(WITH_CYCLES_OSL)
+--- intern/cycles/device/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ intern/cycles/device/CMakeLists.txt
+@@ -6,7 +6,8 @@ set(INC
+   ..
+ )
+ 
+-set(INC_SYS )
++set(INC_SYS
++)
+ 
+ if(WITH_CYCLES_DEVICE_OPTIX OR WITH_CYCLES_DEVICE_CUDA)
+   if(NOT WITH_CUDA_DYNLOAD)
+--- intern/cycles/hydra/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ intern/cycles/hydra/CMakeLists.txt
+@@ -10,16 +10,13 @@ set(INC_SYS
+   ..
+ )
+ set(INC_SYS
+-  ${USD_INCLUDE_DIRS}
+-  ${Epoxy_INCLUDE_DIRS}
+-  ${PYTHON_INCLUDE_DIRS}
+ )
+ 
+ set(LIB
+   cycles_scene
+   cycles_session
+   cycles_graph
+-  ${Epoxy_LIBRARIES}
++  bf::dependencies::optional::epoxy
+   ${BOOST_PYTHON_LIBRARIES}
+ )
+ cycles_external_libraries_append(LIB)
+@@ -105,7 +102,8 @@ target_link_libraries(cycles_hydra
+ 
+ target_link_libraries(cycles_hydra
+   PUBLIC
+-  ${USD_LIBRARIES}
++  bf::dependencies::optional::usd
++  bf::dependencies::optional::python
+   PRIVATE
+   ${LIB}
+ )
+--- intern/cycles/kernel/CMakeLists.txt.orig	2025-10-27 12:26:33 UTC
++++ intern/cycles/kernel/CMakeLists.txt
+@@ -439,12 +439,9 @@ add_executable(zstd_compress ../cmake/zstd_compress.cp
+ 
+ # `Zstd` compressor for kernels.
+ add_executable(zstd_compress ../cmake/zstd_compress.cpp)
+-target_include_directories(zstd_compress SYSTEM PRIVATE ${ZSTD_INCLUDE_DIRS})
+ 
+-target_link_libraries(zstd_compress ${ZSTD_LIBRARIES})
+-if(DEFINED PTHREADS_LIBRARIES)
+-  target_link_libraries(zstd_compress ${PTHREADS_LIBRARIES})
+-endif()
++target_link_libraries(zstd_compress PRIVATE bf::dependencies::zstd)
++target_link_libraries(zstd_compress PRIVATE bf::dependencies::pthreads)
+ 
+ if(NOT WITH_BLENDER)
+   # For the Cycles standalone put libraries next to the Cycles application.
+--- intern/cycles/scene/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ intern/cycles/scene/CMakeLists.txt
+@@ -112,11 +112,8 @@ if(WITH_OPENCOLORIO)
+ 
+ if(WITH_OPENCOLORIO)
+   add_definitions(-DWITH_OCIO)
+-  list(APPEND INC_SYS
+-    ${OPENCOLORIO_INCLUDE_DIRS}
+-  )
+   list(APPEND LIB
+-    ${OPENCOLORIO_LIBRARIES}
++    bf::dependencies::optional::opencolorio
+   )
+   if(WIN32 AND NOT USD_OVERRIDE_OPENCOLORIO)
+     add_definitions(-DOpenColorIO_SKIP_IMPORTS)
+@@ -125,7 +122,7 @@ if(WITH_OPENVDB)
+ 
+ if(WITH_OPENVDB)
+   list(APPEND LIB
+-    ${OPENVDB_LIBRARIES}
++    bf::dependencies::optional::openvdb
+   )
+ endif()
+ 
+--- intern/cycles/test/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ intern/cycles/test/CMakeLists.txt
+@@ -60,6 +60,6 @@ if(WITH_GTESTS)
+ endif()
+ 
+ if(WITH_GTESTS)
+-  set(INC_SYS )
++  set(INC_SYS)
+   blender_add_test_suite_executable(cycles "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
+ endif()
+--- intern/ghost/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ intern/ghost/CMakeLists.txt
+@@ -80,11 +80,8 @@ if(WITH_OPENGL_BACKEND)
+ endif()
+ 
+ if(WITH_OPENGL_BACKEND)
+-  list(APPEND INC_SYS
+-    ${Epoxy_INCLUDE_DIRS}
+-  )
+   list(APPEND LIB
+-    ${Epoxy_LIBRARIES}
++    bf::dependencies::optional::epoxy
+   )
+   add_definitions(-DWITH_OPENGL_BACKEND)
+ endif()
+@@ -95,15 +92,9 @@ if(WITH_VULKAN_BACKEND)
+ 
+     intern/GHOST_ContextVK.hh
+   )
+-  list(APPEND INC
+-    ../../extern/vulkan_memory_allocator/
+-  )
+-  list(APPEND INC_SYS
+-    PUBLIC ${VULKAN_INCLUDE_DIRS}
+-  )
+-
+   list(APPEND LIB
+-    ${VULKAN_LIBRARIES}
++    PUBLIC bf::dependencies::optional::vulkan
++    bf::extern::vulkan_memory_allocator
+   )
+ 
+   add_definitions(-DWITH_VULKAN_BACKEND)
+@@ -160,11 +151,8 @@ elseif(WITH_GHOST_SDL)
+   )
+   add_definitions(-DWITH_GHOST_SDL)
+ 
+-  list(APPEND INC_SYS
+-    ${SDL_INCLUDE_DIR}
+-  )
+   list(APPEND LIB
+-    ${SDL_LIBRARY}
++    bf::dependencies::optional::sdl
+   )
+ elseif(APPLE AND NOT WITH_GHOST_X11)
+   list(APPEND SRC
+--- intern/guardedalloc/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ intern/guardedalloc/CMakeLists.txt
+@@ -40,18 +40,8 @@ set(LIB
+ 
+ set(LIB
+   PRIVATE bf::intern::atomic
++  PRIVATE bf::dependencies::pthreads
+ )
+-
+-if(WIN32 AND NOT UNIX)
+-  list(APPEND INC_SYS
+-    ${PTHREADS_INC}
+-  )
+-  if(DEFINED PTHREADS_LIBRARIES)
+-    list(APPEND LIB
+-      ${PTHREADS_LIBRARIES}
+-    )
+-  endif()
+-endif()
+ 
+ if(WITH_MEM_JEMALLOC)
+   add_definitions(-DWITH_MEM_JEMALLOC)
+--- intern/libmv/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ intern/libmv/CMakeLists.txt
+@@ -31,8 +31,6 @@ if(WITH_LIBMV)
+   if(WIN32)
+     add_definitions(-D_USE_MATH_DEFINES)
+   endif()
+-  add_definitions(${GFLAGS_DEFINES})
+-  add_definitions(${GLOG_DEFINES})
+   add_definitions(-DLIBMV_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE})
+ 
+   if(WITH_TBB)
+@@ -46,8 +44,6 @@ if(WITH_LIBMV)
+   list(APPEND INC_SYS
+     ${GFLAGS_INCLUDE_DIRS}
+     ${GLOG_INCLUDE_DIRS}
+-    ${PNG_INCLUDE_DIRS}
+-    ${ZLIB_INCLUDE_DIRS}
+     ../../extern/ceres/include
+     ../../extern/ceres/config
+   )
+@@ -55,12 +51,12 @@ if(WITH_LIBMV)
+   list(APPEND LIB
+     extern_ceres
+     PUBLIC bf::dependencies::optional::tbb
++    PRIVATE bf::dependencies::zlib
+ 
+-    ${GLOG_LIBRARIES}
+-    ${GFLAGS_LIBRARIES}
+-    ${PNG_LIBRARIES}
+-
+     PRIVATE bf::dependencies::eigen
++    PRIVATE bf::dependencies::gflags
++    PRIVATE bf::dependencies::glog
++    PRIVATE bf::dependencies::png
+   )
+ 
+   add_definitions(
+--- intern/mantaflow/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ intern/mantaflow/CMakeLists.txt
+@@ -34,8 +34,6 @@ set(INC_SYS
+   ../../extern/mantaflow/helper/util
+   ../../extern/mantaflow/helper/pwrapper
+   ../../extern/mantaflow/preprocessed
+-  ${PYTHON_INCLUDE_DIRS}
+-  ${ZLIB_INCLUDE_DIRS}
+ )
+ 
+ set(SRC
+@@ -58,10 +56,8 @@ set(LIB
+   PRIVATE bf::dependencies::optional::openvdb
+   PRIVATE bf::dependencies::optional::tbb
+   extern_mantaflow
+-
+-  ${PYTHON_LINKFLAGS}
+-  ${PYTHON_LIBRARIES}
+-  ${ZLIB_LIBRARIES}
++  PRIVATE bf::dependencies::optional::python
++  PRIVATE bf::dependencies::zlib
+ )
+ 
+ blender_add_lib(bf_intern_mantaflow "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
+--- intern/opensubdiv/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ intern/opensubdiv/CMakeLists.txt
+@@ -32,11 +32,6 @@ if(WITH_OPENSUBDIV)
+     endif()
+   endmacro()
+ 
+-  list(APPEND INC_SYS
+-    ${OPENSUBDIV_INCLUDE_DIRS}
+-    ${Epoxy_INCLUDE_DIRS}
+-  )
+-
+   list(APPEND SRC
+     # Base.
+     internal/base/memory.h
+@@ -76,8 +71,8 @@ if(WITH_OPENSUBDIV)
+   )
+ 
+   list(APPEND LIB
+-    ${OPENSUBDIV_LIBRARIES}
+-    ${Epoxy_LIBRARIES}
++    bf::dependencies::optional::opensubdiv
++    bf::dependencies::optional::epoxy
+   )
+ 
+   if(WIN32)
+@@ -137,9 +132,6 @@ if(WITH_GTESTS AND WITH_OPENSUBDIV)
+ # Tests.
+ 
+ if(WITH_GTESTS AND WITH_OPENSUBDIV)
+-  add_definitions(${GFLAGS_DEFINES})
+-  add_definitions(${GLOG_DEFINES})
+-
+   set(TEST_SRC
+     internal/topology/mesh_topology_test.cc
+   )
+--- source/blender/animrig/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ source/blender/animrig/CMakeLists.txt
+@@ -13,7 +13,6 @@ set(INC_SYS
+ )
+ 
+ set(INC_SYS
+-  ../../../extern/fmtlib/include
+ )
+ 
+ set(SRC
+@@ -62,6 +61,7 @@ set(LIB
+ )
+ 
+ set(LIB
++  PRIVATE bf::extern::fmtlib
+   PRIVATE bf::blenkernel
+   bf::blenlib
+   PRIVATE bf::blenloader
+--- source/blender/blendthumb/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ source/blender/blendthumb/CMakeLists.txt
+@@ -103,7 +103,5 @@ elseif(UNIX)
+   setup_platform_linker_flags(blender-thumbnailer)
+   setup_platform_linker_libs(blender-thumbnailer)
+   target_link_libraries(blender-thumbnailer PRIVATE bf_blenlib bf_blenloader_core)
+-  if(DEFINED PTHREADS_LIBRARIES)
+-    target_link_libraries(blender-thumbnailer PRIVATE ${PTHREADS_LIBRARIES})
+-  endif()
++  target_link_libraries(blender-thumbnailer PRIVATE bf::dependencies::pthreads)
+ endif()
+--- source/blender/blenfont/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ source/blender/blenfont/CMakeLists.txt
+@@ -8,7 +8,6 @@ set(INC_SYS
+ )
+ 
+ set(INC_SYS
+-  ${FREETYPE_INCLUDE_DIRS}
+ )
+ 
+ set(SRC
+@@ -33,7 +32,7 @@ set(LIB
+   PRIVATE bf::gpu
+   PRIVATE bf::imbuf
+   PRIVATE bf::intern::guardedalloc
+-  ${FREETYPE_LIBRARIES} ${BROTLI_LIBRARIES}
++  PRIVATE bf::dependencies::freetype
+ )
+ 
+ if(WIN32)
+--- source/blender/blenkernel/CMakeLists.txt.orig	2025-10-15 13:26:30 UTC
++++ source/blender/blenkernel/CMakeLists.txt
+@@ -25,11 +25,6 @@ set(INC_SYS
+ )
+ 
+ set(INC_SYS
+-  ${ZLIB_INCLUDE_DIRS}
+-  ${ZSTD_INCLUDE_DIRS}
+-
+-  # For `vfontdata_freetype.cc`.
+-  ${FREETYPE_INCLUDE_DIRS}
+ )
+ 
+ set(SRC
+@@ -563,6 +558,7 @@ set(LIB
+ )
+ 
+ set(LIB
++  PRIVATE bf::extern::fmtlib
+   PRIVATE bf::animrig
+   PRIVATE bf::asset_system
+   PRIVATE bf::blenfont
+@@ -593,19 +589,19 @@ set(LIB
+   PRIVATE bf::sequencer
+   bf_shader_fx
+   bf_simulation
+-  PRIVATE bf::extern::fmtlib
+   PRIVATE bf::extern::xxhash
+   PRIVATE bf::intern::atomic
+-  # For `vfontdata_freetype.c`.
+-  ${FREETYPE_LIBRARIES} ${BROTLI_LIBRARIES}
++  PRIVATE bf::dependencies::zlib
++  PRIVATE bf::dependencies::zstd
++  PRIVATE bf::dependencies::freetype  # For `vfontdata_freetype.c`.
++  PRIVATE bf::dependencies::optional::fftw3
++  PRIVATE bf::dependencies::optional::opensubdiv
++  PRIVATE bf::dependencies::optional::audaspace
+ )
+ 
+ if(WITH_BINRELOC)
+-  list(APPEND INC_SYS
+-    ${BINRELOC_INCLUDE_DIRS}
+-  )
+   list(APPEND LIB
+-    extern_binreloc
++    bf::extern::binreloc
+   )
+   add_definitions(-DWITH_BINRELOC)
+ endif()
+@@ -618,35 +614,19 @@ if(WITH_AUDASPACE)
+ endif()
+ 
+ if(WITH_AUDASPACE)
+-  list(APPEND INC_SYS
+-    ${AUDASPACE_C_INCLUDE_DIRS}
+-  )
+-  if(WITH_SYSTEM_AUDASPACE)
+-    list(APPEND LIB
+-      ${AUDASPACE_C_LIBRARIES}
+-      ${AUDASPACE_PY_LIBRARIES}
+-    )
+-  endif()
+-  add_definitions(-DWITH_AUDASPACE)
+-
+   if(WITH_RUBBERBAND)
+     add_definitions(-DWITH_RUBBERBAND)
+   endif()
+ endif()
+ 
+ if(WITH_BULLET)
+-  list(APPEND INC_SYS
+-    ${BULLET_INCLUDE_DIRS}
+-  )
+   list(APPEND INC
+     ../../../intern/rigidbody
+   )
+   list(APPEND LIB
+     bf_intern_rigidbody
+-
+-    ${BULLET_LIBRARIES}
++    bf::dependencies::optional::bullet
+   )
+-  add_definitions(-DWITH_BULLET)
+ endif()
+ 
+ if(WITH_IMAGE_OPENEXR)
+@@ -718,16 +698,6 @@ endif()
+   add_definitions(-DWITH_LIBMV)
+ endif()
+ 
+-if(WITH_FFTW3)
+-  list(APPEND INC_SYS
+-    ${FFTW3_INCLUDE_DIRS}
+-  )
+-  list(APPEND LIB
+-    ${FFTW3_LIBRARIES}
+-  )
+-  add_definitions(-DFFTW3=1)
+-endif()
+-
+ if(WITH_FREESTYLE)
+   add_definitions(-DWITH_FREESTYLE)
+ endif()
+@@ -744,16 +714,6 @@ if(WITH_USD)
+     ../io/usd
+   )
+   add_definitions(-DWITH_USD)
+-endif()
+-
+-if(WITH_OPENSUBDIV)
+-  list(APPEND INC_SYS
+-    ${OPENSUBDIV_INCLUDE_DIRS}
+-  )
+-  list(APPEND LIB
+-    ${OPENSUBDIV_LIBRARIES}
+-  )
+-  add_definitions(-DWITH_OPENSUBDIV)
+ endif()
+ 
+ if(WITH_QUADRIFLOW)
+--- source/blender/blenlib/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ source/blender/blenlib/CMakeLists.txt
+@@ -12,11 +12,6 @@ set(INC_SYS
+ )
+ 
+ set(INC_SYS
+-  ../../../extern/wcwidth
+-  ../../../extern/json/include
+-
+-  ${ZLIB_INCLUDE_DIRS}
+-  ${ZSTD_INCLUDE_DIRS}
+ )
+ 
+ set(SRC
+@@ -424,16 +419,19 @@ set(LIB
+ set(LIB
+   PUBLIC bf::dna
+   PRIVATE bf::extern::fmtlib
++  PRIVATE bf::extern::json
+   PRIVATE bf::extern::xxhash
+   bf_intern_eigen
+   PRIVATE bf::intern::guardedalloc
+-  extern_wcwidth
++  PRIVATE bf::extern::wcwidth
+   PRIVATE bf::intern::atomic
+-  PRIVATE extern_fmtlib
+-  PUBLIC bf::dependencies::optional::tbb
++  PRIVATE bf::extern::fmtlib
+   PRIVATE bf::dependencies::eigen
+-  ${ZLIB_LIBRARIES}
+-  ${ZSTD_LIBRARIES}
++  PUBLIC bf::dependencies::optional::tbb
++  PRIVATE bf::dependencies::zlib
++  PRIVATE bf::dependencies::zstd
++  PRIVATE bf::dependencies::optional::gmp
++  PRIVATE bf::dependencies::optional::fftw3
+ )
+ 
+ if(NOT WITH_PYTHON_MODULE)
+@@ -446,28 +444,6 @@ if(WITH_MEM_VALGRIND)
+ 
+ if(WITH_MEM_VALGRIND)
+   add_definitions(-DWITH_MEM_VALGRIND)
+-endif()
+-
+-if(WITH_GMP)
+-  add_definitions(-DWITH_GMP)
+-
+-  list(APPEND INC_SYS
+-    ${GMP_INCLUDE_DIRS}
+-  )
+-
+-  list(APPEND LIB
+-    ${GMP_LIBRARIES}
+-  )
+-endif()
+-
+-if(WITH_FFTW3)
+-  list(APPEND INC_SYS
+-    ${FFTW3_INCLUDE_DIRS}
+-  )
+-  list(APPEND LIB
+-    ${FFTW3_LIBRARIES}
+-  )
+-  add_definitions(-DWITH_FFTW3)
+ endif()
+ 
+ if(WIN32)
+--- source/blender/blenloader/CMakeLists.txt.orig	2025-10-08 10:42:36 UTC
++++ source/blender/blenloader/CMakeLists.txt
+@@ -12,7 +12,6 @@ set(INC_SYS
+ )
+ 
+ set(INC_SYS
+-  ${ZSTD_INCLUDE_DIRS}
+ )
+ 
+ set(SRC
+@@ -55,6 +54,7 @@ set(LIB
+ set(LIB
+   PRIVATE bf::animrig
+   PRIVATE bf::asset_system
++  PRIVATE bf::extern::fmtlib
+   PRIVATE bf::blenkernel
+   PRIVATE bf::blenlib
+   PUBLIC bf::blenloader_core
+@@ -68,13 +68,13 @@ set(LIB
+   PRIVATE bf::imbuf::movie
+   PRIVATE bf::intern::clog
+   PRIVATE bf::intern::guardedalloc
+-  PRIVATE bf::extern::fmtlib
+   PRIVATE bf::intern::memutil
+   PRIVATE bf::nodes
+   PRIVATE bf::render
+   PRIVATE bf::sequencer
+   PRIVATE bf::windowmanager
+   PRIVATE bf::extern::xxhash
++  PRIVATE bf::dependencies::zstd
+ )
+ 
+ if(WITH_BUILDINFO)
+@@ -115,14 +115,14 @@ if(WITH_GTESTS)
+   )
+   set(TEST_UTIL_INC_SYS
+     ${INC_SYS}
+-    ${GFLAGS_INCLUDE_DIRS}
+-    ${GLOG_INCLUDE_DIRS}
+     ${CMAKE_SOURCE_DIR}/extern/gtest/include
+   )
+   set(TEST_UTIL_LIB
+     ${LIB}
+     PRIVATE bf::blenfont
+     bf_blenloader
++    PRIVATE bf::dependencies::gflags
++    PRIVATE bf::dependencies::glog
+   )
+   blender_add_lib(bf_blenloader_test_util "${TEST_UTIL_SRC}" "${TEST_UTIL_INC}" "${TEST_UTIL_INC_SYS}" "${TEST_UTIL_LIB}")
+ 
+--- source/blender/blentranslation/msgfmt/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ source/blender/blentranslation/msgfmt/CMakeLists.txt
+@@ -20,7 +20,7 @@ set(LIB
+ set(LIB
+   PRIVATE PRIVATE bf::blenlib
+   PRIVATE bf::intern::guardedalloc
+-  ${ZLIB_LIBRARIES}
++  PRIVATE bf::dependencies::zlib
+   ${PLATFORM_LINKLIBS})
+ 
+ add_cc_flags_custom_test(msgfmt)
+--- source/blender/bmesh/CMakeLists.txt.orig	2025-10-08 10:41:56 UTC
++++ source/blender/bmesh/CMakeLists.txt
+@@ -9,7 +9,6 @@ set(INC_SYS
+ )
+ 
+ set(INC_SYS
+-
+ )
+ 
+ set(SRC
+@@ -173,35 +172,21 @@ set(LIB
*** 2834 LINES SKIPPED ***