PKGNAME=openvdb
PKGDES="C++ library comprising a novel hierarchical data structure"
PKGSEC=libs
PKGDEP="boost tbb c-blosc zlib openexr libpng ncurses libffi libxml2 \
        llvm-runtime jemalloc imath glfw"
BUILDDEP="llvm pybind11 texlive nanobind"
BUILDDEP__AMD64="${BUILDDEP} cuda"
BUILDDEP__ARM64="${BUILDDEP} cuda"
PKGSUG__AMD64="cuda"
PKGSUG__ARM64="cuda"

ABTYPE=cmakeninja
CMAKE_AFTER__NANOVDB=(
    '-DNANOVDB_ALLOW_FETCHCONTENT=OFF'
    '-DNANOVDB_BUILD_EXAMPLES=OFF'
    '-DNANOVDB_BUILD_PYTHON_MODULE=ON'
    '-DNANOVDB_BUILD_TOOLS=ON'
    '-DNANOVDB_BUILD_UNITTESTS=OFF'
    '-DNANOVDB_CUDA_KEEP_PTX=OFF'
    '-DNANOVDB_USE_BLOSC=ON'
    '-DNANOVDB_USE_CUDA=OFF'
    '-DNANOVDB_USE_INTRINSICS=OFF'
    '-DNANOVDB_USE_MAGICAVOXEL=OFF'
    '-DNANOVDB_USE_OPENVDB=ON'
    '-DNANOVDB_USE_TBB=ON'
    '-DNANOVDB_USE_ZLIB=ON'
)

CMAKE_AFTER=(
    "${CMAKE_AFTER__NANOVDB[@]}"
    '-DOPENVDB_BUILD_AX=ON'
    '-DOPENVDB_BUILD_AX_UNITTESTS=OFF'
    '-DOPENVDB_BUILD_BINARIES=ON'
    '-DOPENVDB_BUILD_CORE=ON'
    '-DOPENVDB_BUILD_DOCS=OFF'
    '-DOPENVDB_BUILD_HOUDINI_PLUGIN=OFF'
    '-DOPENVDB_BUILD_MAYA_PLUGIN=OFF'
    '-DOPENVDB_BUILD_NANOVDB=ON'
    '-DOPENVDB_BUILD_PYTHON_MODULE=ON'
    '-DOPENVDB_BUILD_UNITTESTS=OFF'
    '-DOPENVDB_CORE_SHARED=ON'
    '-DOPENVDB_CORE_STATIC=OFF'
    '-DOPENVDB_ENABLE_ASSERTS=OFF'
    '-DOPENVDB_ENABLE_UNINSTALL=OFF'
    '-DOPENVDB_INSTALL_CMAKE_MODULES=ON'
    '-DUSE_AX=ON'
    '-DUSE_BLOSC=ON'
    '-DUSE_EXPLICIT_INSTANTIATION=ON'
    '-DUSE_EXR=ON'
    '-DUSE_NANOVDB=ON'
    '-DUSE_PKGCONFIG=ON'
    '-DUSE_PNG=ON'
    '-DUSE_STATIC_DEPENDENCIES=OFF'
    '-DUSE_TBB=OFF'
    '-DUSE_ZLIB=ON'    
)

CMAKE_AFTER__AMD64=(
    "${CMAKE_AFTER[@]}"
    '-DNANOVDB_CUDA_KEEP_PTX=ON'
    '-DNANOVDB_USE_CUDA=ON'
    '-DNANOVDB_USE_INTRINSICS=ON'
)
CMAKE_AFTER__ARM64=(
    "${CMAKE_AFTER[@]}"
    '-DNANOVDB_CUDA_KEEP_PTX=ON'
    '-DNANOVDB_USE_CUDA=ON'
    '-DNANOVDB_USE_INTRINSICS=ON'
)

PKGBREAK="blender<=5.1.0 openimageio<=2.5.19.1-5 superslicer<=2.7.61.10-2 \
          vtk<=9.5.2-4"
