Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'build_files/cmake')
-rw-r--r--build_files/cmake/Modules/FindNanoVDB.cmake49
-rw-r--r--build_files/cmake/platform/platform_apple.cmake5
-rw-r--r--build_files/cmake/platform/platform_unix.cmake10
-rw-r--r--build_files/cmake/platform/platform_win32.cmake5
4 files changed, 69 insertions, 0 deletions
diff --git a/build_files/cmake/Modules/FindNanoVDB.cmake b/build_files/cmake/Modules/FindNanoVDB.cmake
new file mode 100644
index 00000000000..95d76fb39af
--- /dev/null
+++ b/build_files/cmake/Modules/FindNanoVDB.cmake
@@ -0,0 +1,49 @@
+# - Find NanoVDB library
+# Find the native NanoVDB includes and library
+# This module defines
+# NANOVDB_INCLUDE_DIRS, where to find nanovdb.h, Set when
+# NANOVDB_INCLUDE_DIR is found.
+# NANOVDB_ROOT_DIR, The base directory to search for NanoVDB.
+# This can also be an environment variable.
+# NANOVDB_FOUND, If false, do not try to use NanoVDB.
+
+#=============================================================================
+# Copyright 2020 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD 3-Clause License,
+# see accompanying file BSD-3-Clause-license.txt for details.
+#=============================================================================
+
+# If NANOVDB_ROOT_DIR was defined in the environment, use it.
+IF(NOT NANOVDB_ROOT_DIR AND NOT $ENV{NANOVDB_ROOT_DIR} STREQUAL "")
+ SET(NANOVDB_ROOT_DIR $ENV{NANOVDB_ROOT_DIR})
+ENDIF()
+
+SET(_nanovdb_SEARCH_DIRS
+ ${NANOVDB_ROOT_DIR}
+)
+
+FIND_PATH(NANOVDB_INCLUDE_DIR
+ NAMES
+ nanovdb/NanoVDB.h
+ HINTS
+ ${_nanovdb_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+# handle the QUIETLY and REQUIRED arguments and set NANOVDB_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(NanoVDB DEFAULT_MSG
+ NANOVDB_INCLUDE_DIR)
+
+IF(NANOVDB_FOUND)
+ SET(NANOVDB_INCLUDE_DIRS ${NANOVDB_INCLUDE_DIR})
+ENDIF(NANOVDB_FOUND)
+
+MARK_AS_ADVANCED(
+ NANOVDB_INCLUDE_DIR
+)
+
+UNSET(_nanovdb_SEARCH_DIRS)
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
index 394eac8d0d8..07b3e53de5c 100644
--- a/build_files/cmake/platform/platform_apple.cmake
+++ b/build_files/cmake/platform/platform_apple.cmake
@@ -323,6 +323,11 @@ if(WITH_OPENVDB)
set(OPENVDB_DEFINITIONS)
endif()
+if(WITH_NANOVDB)
+ set(NANOVDB ${LIBDIR}/nanovdb)
+ set(NANOVDB_INCLUDE_DIR ${NANOVDB}/include)
+endif()
+
if(WITH_LLVM)
set(LLVM_ROOT_DIR ${LIBDIR}/llvm)
if(EXISTS "${LLVM_ROOT_DIR}/bin/llvm-config")
diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake
index 58de3b34961..1aa96c8b842 100644
--- a/build_files/cmake/platform/platform_unix.cmake
+++ b/build_files/cmake/platform/platform_unix.cmake
@@ -264,6 +264,7 @@ endif()
if(WITH_OPENVDB)
find_package_wrapper(OpenVDB)
find_package_wrapper(Blosc)
+
if(NOT OPENVDB_FOUND)
set(WITH_OPENVDB OFF)
set(WITH_OPENVDB_BLOSC OFF)
@@ -274,6 +275,15 @@ if(WITH_OPENVDB)
endif()
endif()
+if(WITH_NANOVDB)
+ find_package_wrapper(NanoVDB)
+
+ if(NOT NANOVDB_FOUND)
+ set(WITH_NANOVDB OFF)
+ message(STATUS "NanoVDB not found, disabling it")
+ endif()
+endif()
+
if(WITH_ALEMBIC)
find_package_wrapper(Alembic)
diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake
index 89c55d8b04f..2dd8d5f4600 100644
--- a/build_files/cmake/platform/platform_win32.cmake
+++ b/build_files/cmake/platform/platform_win32.cmake
@@ -535,6 +535,11 @@ if(WITH_OPENVDB)
set(OPENVDB_DEFINITIONS -DNOMINMAX -D_USE_MATH_DEFINES)
endif()
+if(WITH_NANOVDB)
+ set(NANOVDB ${LIBDIR}/nanoVDB)
+ set(NANOVDB_INCLUDE_DIR ${NANOVDB}/include)
+endif()
+
if(WITH_OPENIMAGEDENOISE)
set(OPENIMAGEDENOISE ${LIBDIR}/OpenImageDenoise)
set(OPENIMAGEDENOISE_LIBPATH ${LIBDIR}/OpenImageDenoise/lib)