Files
test/intern/CMakeLists.txt
Jesse Yurkovich 0240a1f32f Cleanup: CMake: Modernize bf_intern_openvdb dependencies
This follows the other CMake "modernization" commits, this time for
`bf_intern_openvdb` and the OpenVDB dependency itself.

The difference with this one is that `intern/openvdb` becomes an
"optional" dependency itself. This is because downstream consumers often
want to include this dependency rather than openvdb directly, so this
target must also be optional. Optional, in this case, means the target
always exists but may be entirely empty.

Summary
- If you are using BKE APIs to access openvdb features, then use the
  `bf::blenkernel` target
- If you are only using `intern/openvdb` APIs then use the
  `bf::intern::optional::openvdb` target (rare)
- For all other cases, use the `bf::dependencies::optional::openvdb`
  target (rare)

context: https://devtalk.blender.org/t/cmake-cleanup/30260
Pull Request: https://projects.blender.org/blender/blender/pulls/137071
2025-08-12 21:26:38 +02:00

78 lines
1.4 KiB
CMake

# SPDX-FileCopyrightText: 2006 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# add_subdirectory(atomic) # header only
add_subdirectory(atomic)
add_subdirectory(clog)
add_subdirectory(ghost)
add_subdirectory(guardedalloc)
add_subdirectory(libmv)
add_subdirectory(memutil)
add_subdirectory(opensubdiv)
add_subdirectory(mikktspace)
add_subdirectory(eigen)
add_subdirectory(sky)
add_subdirectory(openvdb)
if(WITH_AUDASPACE)
add_subdirectory(audaspace)
endif()
if(WITH_MOD_REMESH)
add_subdirectory(dualcon)
endif()
if(WITH_IK_SOLVER)
add_subdirectory(iksolver)
endif()
if(WITH_IK_ITASC)
add_subdirectory(itasc)
endif()
if(WITH_CYCLES)
add_subdirectory(cycles)
endif()
if(WITH_BULLET)
add_subdirectory(rigidbody)
endif()
if(WIN32)
# Only windows needs utf16 converter.
add_subdirectory(utfconv)
# Only used for Windows for now.
add_subdirectory(uriconvert)
endif()
if(WITH_MOD_FLUID)
add_subdirectory(mantaflow)
endif()
if(WITH_UV_SLIM)
add_subdirectory(slim)
endif()
if(WITH_QUADRIFLOW)
add_subdirectory(quadriflow)
endif()
if(UNIX AND NOT APPLE)
add_subdirectory(libc_compat)
endif()
if(WITH_RENDERDOC)
add_subdirectory(renderdoc_dynload)
endif()
if(UNIX AND NOT APPLE)
# Important this comes after "ghost" as it uses includes defined by GHOST's CMake.
if(WITH_GHOST_WAYLAND AND WITH_GHOST_WAYLAND_DYNLOAD)
add_subdirectory(wayland_dynload)
endif()
endif()