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 /build_files/build_environment/cmake/openvdb.cmake
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
Diffstat (limited to 'build_files/build_environment/cmake/openvdb.cmake')
-rw-r--r--build_files/build_environment/cmake/openvdb.cmake43
1 files changed, 20 insertions, 23 deletions
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