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:
authorBrecht Van Lommel <brecht>2020-01-19 15:11:27 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2020-01-20 11:43:28 +0300
commit02f6722350d9b613450016505db0c24ba2bc9109 (patch)
tree5a6ce94b4f5f46ada09aea115592d78a4b3d4e03
parent78aa32193113964ee031c0e0ab05fba2d32610c4 (diff)
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
-rw-r--r--build_files/build_environment/CMakeLists.txt1
-rw-r--r--build_files/build_environment/cmake/alembic.cmake21
-rw-r--r--build_files/build_environment/cmake/boost.cmake2
-rw-r--r--build_files/build_environment/cmake/harvest.cmake2
-rw-r--r--build_files/build_environment/cmake/ilmbase.cmake58
-rw-r--r--build_files/build_environment/cmake/openexr.cmake70
-rw-r--r--build_files/build_environment/cmake/openimageio.cmake15
-rw-r--r--build_files/build_environment/cmake/openvdb.cmake43
-rw-r--r--build_files/build_environment/cmake/osl.cmake15
-rw-r--r--build_files/build_environment/cmake/versions.cmake40
-rw-r--r--build_files/build_environment/dependencies.dot100
-rwxr-xr-xbuild_files/build_environment/install_deps.sh10
-rw-r--r--build_files/build_environment/patches/blosc.diff6
-rw-r--r--build_files/build_environment/patches/openvdb.diff159
-rw-r--r--build_files/build_environment/windows/build_deps.cmd1
-rw-r--r--extern/mantaflow/CMakeLists.txt1
-rw-r--r--intern/openvdb/CMakeLists.txt1
17 files changed, 263 insertions, 282 deletions
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 ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && make install
- INSTALL_DIR ${LIBDIR}/openexr
- )
endif()
add_dependencies(
external_openexr
external_zlib
- external_ilmbase
)
diff --git a/build_files/build_environment/cmake/openimageio.cmake b/build_files/build_environment/cmake/openimageio.cmake
index 57b8860f2bd..27e04a1f1d1 100644
--- a/build_files/build_environment/cmake/openimageio.cmake
+++ b/build_files/build_environment/cmake/openimageio.cmake
@@ -106,13 +106,13 @@ set(OPENIMAGEIO_EXTRA_ARGS
-DOCIO_PATH=${LIBDIR}/opencolorio/
-DOpenEXR_USE_STATIC_LIBS=On
-DOPENEXR_HOME=${LIBDIR}/openexr/
- -DILMBASE_INCLUDE_PATH=${LIBDIR}/ilmbase/
- -DILMBASE_PACKAGE_PREFIX=${LIBDIR}/ilmbase/
- -DILMBASE_INCLUDE_DIR=${LIBDIR}/ilmbase/include/
- -DOPENEXR_HALF_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT}
- -DOPENEXR_IMATH_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Imath${ILMBASE_VERSION_POSTFIX}${LIBEXT}
- -DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT}
- -DOPENEXR_IEX_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT}
+ -DILMBASE_INCLUDE_PATH=${LIBDIR}/openexr/
+ -DILMBASE_PACKAGE_PREFIX=${LIBDIR}/openexr/
+ -DILMBASE_INCLUDE_DIR=${LIBDIR}/openexr/include/
+ -DOPENEXR_HALF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
+ -DOPENEXR_IMATH_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
+ -DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
+ -DOPENEXR_IEX_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
-DSTOP_ON_WARNING=OFF
@@ -135,7 +135,6 @@ ExternalProject_Add(external_openimageio
add_dependencies(
external_openimageio
external_png external_zlib
- external_ilmbase
external_openexr
external_jpeg
external_boost
diff --git a/build_files/build_environment/cmake/openvdb.cmake b/build_files/build_environment/cmake/openvdb.cmake
index c73cf2681ae..87ca7b03c40 100644
--- a/build_files/build_environment/cmake/openvdb.cmake
+++ b/build_files/build_environment/cmake/openvdb.cmake
@@ -29,24 +29,20 @@ set(OPENVDB_EXTRA_ARGS
-DBoost_NO_SYSTEM_PATHS=ON
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
- -DBLOSC_INCLUDE_DIR=${LIBDIR}/blosc/include/
- -DBLOSC_blosc_LIBRARY=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
+ -DBlosc_INCLUDE_DIR=${LIBDIR}/blosc/include/
+ -DBlosc_LIBRARY=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
-DOPENVDB_ENABLE_3_ABI_COMPATIBLE=OFF
-DOPENVDB_BUILD_UNITTESTS=Off
-DOPENVDB_BUILD_PYTHON_MODULE=Off
- -DGLEW_LOCATION=${LIBDIR}/glew/
- -DBLOSC_LOCATION=${LIBDIR}/blosc/
- -DTBB_LOCATION=${LIBDIR}/tbb/
+ -DBlosc_ROOT=${LIBDIR}/blosc/
-DTBB_ROOT=${LIBDIR}/tbb/
- -DOPENEXR_LOCATION=${LIBDIR}/openexr
- -DILMBASE_LOCATION=${LIBDIR}/ilmbase
- -DIlmbase_HALF_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT}
- -DIlmbase_IEX_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT}
- -DIlmbase_ILMTHREAD_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT}
- -DOpenexr_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
- -DTBB_LIBRARYDIR=${LIBDIR}/tbb/lib
- -DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
- -DTBB_LIBRARY_PATH=${LIBDIR}/tbb/lib
+ -DOpenEXR_ROOT=${LIBDIR}/openexr
+ -DIlmBase_ROOT=${LIBDIR}/openexr
+ -DOPENEXR_LIBRARYDIR=${LIBDIR}/openexr/lib
+ # All libs live in openexr, even the ilmbase ones
+ -DILMBASE_LIBRARYDIR=${LIBDIR}/openexr/lib
+ -DOPENVDB_CORE_SHARED=Off
+ -DOPENVDB_BUILD_BINARIES=Off
)
if(WIN32)
@@ -54,15 +50,17 @@ if(WIN32)
# being in the correct namespace
# needs to link pthreads due to it being a blosc dependency
set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS}
- -DOPENEXR_NAMESPACE_VERSIONING=OFF
- -DEXTRA_LIBS:FILEPATH=${LIBDIR}/pthreads/lib/pthreadVC3.lib
+ -DCMAKE_CXX_STANDARD_LIBRARIES="${LIBDIR}/pthreads/lib/pthreadVC3.lib"
+ -DUSE_EXR=On
+ )
+else()
+ # OpenVDB can't find the _static libraries automatically.
+ set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS}
+ -DTbb_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
+ -DTbb_tbb_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
+ -DTbb_tbbmalloc_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbbmalloc_static${LIBEXT}
+ -DTbb_tbbmalloc_proxy_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbbmalloc_proxy_static${LIBEXT}
)
- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
- set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS}
- -DCMAKE_SHARED_LINKER_FLAGS="/safeseh:no"
- -DCMAKE_EXE_LINKER_FLAGS="/safeseh:no"
- )
- endif()
endif()
ExternalProject_Add(openvdb
@@ -79,7 +77,6 @@ add_dependencies(
openvdb
external_tbb
external_boost
- external_ilmbase
external_openexr
external_zlib
external_blosc
diff --git a/build_files/build_environment/cmake/osl.cmake b/build_files/build_environment/cmake/osl.cmake
index 42f4f14fab0..5113f9ded48 100644
--- a/build_files/build_environment/cmake/osl.cmake
+++ b/build_files/build_environment/cmake/osl.cmake
@@ -33,7 +33,7 @@ else()
SET(OSL_PLATFORM_FLAGS)
endif()
-set(OSL_ILMBASE_CUSTOM_LIBRARIES "${LIBDIR}/ilmbase/lib/Imath${ILMBASE_VERSION_POSTFIX}.lib^^${LIBDIR}/ilmbase/lib/Half{ILMBASE_VERSION_POSTFIX}.lib^^${LIBDIR}/ilmbase/lib/IlmThread${ILMBASE_VERSION_POSTFIX}.lib^^${LIBDIR}/ilmbase/lib/Iex${ILMBASE_VERSION_POSTFIX}.lib")
+set(OSL_ILMBASE_CUSTOM_LIBRARIES "${LIBDIR}/openexr/lib/Imath${OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/Half{OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/IlmThread${OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/Iex${OPENEXR_VERSION_POSTFIX}.lib")
set(OSL_LLVM_LIBRARY "${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMAnalysis${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMAsmParser${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMAsmPrinter${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMBitReader${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMBitWriter${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMCodeGen${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMCore${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMDebugInfo${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMExecutionEngine${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMInstCombine${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMInstrumentation${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMInterpreter${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMJIT${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMLinker${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMMC${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMMCDisassembler${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMMCJIT${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMMCParser${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMObject${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMRuntimeDyld${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMScalarOpts${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMSelectionDAG${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMSupport${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMTableGen${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMTarget${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMTransformUtils${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMVectorize${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86AsmParser${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86AsmPrinter${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86CodeGen${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86Desc${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86Disassembler${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86Info${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86Utils${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMipa${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMipo${LIBEXT}")
set(OSL_EXTRA_ARGS
@@ -50,12 +50,12 @@ set(OSL_EXTRA_ARGS
-DLLVM_VERSION=3.4
-DLLVM_LIBRARY=${OSL_LLVM_LIBRARY}
-DOPENEXR_HOME=${LIBDIR}/openexr/
- -DILMBASE_HOME=${LIBDIR}/ilmbase/
- -DILMBASE_INCLUDE_DIR=${LIBDIR}/ilmbase/include/
- -DOPENEXR_HALF_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT}
- -DOPENEXR_IMATH_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Imath${ILMBASE_VERSION_POSTFIX}${LIBEXT}
- -DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT}
- -DOPENEXR_IEX_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT}
+ -DILMBASE_HOME=${LIBDIR}/openexr/
+ -DILMBASE_INCLUDE_DIR=${LIBDIR}/openexr/include/
+ -DOPENEXR_HALF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
+ -DOPENEXR_IMATH_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
+ -DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
+ -DOPENEXR_IEX_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
-DOSL_BUILD_TESTS=OFF
@@ -106,7 +106,6 @@ add_dependencies(
external_boost
ll
external_clang
- external_ilmbase
external_openexr
external_zlib
external_flexbison
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index 2b08a74c1aa..fda65922a7f 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -32,42 +32,38 @@ set(JPEG_VERSION 1.5.3)
set(JPEG_URI https://github.com/libjpeg-turbo/libjpeg-turbo/archive/${JPEG_VERSION}.tar.gz)
set(JPEG_HASH 5b7549d440b86c98a517355c102d155e)
-set(BOOST_VERSION 1.68.0)
-set(BOOST_VERSION_NODOTS 1_68_0)
+set(BOOST_VERSION 1.70.0)
+set(BOOST_VERSION_NODOTS 1_70_0)
+set(BOOST_VERSION_NODOTS_SHORT 1_70)
set(BOOST_URI https://dl.bintray.com/boostorg/release/${BOOST_VERSION}/source/boost_${BOOST_VERSION_NODOTS}.tar.gz)
-set(BOOST_HASH 5d8b4503582fffa9eefdb9045359c239)
+set(BOOST_HASH fea771fe8176828fabf9c09242ee8c26)
-set(BLOSC_VERSION 1.14.4)
+# Using old version as recommended by OpenVDB build documentation.
+set(BLOSC_VERSION 1.5.0)
set(BLOSC_URI https://github.com/Blosc/c-blosc/archive/v${BLOSC_VERSION}.tar.gz)
-set(BLOSC_HASH e80dfc71e4cba03b8d01ed0876547ffe)
+set(BLOSC_HASH 6e4a49c8c06f05aa543f3312cfce3d55)
set(PTHREADS_VERSION 3.0.0)
set(PTHREADS_URI http://sourceforge.mirrorservice.org/p/pt/pthreads4w/pthreads4w-code-v${PTHREADS_VERSION}.zip)
set(PTHREADS_HASH f3bf81bb395840b3446197bcf4ecd653)
-set(ILMBASE_VERSION 2.3.0)
+set(OPENEXR_VERSION 2.4.0)
+set(OPENEXR_URI https://github.com/AcademySoftwareFoundation/openexr/archive/v${OPENEXR_VERSION}.tar.gz)
+set(OPENEXR_HASH 9e4d69cf2a12c6fb19b98af7c5e0eaee)
if(WIN32)
+ # Openexr started appending _d on its own so now
+ # we need to tell the build the postfix is _s while
+ # telling all other deps the postfix is _s_d
if(BUILD_MODE STREQUAL Release)
- set(ILMBASE_VERSION_POSTFIX _s)
set(OPENEXR_VERSION_POSTFIX _s)
+ set(OPENEXR_VERSION_BUILD_POSTFIX _s)
else()
- set(ILMBASE_VERSION_POSTFIX _s_d)
set(OPENEXR_VERSION_POSTFIX _s_d)
+ set(OPENEXR_VERSION_BUILD_POSTFIX _s)
endif()
else()
- set(ILMBASE_VERSION_POSTFIX)
-endif()
-set(ILMBASE_URI https://github.com/openexr/openexr/releases/download/v${ILMBASE_VERSION}/ilmbase-${ILMBASE_VERSION}.tar.gz)
-set(ILMBASE_HASH 354bf86de3b930ab87ac63619d60c860)
-
-set(OPENEXR_VERSION 2.3.0)
-if(WIN32) # release 2.3.0 tarball has broken cmake support
- set(OPENEXR_URI https://github.com/openexr/openexr/archive/0ac2ea34c8f3134148a5df4052e40f155b76f6fb.tar.gz)
- set(OPENEXR_HASH ed159435d508240712fbaaa21d94bafb)
-else()
+ set(OPENEXR_VERSION_BUILD_POSTFIX)
set(OPENEXR_VERSION_POSTFIX)
- set(OPENEXR_URI https://github.com/openexr/openexr/releases/download/v${OPENEXR_VERSION}/openexr-${OPENEXR_VERSION}.tar.gz)
- set(OPENEXR_HASH a157e8a46596bc185f2472a5a4682174)
endif()
set(FREETYPE_VERSION 2.9.1)
@@ -153,9 +149,9 @@ set(TBB_VERSION 2019_U9)
set(TBB_URI https://github.com/01org/tbb/archive/${TBB_VERSION}.tar.gz)
set(TBB_HASH 584edbec127c508f2cd5b6e79ad200fc)
-set(OPENVDB_VERSION 5.1.0)
+set(OPENVDB_VERSION 7.0.0)
set(OPENVDB_URI https://github.com/dreamworksanimation/openvdb/archive/v${OPENVDB_VERSION}.tar.gz)
-set(OPENVDB_HASH 5310101f874dcfd2165f9cee68c22624)
+set(OPENVDB_HASH fd6c4f168282f7e0e494d290cd531fa8)
set(IDNA_VERSION 2.8)
set(CHARDET_VERSION 3.0.4)
diff --git a/build_files/build_environment/dependencies.dot b/build_files/build_environment/dependencies.dot
new file mode 100644
index 00000000000..62949f3de62
--- /dev/null
+++ b/build_files/build_environment/dependencies.dot
@@ -0,0 +1,100 @@
+strict graph {
+graph[autosize = false, size = "25.7,8.3!", resolution = 300, overlap = false, splines = false, outputorder=edgesfirst ];
+ node [style=filled fillcolor=white];
+ external_alembic -- external_boost;
+ external_alembic -- external_zlib;
+ external_alembic -- external_openexr;
+ external_blosc -- external_zlib;
+ external_blosc -- external_pthreads;
+ external_boost -- Make_Python_Environment;
+ external_clang -- ll;
+ external_ffmpeg -- external_zlib;
+ external_ffmpeg -- external_faad;
+ external_ffmpeg -- external_openjpeg;
+ external_ffmpeg -- external_xvidcore;
+ external_ffmpeg -- external_x264;
+ external_ffmpeg -- external_vpx;
+ external_ffmpeg -- external_theora;
+ external_ffmpeg -- external_vorbis;
+ external_ffmpeg -- external_ogg;
+ external_ffmpeg -- external_lame;
+ external_ffmpeg -- external_zlib_mingw;
+ external_numpy -- Make_Python_Environment;
+ external_opencollada -- external_xml2;
+ external_opencolorio -- external_boost;
+ external_opencolorio -- external_tinyxml;
+ external_opencolorio -- external_yamlcpp;
+ external_openexr -- external_zlib;
+ external_openimageio -- external_png;
+ external_openimageio -- external_zlib;
+ external_openimageio -- external_openexr;
+ external_openimageio -- external_openexr;
+ external_openimageio -- external_jpeg;
+ external_openimageio -- external_boost;
+ external_openimageio -- external_tiff;
+ external_openimageio -- external_opencolorio;
+ external_openimageio -- external_openjpeg;
+ external_openimageio -- external_webp;
+ external_openimageio -- external_opencolorio_extra;
+ external_openmp -- external_clang;
+ external_opensubdiv -- external_glew;
+ external_opensubdiv -- external_glfw;
+ external_opensubdiv -- external_clew;
+ external_opensubdiv -- external_cuew;
+ external_opensubdiv -- external_tbb;
+ openvdb -- external_tbb;
+ openvdb -- external_boost;
+ openvdb -- external_openexr;
+ openvdb -- external_openexr;
+ openvdb -- external_zlib;
+ openvdb -- external_blosc;
+ external_osl -- external_boost;
+ external_osl -- ll;
+ external_osl -- external_clang;
+ external_osl -- external_openexr;
+ external_osl -- external_openexr;
+ external_osl -- external_zlib;
+ external_osl -- external_flexbison;
+ external_osl -- external_openimageio;
+ external_osl -- external_pugixml;
+ external_png -- external_zlib;
+ external_python_site_packages -- Make_Python_Environment;
+ external_sndfile -- external_ogg;
+ external_sndfile -- external_vorbis;
+ external_sndfile -- external_flac;
+ external_theora -- external_vorbis;
+ external_theora -- external_ogg;
+ external_tiff -- external_zlib;
+ external_vorbis -- external_ogg;
+ blender-- external_ffmpeg;
+ blender-- external_alembic;
+ blender-- external_openjpeg;
+ blender-- external_opencolorio;
+ blender-- external_openexr;
+ blender-- external_opensubdiv;
+ blender-- openvdb;
+ blender-- external_osl;
+ blender-- external_boost;
+ blender-- external_jpeg;
+ blender-- external_png;
+ blender-- external_python;
+ blender-- external_sndfile;
+ blender-- external_iconv;
+ blender-- external_fftw3;
+ external_python-- external_python_site_packages;
+ external_python_site_packages-- requests;
+ external_python_site_packages-- idna;
+ external_python_site_packages-- chardet;
+ external_python_site_packages-- urllib3;
+ external_python_site_packages-- certifi;
+ external_python-- external_numpy;
+ external_usd-- external_boost;
+ external_usd-- external_tbb;
+ blender-- external_opencollada;
+ blender-- external_sdl;
+ blender-- external_freetype;
+ blender-- external_pthreads;
+ blender-- external_zlib;
+ blender-- external_openal;
+ blender-- external_usd;
+}
diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh
index 4e69bf08dd2..dd15fb0d2ed 100755
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@ -329,7 +329,7 @@ NUMPY_FORCE_BUILD=false
NUMPY_FORCE_REBUILD=false
NUMPY_SKIP=false
-BOOST_VERSION="1.68.0"
+BOOST_VERSION="1.70.0"
BOOST_VERSION_MIN="1.49"
BOOST_FORCE_BUILD=false
BOOST_FORCE_REBUILD=false
@@ -341,9 +341,9 @@ OCIO_FORCE_BUILD=false
OCIO_FORCE_REBUILD=false
OCIO_SKIP=false
-OPENEXR_VERSION="2.3.0"
+OPENEXR_VERSION="2.4.0"
OPENEXR_VERSION_MIN="2.0.1"
-ILMBASE_VERSION="2.3.0"
+ILMBASE_VERSION="2.4.0"
ILMBASE_VERSION_MIN="2.3"
OPENEXR_FORCE_BUILD=false
OPENEXR_FORCE_REBUILD=false
@@ -379,9 +379,9 @@ OSD_FORCE_REBUILD=false
OSD_SKIP=false
# OpenVDB needs to be compiled for now
-OPENVDB_BLOSC_VERSION="1.14.4"
+OPENVDB_BLOSC_VERSION="1.5.0"
-OPENVDB_VERSION="5.1.0"
+OPENVDB_VERSION="7.0.0"
OPENVDB_VERSION_MIN=$OPENVDB_VERSION
OPENVDB_FORCE_BUILD=false
OPENVDB_FORCE_REBUILD=false
diff --git a/build_files/build_environment/patches/blosc.diff b/build_files/build_environment/patches/blosc.diff
index 2c473d3b632..653649bb914 100644
--- a/build_files/build_environment/patches/blosc.diff
+++ b/build_files/build_environment/patches/blosc.diff
@@ -13,19 +13,17 @@ diff -Naur src/blosc/CMakeLists.txt external_blosc/blosc/CMakeLists.txt
diff -Naur external_blosc.orig/blosc/blosc.c external_blosc/blosc/blosc.c
--- external_blosc.orig/blosc/blosc.c 2018-07-30 04:56:38 -0600
+++ external_blosc/blosc/blosc.c 2018-08-11 15:27:26 -0600
-@@ -56,14 +56,7 @@
+@@ -41,12 +41,7 @@
#include <inttypes.h>
#endif /* _WIN32 */
--/* Include the win32/pthread.h library for all the Windows builds. See #224. */
-#if defined(_WIN32)
- #include "win32/pthread.h"
- #include "win32/pthread.c"
-#else
- #include <pthread.h>
-#endif
--
+#include <pthread.h>
+
/* Some useful units */
- #define KB 1024
diff --git a/build_files/build_environment/patches/openvdb.diff b/build_files/build_environment/patches/openvdb.diff
index 391a7be46db..a9360cbafd3 100644
--- a/build_files/build_environment/patches/openvdb.diff
+++ b/build_files/build_environment/patches/openvdb.diff
@@ -1,102 +1,73 @@
-diff -Naur openvdb.orig/openvdb/CMakeLists.txt openvdb/openvdb/CMakeLists.txt
---- openvdb.orig/openvdb/CMakeLists.txt 2018-04-10 12:22:17 -0600
-+++ openvdb/openvdb/CMakeLists.txt 2018-08-15 19:04:52 -0600
-@@ -82,6 +82,9 @@
- IF (WIN32 AND OPENVDB_DISABLE_BOOST_IMPLICIT_LINKING)
- ADD_DEFINITIONS ( -DBOOST_ALL_NO_LIB )
- ENDIF ()
-+if(WIN32)
-+ADD_DEFINITIONS ( -D__TBB_NO_IMPLICIT_LINKAGE )
-+endif()
-
- FIND_PACKAGE ( Blosc REQUIRED )
- FIND_PACKAGE ( TBB REQUIRED )
-@@ -195,6 +198,7 @@
- ${Ilmbase_HALF_LIBRARY}
- ${ZLIB_LIBRARY}
- ${BLOSC_blosc_LIBRARY}
-+ ${EXTRA_LIBS}
+diff -Naur orig/cmake/FindIlmBase.cmake openvdb/cmake/FindIlmBase.cmake
+--- orig/cmake/FindIlmBase.cmake 2019-12-06 13:11:33 -0700
++++ openvdb/cmake/FindIlmBase.cmake 2020-01-16 09:06:32 -0700
+@@ -225,6 +225,12 @@
+ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+ "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.lib"
)
-
- IF (WIN32)
-@@ -225,13 +228,16 @@
- ${VDB_PRINT_SOURCE_FILES}
++ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
++ "_s.lib"
++ )
++ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
++ "_s_d.lib"
++ )
+ else()
+ if(ILMBASE_USE_STATIC_LIBS)
+ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+diff -Naur orig/cmake/FindOpenEXR.cmake openvdb/cmake/FindOpenEXR.cmake
+--- orig/cmake/FindOpenEXR.cmake 2019-12-06 13:11:33 -0700
++++ openvdb/cmake/FindOpenEXR.cmake 2020-01-16 09:06:39 -0700
+@@ -218,6 +218,12 @@
+ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+ "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.lib"
)
++ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
++ "_s.lib"
++ )
++ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
++ "_s_d.lib"
++ )
+ else()
+ if(OPENEXR_USE_STATIC_LIBS)
+ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+diff -Naur orig/openvdb/CMakeLists.txt openvdb/openvdb/CMakeLists.txt
+--- orig/openvdb/CMakeLists.txt 2019-12-06 13:11:33 -0700
++++ openvdb/openvdb/CMakeLists.txt 2020-01-16 08:56:25 -0700
+@@ -193,11 +193,12 @@
+ if(OPENVDB_DISABLE_BOOST_IMPLICIT_LINKING)
+ add_definitions(-DBOOST_ALL_NO_LIB)
+ endif()
++ add_definitions(-D__TBB_NO_IMPLICIT_LINKAGE -DOPENVDB_OPENEXR_STATICLIB)
+ endif()
-+if(NOT WIN32)
-+ set(EXTRA_LIBS m stdc++ dl)
-+endif()
-+
- TARGET_LINK_LIBRARIES ( vdb_print
- openvdb_shared
- ${CMAKE_THREAD_LIBS_INIT}
- ${BLOSC_blosc_LIBRARY}
-- m
-- stdc++
-- )
-+ ${EXTRA_LIBS}
-+)
+ # @todo Should be target definitions
+ if(WIN32)
+- add_definitions(-D_WIN32 -DNOMINMAX -DOPENVDB_DLL)
++ add_definitions(-D_WIN32 -DNOMINMAX -DOPENVDB_STATICLIB)
+ endif()
- SET ( VDB_RENDER_SOURCE_FILES cmd/openvdb_render/main.cc )
- SET_SOURCE_FILES_PROPERTIES ( ${VDB_RENDER_SOURCE_FILES}
-@@ -249,8 +255,7 @@
- ${Openexr_ILMIMF_LIBRARY}
- ${Ilmbase_ILMTHREAD_LIBRARY}
- ${Ilmbase_IEX_LIBRARY}
-- m
-- stdc++
-+ ${EXTRA_LIBS}
- )
+ ##### Core library configuration
+diff -Naur orig/openvdb/cmd/CMakeLists.txt openvdb/openvdb/cmd/CMakeLists.txt
+--- orig/openvdb/cmd/CMakeLists.txt 2019-12-06 13:11:33 -0700
++++ openvdb/openvdb/cmd/CMakeLists.txt 2020-01-16 08:56:25 -0700
+@@ -53,7 +53,7 @@
+ endif()
- SET ( VDB_VIEW_SOURCE_FILES
-@@ -270,7 +270,7 @@
- PROPERTIES
- COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} -DGL_GLEXT_PROTOTYPES=1"
- )
--IF (NOT WIN32)
-+IF (FALSE)
- ADD_EXECUTABLE ( vdb_view
- ${VDB_VIEW_SOURCE_FILES}
- )
-@@ -283,9 +288,8 @@
- ${GLFW_LINK_LIBRARY}
- ${GLFW_DEPENDENT_LIBRARIES}
- ${GLEW_GLEW_LIBRARY}
-- m
-- stdc++
-- )
-+ ${EXTRA_LIBS}
-+ )
- ENDIF ()
+ if(WIN32)
+- add_definitions(-D_WIN32 -DNOMINMAX -DOPENVDB_DLL)
++ add_definitions(-D_WIN32 -DNOMINMAX -DOPENVDB_STATICLIB)
+ endif()
- SET ( UNITTEST_SOURCE_FILES
-@@ -392,8 +396,7 @@
- TARGET_LINK_LIBRARIES ( vdb_test
- ${CPPUnit_cppunit_LIBRARY}
- openvdb_shared
-- m
-- stdc++
-+ ${EXTRA_LIBS}
- )
+ # rpath handling
+diff -Naur orig/openvdb/unittest/CMakeLists.txt openvdb/openvdb/unittest/CMakeLists.txt
+--- orig/openvdb/unittest/CMakeLists.txt 2019-12-06 13:11:33 -0700
++++ openvdb/openvdb/unittest/CMakeLists.txt 2020-01-16 08:56:25 -0700
+@@ -49,7 +49,7 @@
+ endif()
- ADD_TEST ( vdb_unit_test vdb_test )
-@@ -422,7 +422,7 @@
- ENDIF ()
+ if(WIN32)
+- add_definitions(-D_WIN32 -DNOMINMAX -DOPENVDB_DLL)
++ add_definitions(-D_WIN32 -DNOMINMAX -DOPENVDB_STATICLIB)
+ endif()
- # Installation
--IF ( NOT WIN32 )
-+IF ( FALSE )
- INSTALL ( TARGETS
- vdb_view
- DESTINATION
-diff -Naur openvdb.orig/openvdb/math/Coord.h openvdb/openvdb/math/Coord.h
---- openvdb.orig/openvdb/math/Coord.h 2018-04-10 12:22:17 -0600
-+++ openvdb/openvdb/math/Coord.h 2018-08-15 20:32:43 -0600
-@@ -35,6 +35,7 @@
- #include <array> // for std::array
- #include <iostream>
- #include <limits>
-+#define NOMINMAX
- #include <openvdb/Platform.h>
- #include "Math.h"
- #include "Vec3.h"
+ ##### VDB unit tests
diff --git a/build_files/build_environment/windows/build_deps.cmd b/build_files/build_environment/windows/build_deps.cmd
index bb9dda81435..ea8bfdaa3d2 100644
--- a/build_files/build_environment/windows/build_deps.cmd
+++ b/build_files/build_environment/windows/build_deps.cmd
@@ -126,6 +126,7 @@ if "%dobuild%" == "1" (
cmake --build . --target Harvest_Release_Results > Harvest_Release.txt
)
echo %DATE% %TIME% : Release Harvest done >> %StatusFile%
+if "%NODEBUG%" == "1" goto exit
cd %BUILD_DIR%
mkdir %STAGING%\%BuildDir%%ARCH%D
cd %Staging%\%BuildDir%%ARCH%D
diff --git a/extern/mantaflow/CMakeLists.txt b/extern/mantaflow/CMakeLists.txt
index f4eefbb4d04..aab1fdd0219 100644
--- a/extern/mantaflow/CMakeLists.txt
+++ b/extern/mantaflow/CMakeLists.txt
@@ -51,6 +51,7 @@ endif()
if(WITH_OPENVDB)
add_definitions(-DOPENVDB=1)
+ add_definitions(-DOPENVDB_STATICLIB)
endif()
set(INC
diff --git a/intern/openvdb/CMakeLists.txt b/intern/openvdb/CMakeLists.txt
index 5d51e6c3dbc..fdc57d1a282 100644
--- a/intern/openvdb/CMakeLists.txt
+++ b/intern/openvdb/CMakeLists.txt
@@ -43,6 +43,7 @@ if(WITH_OPENVDB)
if(WIN32)
add_definitions(
-DOPENVDB_STATICLIB
+ -D_USE_MATH_DEFINES
)
endif()