Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VDB 12.0.0 Release #1958

Merged
merged 17 commits into from
Nov 1, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -479,8 +479,8 @@ endif()
if(OPENVDB_BUILD_PYTHON_MODULE OR (OPENVDB_BUILD_NANOVDB AND NANOVDB_BUILD_PYTHON_MODULE))

# Call find_package(Python ...)
find_package(Python 3.8 REQUIRED COMPONENTS Development Interpreter)
find_package(nanobind REQUIRED)
find_package(Python ${MINIMUM_PYTHON_VERSION} REQUIRED COMPONENTS Development Interpreter)
find_package(nanobind ${MINIMUM_NANOBIND_VERSION} REQUIRED)
danrbailey marked this conversation as resolved.
Show resolved Hide resolved

if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_PYTHON_VERSION)
if(Python_VERSION VERSION_LESS ${FUTURE_MINIMUM_PYTHON_VERSION})
Expand Down
2 changes: 1 addition & 1 deletion ci/install_llvm_windows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -ex

LLVM_CRT="$1"

git clone -b llvmorg-12.0.0 --depth 1 https://github.com/llvm/llvm-project.git llvm
git clone -b llvmorg-14.0.0 --depth 1 https://github.com/llvm/llvm-project.git llvm
cd llvm

mkdir .build
Expand Down
27 changes: 13 additions & 14 deletions cmake/config/OpenVDBVersions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -34,24 +34,23 @@ if(NOT DISABLE_DEPENDENCY_VERSION_CHECKS)
# What's usually important is that the version of libstdc++ and glibc in use
# matches. Compilers other than GCC should provide options to ensure this
# targetting e.g. --gcc-toolchain and -fgnuc-version with Clang.
set(MINIMUM_GCC_VERSION 9.3.1)
set(MINIMUM_GCC_VERSION 11.2.1)
set(MINIMUM_CLANG_VERSION 5.0)
set(MINIMUM_ICC_VERSION 19)
set(MINIMUM_MSVC_VERSION 19.28) # 1928 (Visual Studio 2019 Version 16.8 + 16.9)
set(MINIMUM_MSVC_VERSION 19.30) # 1928 (Visual Studio 2019 Version 16.8 + 16.9)

# Should be 1.76 for VFX 22, but only version in apt is 1.73
set(MINIMUM_BOOST_VERSION 1.73)
set(MINIMUM_BOOST_VERSION 1.80)
set(MINIMUM_PYBIND_VERSION 2.9.1)
set(MINIMUM_IMATH_VERSION 3.1)
set(MINIMUM_OPENEXR_VERSION 3.1)
set(MINIMUM_ZLIB_VERSION 1.2.7)
set(MINIMUM_TBB_VERSION 2020.3)
set(MINIMUM_LLVM_VERSION 10.0.0)
set(MINIMUM_LLVM_VERSION 13.0.0)
set(MINIMUM_BLOSC_VERSION 1.17.0)
set(MINIMUM_GLFW_VERSION 3.1)

set(MINIMUM_PYTHON_VERSION 3.9.1)
set(MINIMUM_NUMPY_VERSION 1.20.0)
set(MINIMUM_PYTHON_VERSION 3.10)
set(MINIMUM_NUMPY_VERSION 1.23.0)

danrbailey marked this conversation as resolved.
Show resolved Hide resolved
set(MINIMUM_GOOGLETEST_VERSION 1.10)
set(MINIMUM_LOG4CPLUS_VERSION 1.1.2)
Expand All @@ -66,20 +65,20 @@ endif()
# @note At the time of writing, any variables that are commented out don't
# have target transitional versions.

set(FUTURE_MINIMUM_GCC_VERSION 11.2.1)
set(FUTURE_MINIMUM_MSVC_VERSION 19.30) # 1930 (Visual Studio 2022)
# set(FUTURE_MINIMUM_GCC_VERSION 11.2.1)
# set(FUTURE_MINIMUM_MSVC_VERSION 19.30)
# set(FUTURE_MINIMUM_ICC_VERSION 19)

# set(FUTURE_MINIMUM_CXX_STANDARD 20)
set(FUTURE_MINIMUM_CMAKE_VERSION 3.20)
# set(FUTURE_MINIMUM_OPENEXR_VERSION 3.1)
set(FUTURE_MINIMUM_BOOST_VERSION 1.80)
set(FUTURE_MINIMUM_OPENEXR_VERSION 3.2)
set(FUTURE_MINIMUM_BOOST_VERSION 1.82)
set(FUTURE_MINIMUM_GLFW_VERSION 3.3)
set(FUTURE_MINIMUM_LOG4CPLUS_VERSION 2.0)

