[Bf-blender-cvs] [02f6722350d] blender-v2.82-release: Build: upgrade to OpenEXR 2.4.0, OpenVDB 7.0.0 and Boost 1.70.0

Brecht Van Lommel noreply at git.blender.org
Mon Jan 20 09:45:44 CET 2020


Commit: 02f6722350d9b613450016505db0c24ba2bc9109
Author: Brecht Van Lommel
Date:   Sun Jan 19 13:11:27 2020 +0100
Branches: blender-v2.82-release
https://developer.blender.org/rB02f6722350d9b613450016505db0c24ba2bc9109

Build: upgrade to OpenEXR 2.4.0, OpenVDB 7.0.0 and Boost 1.70.0

This aligns with the VFX reference platform 2020 along with the decision
to stick to Python 3.7, see T68774.

Blosc was downgraded to 1.5 as recommended by the OpenVDB documentation.

IlmBase and OpenEXR are now built together with CMake rather separately
using autoconf.

Differential Revision: https://developer.blender.org/D6593

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

M	build_files/build_environment/CMakeLists.txt
M	build_files/build_environment/cmake/alembic.cmake
M	build_files/build_environment/cmake/boost.cmake
M	build_files/build_environment/cmake/harvest.cmake
D	build_files/build_environment/cmake/ilmbase.cmake
M	build_files/build_environment/cmake/openexr.cmake
M	build_files/build_environment/cmake/openimageio.cmake
M	build_files/build_environment/cmake/openvdb.cmake
M	build_files/build_environment/cmake/osl.cmake
M	build_files/build_environment/cmake/versions.cmake
A	build_files/build_environment/dependencies.dot
M	build_files/build_environment/install_deps.sh
M	build_files/build_environment/patches/blosc.diff
M	build_files/build_environment/patches/openvdb.diff
M	build_files/build_environment/windows/build_deps.cmd
M	extern/mantaflow/CMakeLists.txt
M	intern/openvdb/CMakeLists.txt

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

diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index d3f98d55049..9a96446f201 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -64,7 +64,6 @@ include(cmake/jpeg.cmake)
 include(cmake/boost.cmake)
 include(cmake/blosc.cmake)
 include(cmake/pthreads.cmake)
-include(cmake/ilmbase.cmake)
 include(cmake/openexr.cmake)
 include(cmake/freetype.cmake)
 include(cmake/freeglut.cmake)
diff --git a/build_files/build_environment/cmake/alembic.cmake b/build_files/build_environment/cmake/alembic.cmake
index 49c54ff6e82..06f8b9184c3 100644
--- a/build_files/build_environment/cmake/alembic.cmake
+++ b/build_files/build_environment/cmake/alembic.cmake
@@ -26,12 +26,6 @@ if(ALEMBIC_HDF5)
   endif()
 endif()
 
-if(WIN32)
-  set(ALEMBIC_ILMBASE ${LIBDIR}/openexr)
-else()
-  set(ALEMBIC_ILMBASE ${LIBDIR}/ilmbase)
-endif()
-
 set(ALEMBIC_EXTRA_ARGS
   -DBUILDSTATIC=ON
   -DLINKSTATIC=ON
@@ -44,13 +38,13 @@ set(ALEMBIC_EXTRA_ARGS
   -DBoost_DEBUG=ON
   -DBOOST_ROOT=${LIBDIR}/boost
   -DBoost_NO_SYSTEM_PATHS=ON
-  -DILMBASE_ROOT=${ALEMBIC_ILMBASE}
-  -DALEMBIC_ILMBASE_INCLUDE_DIRECTORY=${ALEMBIC_ILMBASE}/include/OpenEXR
-  -DALEMBIC_ILMBASE_HALF_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT}
-  -DALEMBIC_ILMBASE_IMATH_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}Imath${ILMBASE_VERSION_POSTFIX}${LIBEXT}
-  -DALEMBIC_ILMBASE_ILMTHREAD_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT}
-  -DALEMBIC_ILMBASE_IEX_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT}
-  -DALEMBIC_ILMBASE_IEXMATH_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}IexMath${ILMBASE_VERSION_POSTFIX}${LIBEXT}
+  -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
@@ -100,6 +94,5 @@ add_dependencies(
   external_alembic
   external_boost
   external_zlib
-  external_ilmbase
   external_openexr
 )
