[Bf-blender-cvs] [7a64650cccc] tmp_libupdate_34: Keep Blender building with 3.3 libraries on Linux/macOS
Brecht Van Lommel
noreply at git.blender.org
Wed Aug 17 19:49:08 CEST 2022
Commit: 7a64650cccc7ff825cd6f0e24055f0140628ccfc
Author: Brecht Van Lommel
Date: Wed Aug 17 18:01:41 2022 +0200
Branches: tmp_libupdate_34
https://developer.blender.org/rB7a64650cccc7ff825cd6f0e24055f0140628ccfc
Keep Blender building with 3.3 libraries on Linux/macOS
===================================================================
M build_files/cmake/Modules/FindUSD.cmake
M build_files/cmake/platform/platform_apple.cmake
M build_files/cmake/platform/platform_old_libs_update.cmake
M build_files/cmake/platform/platform_unix.cmake
M intern/cycles/cmake/external_libs.cmake
M intern/cycles/cmake/macros.cmake
===================================================================
diff --git a/build_files/cmake/Modules/FindUSD.cmake b/build_files/cmake/Modules/FindUSD.cmake
index 0fd5f06bb35..f975b20806e 100644
--- a/build_files/cmake/Modules/FindUSD.cmake
+++ b/build_files/cmake/Modules/FindUSD.cmake
@@ -58,6 +58,9 @@ ELSE()
get_filename_component(USD_LIBRARY_DIR ${USD_LIBRARY} DIRECTORY)
SET(USD_INCLUDE_DIRS ${USD_INCLUDE_DIR})
set(USD_LIBRARIES ${USD_LIBRARY})
+ IF(EXISTS ${USD_INCLUDE_DIR}/pxr/base/tf/pyModule.h)
+ SET(USD_PYTHON_SUPPORT ON)
+ ENDIF()
ENDIF()
ENDIF()
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
index 88f574b23a1..03fa2ada29a 100644
--- a/build_files/cmake/platform/platform_apple.cmake
+++ b/build_files/cmake/platform/platform_apple.cmake
@@ -277,7 +277,10 @@ if(WITH_BOOST)
if(WITH_INTERNATIONAL)
list(APPEND _boost_FIND_COMPONENTS locale)
endif()
- if(WITH_USD)
+ if(WITH_OPENVDB)
+ list(APPEND _boost_FIND_COMPONENTS iostreams)
+ endif()
+ if(WITH_USD AND USD_PYTHON_SUPPORT)
list(APPEND _boost_FIND_COMPONENTS python${PYTHON_VERSION_NO_DOTS})
endif()
find_package(Boost COMPONENTS ${_boost_FIND_COMPONENTS})
@@ -330,6 +333,10 @@ endif()
if(WITH_OPENVDB)
find_package(OpenVDB)
+ find_library(BLOSC_LIBRARIES NAMES blosc HINTS ${LIBDIR}/openvdb/lib)
+ if(BLOSC_LIBRARIES)
+ list(APPEND OPENVDB_LIBRARIES ${BLOSC_LIBRARIES})
+ endif()
set(OPENVDB_DEFINITIONS)
add_bundled_libraries(openvdb)
endif()
diff --git a/build_files/cmake/platform/platform_old_libs_update.cmake b/build_files/cmake/platform/platform_old_libs_update.cmake
index 09c15ce1681..cf77c8fcd68 100644
--- a/build_files/cmake/platform/platform_old_libs_update.cmake
+++ b/build_files/cmake/platform/platform_old_libs_update.cmake
@@ -45,11 +45,11 @@ if(UNIX AND DEFINED NANOVDB_INCLUDE_DIR)
endif()
endif()
-# Shared libraries.
+# Detect update to 3.4 libs with shared libraries.
if(UNIX AND
DEFINED TBB_LIBRARY AND
TBB_LIBRARY MATCHES "libtbb.a$" AND
- EXISTS ${LIBDIR}/usd/lib/python)
+ EXISTS ${LIBDIR}/usd/include/pxr/base/tf/pyModule.h)
message(STATUS "Auto updating CMake configuration for Blender 3.4 libraries")
unset_cache_variables("^BLOSC")
unset_cache_variables("^BOOST")
diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake
index c8cabdb5a5c..dc426cbc58f 100644
--- a/build_files/cmake/platform/platform_unix.cmake
+++ b/build_files/cmake/platform/platform_unix.cmake
@@ -313,16 +313,14 @@ endif()
if(WITH_OPENVDB)
find_package(OpenVDB)
+ find_package_wrapper(Blosc)
if(OPENVDB_FOUND)
add_bundled_libraries(openvdb)
- if(NOT EXISTS ${LIBDIR})
- find_package_wrapper(Blosc)
- if(NOT BLOSC_FOUND)
- set(WITH_OPENVDB_BLOSC OFF)
- message(STATUS "Blosc not found, disabling it for OpenVBD")
- endif()
+ if(NOT EXISTS ${LIBDIR} AND NOT BLOSC_FOUND)
+ set(WITH_OPENVDB_BLOSC OFF)
+ message(STATUS "Blosc not found, disabling it for OpenVBD")
endif()
else()
set(WITH_OPENVDB OFF)
@@ -379,10 +377,10 @@ if(WITH_BOOST)
if(WITH_INTERNATIONAL)
list(APPEND __boost_packages locale)
endif()
- if(WITH_OPENIMAGEIO)
- list(APPEND __boost_packages filesystem)
+ if(WITH_OPENVDB)
+ list(APPEND __boost_packages iostreams)
endif()
- if(WITH_USD)
+ if(WITH_USD AND USD_PYTHON_SUPPORT)
list(APPEND __boost_packages python${PYTHON_VERSION_NO_DOTS})
endif()
list(APPEND __boost_packages system)
diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake
index 22245e07065..af2f280ae84 100644
--- a/intern/cycles/cmake/external_libs.cmake
+++ b/intern/cycles/cmake/external_libs.cmake
@@ -67,6 +67,7 @@ if(CYCLES_STANDALONE_REPOSITORY)
if(EXISTS ${_cycles_lib_dir})
_set_default(ALEMBIC_ROOT_DIR "${_cycles_lib_dir}/alembic")
_set_default(BOOST_ROOT "${_cycles_lib_dir}/boost")
+ _set_default(BLOSC_ROOT_DIR "${_cycles_lib_dir}/blosc")
_set_default(EMBREE_ROOT_DIR "${_cycles_lib_dir}/embree")
_set_default(IMATH_ROOT_DIR "${_cycles_lib_dir}/imath")
_set_default(GLEW_ROOT_DIR "${_cycles_lib_dir}/glew")
@@ -437,6 +438,15 @@ if(CYCLES_STANDALONE_REPOSITORY AND WITH_CYCLES_OPENVDB)
if(NOT USD_OVERRIDE_OPENVDB)
find_package(OpenVDB REQUIRED)
+
+ if(MSVC AND EXISTS ${_cycles_lib_dir})
+ set(BLOSC_LIBRARY
+ optimized ${BLOSC_ROOT_DIR}/lib/libblosc.lib
+ debug ${BLOSC_ROOT_DIR}/lib/libblosc_d.lib
+ )
+ else()
+ find_package(Blosc REQUIRED)
+ endif()
endif()
endif()
diff --git a/intern/cycles/cmake/macros.cmake b/intern/cycles/cmake/macros.cmake
index 7087af994b8..bc755143eb0 100644
--- a/intern/cycles/cmake/macros.cmake
+++ b/intern/cycles/cmake/macros.cmake
@@ -107,7 +107,7 @@ macro(cycles_external_libraries_append libraries)
endif()
endif()
if(WITH_OPENVDB)
- list(APPEND ${libraries} ${OPENVDB_LIBRARIES})
+ list(APPEND ${libraries} ${OPENVDB_LIBRARIES} ${BLOSC_LIBRARIES})
endif()
if(WITH_OPENIMAGEDENOISE)
list(APPEND ${libraries} ${OPENIMAGEDENOISE_LIBRARIES})
More information about the Bf-blender-cvs
mailing list