[Bf-blender-cvs] [dbd2993230a] draw-deferred-compilation-experiment: Build: upgrade many library dependencies to new versions for Blender 3.2

Ray Molenkamp noreply at git.blender.org
Thu Apr 21 11:14:13 CEST 2022


Commit: dbd2993230aab79d9a427626554e0317404417a1
Author: Ray Molenkamp
Date:   Tue Apr 19 18:08:51 2022 +0200
Branches: draw-deferred-compilation-experiment
https://developer.blender.org/rBdbd2993230aab79d9a427626554e0317404417a1

Build: upgrade many library dependencies to new versions for Blender 3.2

This only updates the build system, precompiled libraries for the various
platforms will be committed over the coming week.

New:
fmt 8.0.0
level_zero v1.7.15
pystring v1.1.3
robinmap v0.6.2
webp 1.2.2

Updated:
alembic 1.8.3
blosc 1.21.1
boost 1.78.0
embree 3.13.3
ffmpeg 5.0
fftw 3.3.10
flac 1.3.4
imath 3.1.4
ispc v1.17.0
jpeg 2.1.3
ogg 1.3.5
oidn 1.4.3
openal 1.21.1
opencolorio 2.1.1
openexr 3.1.4
openimageio v2.3.13.0
openjpeg 2.4.0
opensubdiv v3_4_4
openvdb 9.0.0
osl 1.11.17.0
sdl 2.0.20
tbb 2020_u3
tiff 4.3.0
usd 22.03
vorbis 1.3.7
vpx 1.11.0
x264 35fe20d1b
zlib 1.2.12

Implemented by Ray Molenkamp, Sybren Stüvel and Brecht Van Lommel.

Ref T95206

===================================================================

M	build_files/build_environment/CMakeLists.txt
M	build_files/build_environment/cmake/alembic.cmake
M	build_files/build_environment/cmake/blosc.cmake
M	build_files/build_environment/cmake/boost.cmake
A	build_files/build_environment/cmake/boost_build_options.cmake
M	build_files/build_environment/cmake/download.cmake
M	build_files/build_environment/cmake/embree.cmake
A	build_files/build_environment/cmake/fmt.cmake
M	build_files/build_environment/cmake/harvest.cmake
A	build_files/build_environment/cmake/imath.cmake
M	build_files/build_environment/cmake/jpeg.cmake
A	build_files/build_environment/cmake/level-zero.cmake
D	build_files/build_environment/cmake/nanovdb.cmake
M	build_files/build_environment/cmake/opencolorio.cmake
M	build_files/build_environment/cmake/openexr.cmake
M	build_files/build_environment/cmake/openimagedenoise.cmake
M	build_files/build_environment/cmake/openimageio.cmake
M	build_files/build_environment/cmake/openjpeg.cmake
M	build_files/build_environment/cmake/opensubdiv.cmake
M	build_files/build_environment/cmake/openvdb.cmake
M	build_files/build_environment/cmake/options.cmake
M	build_files/build_environment/cmake/osl.cmake
A	build_files/build_environment/cmake/pystring.cmake
A	build_files/build_environment/cmake/robinmap.cmake
M	build_files/build_environment/cmake/tiff.cmake
M	build_files/build_environment/cmake/usd.cmake
M	build_files/build_environment/cmake/versions.cmake
M	build_files/build_environment/cmake/webp.cmake
A	build_files/build_environment/patches/cmakelists_pystring.txt
M	build_files/build_environment/patches/embree.diff
M	build_files/build_environment/patches/ispc.diff
A	build_files/build_environment/patches/level-zero.diff
M	build_files/build_environment/patches/openvdb.diff
M	build_files/build_environment/patches/osl.diff
M	build_files/build_environment/patches/usd.diff
M	build_files/build_environment/windows/build_deps.cmd

===================================================================

diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index 40e5c35f990..8f4738d1f1c 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -29,8 +29,9 @@ cmake_minimum_required(VERSION 3.5)
 
 include(ExternalProject)
 include(cmake/check_software.cmake)
-include(cmake/options.cmake)
 include(cmake/versions.cmake)
+include(cmake/options.cmake)
+include(cmake/boost_build_options.cmake)
 include(cmake/download.cmake)
 
 if(ENABLE_MINGW64)