# set(FUTURE_MINIMUM_BLOSC_VERSION 1.17.0)
# set(FUTURE_MINIMUM_TBB_VERSION 2020.3)
set(FUTURE_MINIMUM_PYTHON_VERSION 3.10)
set(FUTURE_MINIMUM_NUMPY_VERSION 1.23.0)
set(FUTURE_MINIMUM_PYTHON_VERSION 3.11)
set(FUTURE_MINIMUM_NUMPY_VERSION 1.26.0)
# set(FUTURE_MINIMUM_HOUDINI_VERSION 20.0)
set(FUTURE_MINIMUM_LLVM_VERSION 13.0.0)
# set(FUTURE_MINIMUM_LLVM_VERSION 13.0.0)
22 changes: 11 additions & 11 deletions doc/dependencies.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,22 +56,22 @@ OpenVDB Documentation | Doxygen | -

Package | Minimum | Recommended | Description | apt-get | Homebrew | Source
-------------- | ------- | ----------- | ----------------------------------------------------------------- | ------- | -------- | ------
CMake | 3.18 | Latest | Cross-platform family of tools designed to help build software | Y | Y | https://cmake.org
GCC | 9.3.1 | 11.2.1 | C++ 17 Compiler: The GNU Compiler Collection | Y | Y | https://www.gnu.org/software/gcc
CMake | 3.20 | Latest | Cross-platform family of tools designed to help build software | Y | Y | https://cmake.org
GCC | 11.2.1 | 11.2.1 | C++ 17 Compiler: The GNU Compiler Collection | Y | Y | https://www.gnu.org/software/gcc
Clang | 5.0 | Latest | C++ 17 Compiler: A C language family frontend for LLVM | Y | Y | https://clang.llvm.org
Intel ICC | 19 | Latest | C++ 17 Compiler: Intels C++ Compiler | Y | Y | https://software.intel.com/en-us/c-compilers
MSVC | 19.28 | 19.30 | C++ 17 Compiler: Microsoft Visual C++ Compiler | Y | Y | https://visualstudio.microsoft.com/vs
MSVC | 19.30 | 19.30 | C++ 17 Compiler: Microsoft Visual C++ Compiler | Y | Y | https://visualstudio.microsoft.com/vs
Imath | 3.1 | Latest | Half precision floating points | Y | Y | http://www.openexr.com
OpenEXR | 3.1 | Latest | EXR serialization support | Y | Y | http://www.openexr.com
TBB | 2020.2 | 2020.3 | Threading Building Blocks - template library for task parallelism | Y | Y | https://www.threadingbuildingblocks.org
TBB | 2020.3 | 2020.3 | Threading Building Blocks - template library for task parallelism | Y | Y | https://www.threadingbuildingblocks.org
ZLIB | 1.2.7 | Latest | Compression library for disk serialization compression | Y | Y | https://www.zlib.net
Boost | 1.73 | 1.80 | Components: iostreams | Y | Y | https://www.boost.org
LLVM | 10.0.0 | 13.0.0* | Target-independent code generation | Y | Y | https://llvm.org/
Bison | 3.0.0 | 3.7.0 | General-purpose parser generator | Y | Y | https://www.gnu.org/software/gcc
Flex | 2.6.0 | 2.6.4 | Fast lexical analyzer generator | Y | Y | https://github.com/westes/flex
Python | 3.9.1 | 3.10 | The python interpreter and libraries | Y | Y | https://www.python.org
Boost | 1.80 | 1.82 | Components: iostreams | Y | Y | https://www.boost.org
LLVM | 13.0.0 | 15.0.0* | Target-independent code generation | Y | Y | https://llvm.org/
Bison | 3.7.0 | 3.7.0 | General-purpose parser generator | Y | Y | https://www.gnu.org/software/gcc
Flex | 2.6.4 | 2.6.4 | Fast lexical analyzer generator | Y | Y | https://github.com/westes/flex
Python | 3.10 | 3.11 | The python interpreter and libraries | Y | Y | https://www.python.org
nanobind | 2.0.0 | Latest | C++/python bindings | Y | Y | https://nanobind.readthedocs.io
NumPy | 1.20.0 | 1.23.0 | Scientific computing with Python | Y | Y | http://www.numpy.org
NumPy | 1.23.0 | 1.26.0 | Scientific computing with Python | Y | Y | http://www.numpy.org
GoogleTest | 1.10 | Latest | A unit testing framework module for C++ | Y | Y | https://github.com/google/googletest
CppUnit | 1.10 | Latest | A unit testing framework module for C++ | N | Y | https://freedesktop.org/wiki/Software/cppunit
Blosc | 1.17.0* | 1.17.0 | Recommended dependency for improved disk compression | Y | Y | https://github.com/Blosc/c-blosc/releases
Expand Down Expand Up @@ -145,7 +145,7 @@ apt-get install zlibc # zlib
apt-get install libboost-iostreams-dev # Boost::iostream
apt-get install libblosc-dev # Blosc
# AX
apt-get install llvm-10-dev # LLVM
apt-get install llvm-15-dev # LLVM
# Python
apt-get install python-dev # Python
apt-get install python-numpy # NumPy
Expand Down
8 changes: 4 additions & 4 deletions nanovdb/nanovdb/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ endif()