diff --git a/build_files/build_environment/cmake/boost.cmake b/build_files/build_environment/cmake/boost.cmake
index 4c5ce749cd5..c11e14f879b 100644
--- a/build_files/build_environment/cmake/boost.cmake
+++ b/build_files/build_environment/cmake/boost.cmake
@@ -38,7 +38,7 @@ if(WIN32)
   set(BOOST_BUILD_OPTIONS runtime-link=shared )
   set(BOOST_HARVEST_CMD   ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/lib/ ${HARVEST_TARGET}/boost/lib/ )
   if(BUILD_MODE STREQUAL Release)
-    set(BOOST_HARVEST_CMD ${BOOST_HARVEST_CMD} && ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/include/boost-1_68/ ${HARVEST_TARGET}/boost/include/)
+    set(BOOST_HARVEST_CMD ${BOOST_HARVEST_CMD} && ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/include/boost-${BOOST_VERSION_NODOTS_SHORT}/ ${HARVEST_TARGET}/boost/include/)
   endif()
 
 elseif(APPLE)
diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake
index cc93db7de64..5b5c254b150 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -116,8 +116,6 @@ harvest(freetype/include freetype/include "*.h")
 harvest(freetype/lib/libfreetype2ST.a freetype/lib/libfreetype.a)
 harvest(glew/include glew/include "*.h")
 harvest(glew/lib glew/lib "*.a")
-harvest(ilmbase openexr "*")
-harvest(ilmbase/include openexr/include "*.h")
 harvest(jemalloc/include jemalloc/include "*.h")
 harvest(jemalloc/lib jemalloc/lib "*.a")
 harvest(jpg/include jpeg/include "*.h")
diff --git a/build_files/build_environment/cmake/ilmbase.cmake b/build_files/build_environment/cmake/ilmbase.cmake
deleted file mode 100644
index 97761b4ad49..00000000000
--- a/build_files/build_environment/cmake/ilmbase.cmake
+++ /dev/null
@@ -1,58 +0,0 @@
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-if(WIN32)
-  set(ILMBASE_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}")
-  set(ILMBASE_EXTRA_ARGS
-    -DBUILD_SHARED_LIBS=OFF
-    -DCMAKE_CXX_STANDARD_LIBRARIES=${ILMBASE_CMAKE_CXX_STANDARD_LIBRARIES}
-  )
-
-  ExternalProject_Add(external_ilmbase
-    URL ${ILMBASE_URI}
-    DOWNLOAD_DIR ${DOWNLOAD_DIR}
-    URL_HASH MD5=${ILMBASE_HASH}
-    PREFIX ${BUILD_DIR}/ilmbase
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ilmbase ${DEFAULT_CMAKE_FLAGS} ${ILMBASE_EXTRA_ARGS}
-    INSTALL_DIR ${LIBDIR}/openexr
-  )
-
-  if(BUILD_MODE STREQUAL Release)
-    ExternalProject_Add_Step(external_ilmbase after_install
-      COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/ilmbase ${HARVEST_TARGET}/openexr
-      DEPENDEES install
-    )
-  endif()
-
-else()
-  set(ILMBASE_EXTRA_ARGS
-    --enable-static
-    --disable-shared
-    --enable-cxxstd=11
-  )
-  ExternalProject_Add(external_ilmbase
-    URL ${ILMBASE_URI}
-    DOWNLOAD_DIR ${DOWNLOAD_DIR}
-    URL_HASH MD5=${ILMBASE_HASH}
-    PREFIX ${BUILD_DIR}/ilmbase
-    CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ilmbase/src/external_ilmbase/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/ilmbase ${ILMBASE_EXTRA_ARGS}
-    BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ilmbase/src/external_ilmbase/ && make -j${MAKE_THREADS}
-    INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ilmbase/src/external_ilmbase/ && make install
-    INSTALL_DIR ${LIBDIR}/openexr
-  )
-endif()
diff --git a/build_files/build_environment/cmake/openexr.cmake b/build_files/build_environment/cmake/openexr.cmake
index 39533a94cd9..38dbeecc3eb 100644
--- a/build_files/build_environment/cmake/openexr.cmake
+++ b/build_files/build_environment/cmake/openexr.cmake
@@ -20,59 +20,45 @@ if(WIN32)
   set(OPENEXR_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}")
   set(OPENEXR_EXTRA_ARGS
     -DCMAKE_CXX_STANDARD_LIBRARIES=${OPENEXR_CMAKE_CXX_STANDARD_LIBRARIES}
-    -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
-    -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
-    -DILMBASE_PACKAGE_PREFIX=${LIBDIR}/ilmbase
-    -DOPENEXR_BUILD_ILMBASE=On
-    -DOPENEXR_BUILD_OPENEXR=On
-    -DOPENEXR_BUILD_PYTHON_LIBS=Off
-    -DOPENEXR_BUILD_STATIC=On
-    -DOPENEXR_BUILD_SHARED=Off
-    -DOPENEXR_BUILD_TESTS=Off
-    -DOPENEXR_BUILD_VIEWERS=Off
-    -DOPENEXR_BUILD_UTILS=Off
-    -DOPENEXR_NAMESPACE_VERSIONING=Off
   )