@@ -46,6 +47,7 @@ include(cmake/png.cmake)
 include(cmake/jpeg.cmake)
 include(cmake/blosc.cmake)
 include(cmake/pthreads.cmake)
+include(cmake/imath.cmake)
 include(cmake/openexr.cmake)
 include(cmake/brotli.cmake)
 include(cmake/freetype.cmake)
@@ -75,7 +77,6 @@ endif()
 include(cmake/osl.cmake)
 include(cmake/tbb.cmake)
 include(cmake/openvdb.cmake)
-include(cmake/nanovdb.cmake)
 include(cmake/python.cmake)
 option(USE_PIP_NUMPY "Install NumPy using pip wheel instead of building from source" OFF)
 if(APPLE AND ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64"))
@@ -94,12 +95,15 @@ include(cmake/pugixml.cmake)
 include(cmake/ispc.cmake)
 include(cmake/openimagedenoise.cmake)
 include(cmake/embree.cmake)
+include(cmake/fmt.cmake)
+include(cmake/robinmap.cmake)
 if(NOT APPLE)
   include(cmake/xr_openxr.cmake)
 endif()
 
 # OpenColorIO and dependencies.
 include(cmake/expat.cmake)
+include(cmake/pystring.cmake)
 include(cmake/yamlcpp.cmake)
 include(cmake/opencolorio.cmake)
 
@@ -107,8 +111,9 @@ if(BLENDER_PLATFORM_ARM)
   include(cmake/sse2neon.cmake)
 endif()
 
-if(WITH_WEBP)
-  include(cmake/webp.cmake)
+include(cmake/webp.cmake)
+if(NOT APPLE)
+  include(cmake/level-zero.cmake)
 endif()
 
 if(NOT WIN32 OR ENABLE_MINGW64)
diff --git a/build_files/build_environment/cmake/alembic.cmake b/build_files/build_environment/cmake/alembic.cmake
index 29251afe58f..484a7849ace 100644
--- a/build_files/build_environment/cmake/alembic.cmake
+++ b/build_files/build_environment/cmake/alembic.cmake
@@ -1,30 +1,16 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
 
 set(ALEMBIC_EXTRA_ARGS
-  -DBUILDSTATIC=ON
-  -DLINKSTATIC=ON
-  -DILMBASE_ROOT=${LIBDIR}/openexr
-  -DALEMBIC_ILMBASE_INCLUDE_DIRECTORY=${LIBDIR}/openexr/include/OpenEXR
-  -DALEMBIC_ILMBASE_HALF_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
-  -DALEMBIC_ILMBASE_IMATH_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
-  -DALEMBIC_ILMBASE_ILMTHREAD_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
-  -DALEMBIC_ILMBASE_IEX_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
-  -DALEMBIC_ILMBASE_IEXMATH_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}IexMath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
-  -DUSE_PYILMBASE=0
-  -DUSE_PYALEMBIC=0
-  -DUSE_ARNOLD=0
-  -DUSE_MAYA=0
-  -DUSE_PRMAN=0
-  -DUSE_HDF5=Off
-  -DUSE_STATIC_HDF5=Off
-  -DUSE_TESTS=Off
-  -DALEMBIC_NO_OPENGL=1
+  -DImath_ROOT=${LIBDIR}/imath
+  -DUSE_PYALEMBIC=OFF
+  -DUSE_ARNOLD=OFF
+  -DUSE_MAYA=OFF
+  -DUSE_PRMAN=OFF
+  -DUSE_HDF5=OFF
+  -DUSE_TESTS=OFF
   -DUSE_BINARIES=ON
-  -DALEMBIC_ILMBASE_LINK_STATIC=On
+  -DALEMBIC_ILMBASE_LINK_STATIC=OFF
   -DALEMBIC_SHARED_LIBS=OFF
-  -DGLUT_INCLUDE_DIR=""
-  -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
-  -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
 )
 
 ExternalProject_Add(external_alembic
@@ -55,6 +41,5 @@ endif()
 
 add_dependencies(
   external_alembic
-  external_zlib
   external_openexr
 )
diff --git a/build_files/build_environment/cmake/blosc.cmake b/build_files/build_environment/cmake/blosc.cmake
index 57817a075c7..7dfa8853a8a 100644
--- a/build_files/build_environment/cmake/blosc.cmake
+++ b/build_files/build_environment/cmake/blosc.cmake
@@ -24,7 +24,6 @@ ExternalProject_Add(external_blosc
   DOWNLOAD_DIR ${DOWNLOAD_DIR}
   URL_HASH ${BLOSC_HASH_TYPE}=${BLOSC_HASH}
   PREFIX ${BUILD_DIR}/blosc
-  PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/blosc/src/external_blosc < ${PATCH_DIR}/blosc.diff
   CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blosc ${DEFAULT_CMAKE_FLAGS} ${BLOSC_EXTRA_ARGS}
   INSTALL_DIR ${LIBDIR}/blosc
 )
diff --git a/build_files/build_environment/cmake/boost.cmake b/build_files/build_environment/cmake/boost.cmake
index ca60bf832f5..57088e59cee 100644
--- a/build_files/build_environment/cmake/boost.cmake
+++ b/build_files/build_environment/cmake/boost.cmake
@@ -1,22 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
 
-set(BOOST_ADDRESS_MODEL 64)
-
-if(BLENDER_PLATFORM_ARM)
-  set(BOOST_ARCHITECTURE arm)
-else()
-  set(BOOST_ARCHITECTURE x86)
-endif()
-
 if(WIN32)
-  if(MSVC_VERSION GREATER_EQUAL 1920) # 2019
-    set(BOOST_TOOLSET toolset=msvc-14.2)
-    set(BOOST_COMPILER_STRING -vc142)
-  else() # 2017
-    set(BOOST_TOOLSET toolset=msvc-14.1)
-    set(BOOST_COMPILER_STRING -vc141)
-  endif()
-
   set(BOOST_CONFIGURE_COMMAND bootstrap.bat)
   set(BOOST_BUILD_COMMAND b2)
   set(BOOST_BUILD_OPTIONS runtime-link=shared )
@@ -36,11 +20,6 @@ else()
   set(BOOST_BUILD_COMMAND ./b2)
   set(BOOST_BUILD_OPTIONS cxxflags=${PLATFORM_CXXFLAGS} --disable-icu boost.locale.icu=off)
   set(BOOST_PATCH_COMMAND echo .)
-  if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
-    set(BOOST_ADDRESS_MODEL 64)
-  else()
-    set(BOOST_ADDRESS_MODEL 32)
-  endif()
 endif()
 
 if(WITH_BOOST_PYTHON)
diff --git a/build_files/build_environment/cmake/boost_build_options.cmake b/build_files/build_environment/cmake/boost_build_options.cmake
new file mode 100644
index 00000000000..cc471078fcd
--- /dev/null
+++ b/build_files/build_environment/cmake/boost_build_options.cmake
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+set(BOOST_ADDRESS_MODEL 64)
+if(BLENDER_PLATFORM_ARM)
+  set(BOOST_ARCHITECTURE arm)
+else()
+  set(BOOST_ARCHITECTURE x86)
+endif()
+
+if(WIN32)
+  if(MSVC_VERSION GREATER_EQUAL 1920) # 2019
+    set(BOOST_TOOLSET toolset=msvc-14.2)
+    set(BOOST_COMPILER_STRING -vc142)
+  else() # 2017
+    set(BOOST_TOOLSET toolset=msvc-14.1)
+    set(BOOST_COMPILER_STRING -vc141)
+  endif()
+endif()
+
+set(DEFAULT_BOOST_FLAGS
+  -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
+  -DBoost_USE_MULTITHREADED=ON
+  -DBoost_USE_STATIC_LIBS=ON
+  -DBoost_USE_STATIC_RUNTIME=OFF
+  -DBOOST_ROOT=${LIBDIR}/boost
+  -DBoost_NO_SYSTEM_PATHS=ON
+  -DBoost_NO_BOOST_CMAKE=ON
+  -DBoost_ADDITIONAL_VERSIONS=${BOOST_VERSION_SHORT}
+  -DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
+)
diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake
index 5ca46c15d8d..80c53d05c28 100644
--- a/build_files/build_environment/cmake/download.cmake
+++ b/build_files/build_environment/cmake/download.cmake
@@ -71,9 +71,7 @@ download_source(FFMPEG)
 download_source(FFTW)
 download_source(ICONV)
 download_source(SNDFILE)
-if(WITH_WEBP)
-  download_source(WEBP)
-endif()
+download_source(WEBP)
 download_source(SPNAV)
 download_source(JEMALLOC)
 download_source(XML2)
@@ -102,3 +100,8 @@ download_source(HARU)
 download_source(ZSTD)
 download_source(FLEX)
 download_source(BROTLI)
+download_source(FMT)
+download_source(ROBINMAP)
+download_source(IMATH)
+download_source(PYSTRING)
+download_source(LEVEL_ZERO)
diff --git a/build_files/build_environment/cmake/embree.cmake b/build_files/build_environment/cmake/embree.cmake
index 229c1800e16..2eafc729111 100644
--- a/build_files/build_environment/cmake/embree.cmake
+++ b/build_files/build_environment/cmake/embree.cmake
@@ -17,6 +17,16 @@ set(EMBREE_EXTRA_ARGS
   -DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
 )
 
+if(BLENDER_PLATFORM_ARM)
+  set(EMBREE_EXTRA_ARGS
+    ${EMBREE_EXTRA_ARGS}
+    -DEMBREE_MAX_ISA=NEON)
+else()
+  set(EMBREE_EXTRA_ARGS
+    ${EMBREE_EXTRA_ARGS}
+    -DEMBREE_MAX_ISA=AVX2)
+endif()
+
 if(TBB_STATIC_LIBRARY)
   set(EMBREE_EXTRA_ARGS
     ${EMBREE_EXTRA_ARGS}
@@ -37,26 +47,15 @@ else()
   set(EMBREE_BUILD_DIR)
 endif()
 
-if(BLENDER_PLATFORM_ARM)
-  ExternalProject_Add(external_embree
-    GIT_REPOSITORY ${EMBREE_ARM_GIT}
-    GIT_TAG "blender-arm"
-    DOWNLOAD_DIR ${DOWNLOAD_DIR}
-    PREFIX ${BUILD_DIR}/embree
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
-    INSTALL_DIR ${LIBDIR}/embree
-  )
-else()
-  ExternalProject_Add(external_embree
-    URL file://${PACKAGE_DIR}/${EMBREE_FILE}
-    DOWNLOAD_DIR ${DOWNLOAD_DIR}
-    URL_HASH ${EMBREE_HASH_TYPE}=${EMBREE_HASH}
-    PREFIX ${BUILD_DIR}/embree
-    PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/embree/src/external_embree < ${PATCH_DIR}/embree.diff
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
-    INSTALL_DIR ${LIBDIR}/embree
-  )
-endif()
+ExternalProject_Add(external_embree
+  URL file://${PACKAGE_DIR}/${EMBREE_FILE}
+  DOWNLOAD_DIR ${DOWNLOAD_DIR}
+  URL_HASH ${EMBREE_HASH_TYPE}=${EMBREE_HASH}
+  PREFIX ${BUILD_DIR}/embree
+  PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/embree/src/external_embree < ${PATCH_DIR}/embree.diff
+  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
+  INSTALL_DIR ${LIBDIR}/embree
+)
 
 add_dependencies(
   external_embree
diff --git a/build_files/build_environment/cmake/fmt.cmake b/build_files/build_environment/cmake/fmt.cmake
new file mode 100644
index 00000000000..74cb9e0c8ad
--- /dev/null
+++ b/build_files/build_environment/cmake/fmt.cmake
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+set(FMT_EXTRA_ARGS
+  -DFMT_TEST=Off
+)
+
+ExternalProject_Add(external_fmt
+  URL file://${PACKAGE_DIR}/${FMT_FILE}
+  DOWNLOAD_DIR ${DOWNLOAD_DIR}
+  URL_HASH ${FMT_HASH_TYPE}=${FMT_HASH}
+  PREFIX ${BUILD_DIR}/fmt
+  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/fmt ${DEFAULT_CMAKE_FLAGS} ${FMT_EXTRA_ARGS}
+  INSTALL_DIR ${LIBDIR}/fmt
+)
diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake
index 28f921b30d8..2e23c23998a 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -14,8 +14,8 @@ if(WIN32)
 if(BUILD_MODE STREQUAL Release)
   add_custom_target(Harvest_Release_Results
     COMMAND #

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list