#if(NANOVDB_BUILD_UNITTESTS OR NANOVDB_BUILD_BENCHMARK)
if(NANOVDB_BUILD_UNITTESTS)
find_package(GTest REQUIRED)
find_package(GTest ${MINIMUM_GOOGLETEST_VERSION} REQUIRED)
endif()

if(NANOVDB_USE_CUDA)
Expand Down Expand Up @@ -124,15 +124,15 @@ if(NANOVDB_USE_OPENVDB)
endif()

if(NANOVDB_USE_TBB AND NOT TARGET TBB::tbb)
find_package(TBB REQUIRED)
find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED)
endif()

if(NANOVDB_USE_BLOSC AND NOT TARGET Blosc::blosc)
find_package(Blosc REQUIRED)
find_package(Blosc ${MINIMUM_BLOSC_VERSION} REQUIRED)
endif()

if(NANOVDB_USE_ZLIB AND NOT TARGET ZLIB::ZLIB)
find_package(ZLIB REQUIRED)
find_package(ZLIB ${MINIMUM_ZLIB_VERSION} REQUIRED)
endif()

if(NANOVDB_USE_MAGICAVOXEL)
Expand Down
2 changes: 1 addition & 1 deletion openvdb_ax/openvdb_ax/test/TestAXCmd.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ set(SPHERE_VDB ${CMAKE_BINARY_DIR}/sphere.vdb)
set(TORUS_VDB ${CMAKE_BINARY_DIR}/torus.vdb)

if(DOWNLOAD_VDBS)
find_package(Python COMPONENTS Interpreter REQUIRED)
find_package(Python ${MINIMUM_PYTHON_VERSION} COMPONENTS Interpreter REQUIRED)
if(NOT EXISTS ${SPHERE_VDB} OR
NOT EXISTS ${TORUS_VDB} OR
NOT EXISTS ${SPHERE_POINTS_VDB})
Expand Down
4 changes: 2 additions & 2 deletions openvdb_cmd/vdb_render/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ if(USE_PNG)
endif()

if(USE_IMATH_HALF)
find_package(Imath CONFIG REQUIRED)
find_package(Imath ${MINIMUM_IMATH_VERSION} CONFIG REQUIRED)
endif()

if(USE_EXR)
find_package(OpenEXR CONFIG REQUIRED)
find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} CONFIG REQUIRED)
endif()

set(SOURCE_FILES main.cc)
Expand Down
8 changes: 4 additions & 4 deletions openvdb_cmd/vdb_tool/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,12 @@ if(OPENVDB_TOOL_USE_NANO)
target_compile_definitions(vdb_tool_common INTERFACE "VDB_TOOL_USE_NANO")
if(OPENVDB_TOOL_NANO_USE_ZIP)
target_compile_definitions(vdb_tool_common INTERFACE "NANOVDB_USE_ZIP")
find_package(ZLIB REQUIRED)
find_package(ZLIB ${MINIMUM_ZLIB_VERSION} REQUIRED)
target_link_libraries(vdb_tool_common INTERFACE ZLIB::ZLIB)
endif()
if(OPENVDB_TOOL_NANO_USE_BLOSC)
target_compile_definitions(vdb_tool_common INTERFACE "NANOVDB_USE_BLOSC")
find_package(Blosc REQUIRED)
find_package(Blosc ${MINIMUM_BLOSC_VERSION} REQUIRED)
target_link_libraries(vdb_tool_common INTERFACE blosc)
endif()
#target_include_directories(vdb_tool_common INTERFACE ${PROJECT_SOURCE_DIR}/../nanovdb/)
Expand Down Expand Up @@ -107,7 +107,7 @@ endif()

if(OPENVDB_TOOL_USE_EXR)
target_compile_definitions(vdb_tool_common INTERFACE "VDB_TOOL_USE_EXR")
find_package(OpenEXR REQUIRED)
find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} REQUIRED)
target_link_libraries(vdb_tool_common INTERFACE OpenEXR::IlmImf)
endif()

Expand Down Expand Up @@ -186,7 +186,7 @@ install(TARGETS vdb_tool RUNTIME DESTINATION ${OPENVDB_INSTALL_BINDIR})

# unit test
if(BUILD_TEST)
find_package(GTest CONFIG REQUIRED)
find_package(GTest ${MINIMUM_GOOGLETEST_VERSION} CONFIG REQUIRED)

add_executable(vdb_tool_test src/unittest.cpp)
target_include_directories(vdb_tool_test PRIVATE vdb_tool_common)
Expand Down
4 changes: 1 addition & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,9 @@ dependencies = [
authors = [
{ name = "OpenVDB Developer Team", email = "[email protected]" },
]
requires-python = ">=3.8"
requires-python = ">=3.10"
classifiers = [
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
Expand Down