-  ExternalProject_Add(external_openexr
-    URL ${OPENEXR_URI}
-    DOWNLOAD_DIR ${DOWNLOAD_DIR}
-    URL_HASH MD5=${OPENEXR_HASH}
-    PREFIX ${BUILD_DIR}/openexr
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openexr ${DEFAULT_CMAKE_FLAGS} ${OPENEXR_EXTRA_ARGS}
-    INSTALL_DIR ${LIBDIR}/openexr
+else()
+  set(OPENEXR_EXTRA_ARGS
   )
+endif()
+
+set(OPENEXR_EXTRA_ARGS
+  ${OPENEXR_EXTRA_ARGS}
+  -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
+  -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
+  -DBUILD_TESTING=OFF
+  -DOPENEXR_BUILD_BOTH_STATIC_SHARED=OFF
+  -DILMBASE_BUILD_BOTH_STATIC_SHARED=OFF
+  -DBUILD_SHARED_LIBS=OFF
+  -DOPENEXR_BUILD_UTILS=OFF
+  -DPYILMBASE_ENABLE=OFF
+  -DOPENEXR_VIEWERS_ENABLE=OFF
+  -DILMBASE_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX}
+  -DOPENEXR_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX}
+)
+
+ExternalProject_Add(external_openexr
+  URL ${OPENEXR_URI}
+  DOWNLOAD_DIR ${DOWNLOAD_DIR}
+  URL_HASH MD5=${OPENEXR_HASH}
+  PREFIX ${BUILD_DIR}/openexr
+  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openexr ${DEFAULT_CMAKE_FLAGS} ${OPENEXR_EXTRA_ARGS}
+  INSTALL_DIR ${LIBDIR}/openexr
+)
 
+if(WIN32)
   ExternalProject_Add_Step(external_openexr after_install
     COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${HARVEST_TARGET}/openexr/lib
-    # Libs have moved between versions, just duplicate it for now.
-    COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${LIBDIR}/ilmbase/lib
     COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/include ${HARVEST_TARGET}/openexr/include
     DEPENDEES install
   )
-
-else()
-  set(OPENEXR_PKG_CONFIG_PATH ${LIBDIR}/zlib/share/pkgconfig)
-  set(OPENEXR_EXTRA_ARGS
-    --enable-static
-    --disable-shared
-    --enable-cxxstd=11
-    --with-ilmbase-prefix=${LIBDIR}/ilmbase
-    )
-
-  ExternalProject_Add(external_openexr
-    URL ${OPENEXR_URI}
-    DOWNLOAD_DIR ${DOWNLOAD_DIR}
-    URL_HASH MD5=${OPENEXR_HASH}
-    PREFIX ${BUILD_DIR}/openexr
-    CONFIGURE_COMMAND ${CONFIGURE_ENV} && export PKG_CONFIG_PATH=${OPENEXR_PKG_CONFIG_PATH} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/openexr ${OPENEXR_EXTRA_ARGS}
-    BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && make -j${MAKE_THREADS}
-    INSTALL_COMMAND

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list