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:
authorRay Molenkamp <github@lazydodo.com>2018-08-16 05:47:44 +0300
committerRay Molenkamp <github@lazydodo.com>2018-08-16 05:48:19 +0300
commit8d1a7f37731f643bbe4b26ed209b4c0e14c0cbd9 (patch)
tree0ecca0a09b6b25c1b6816a3fb4e8bbcc29e0fd35 /build_files/build_environment
parenteebc292b424da565c5f4bdb6e64205525585c6c2 (diff)
build_environment: openvdb 5.1.0
Diffstat (limited to 'build_files/build_environment')
-rw-r--r--build_files/build_environment/cmake/openvdb.cmake45
-rw-r--r--build_files/build_environment/cmake/versions.cmake4
-rw-r--r--build_files/build_environment/patches/openvdb.diff81
-rw-r--r--build_files/build_environment/patches/openvdb_vc2013.diff35
4 files changed, 94 insertions, 71 deletions
diff --git a/build_files/build_environment/cmake/openvdb.cmake b/build_files/build_environment/cmake/openvdb.cmake
index 26791012688..3418987a46b 100644
--- a/build_files/build_environment/cmake/openvdb.cmake
+++ b/build_files/build_environment/cmake/openvdb.cmake
@@ -21,23 +21,6 @@ if(BUILD_MODE STREQUAL Debug)
endif()
set(OPENVDB_EXTRA_ARGS
- -DILMBASE_HOME=${LIBDIR}/ilmbase/
- -DILMBASE_CUSTOM=ON
- -DILMBASE_CUSTOM_LIBRARIES=Half;Imath-2_2;IlmThread-2_2;Iex-2_2
- -DILMBASE_INCLUDE_DIR=${LIBDIR}/ilmbase/include/
- -DILMBASE_HALF_LIBRARIES=${LIBDIR}/ilmbase/lib/Half${LIBEXT}
- -DILMBASE_IMATH_LIBRARIES=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Imath-2_2${LIBEXT}
- -DILMBASE_ILMTHREAD_LIBRARIES=${LIBDIR}/ilmbase/lib/${LIBPREFIX}IlmThread-2_2${LIBEXT}
- -DILMBASE_IEX_LIBRARIES=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Iex-2_2${LIBEXT}
- -DOPENEXR_HOME=${LIBDIR}/openexr/
- -DOPENEXR_USE_STATIC_LIBS=ON
- -DOPENEXR_CUSTOM=ON
- -DOPENEXR_CUSTOM_LIBRARY=IlmImf-2_2
- -DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/
- -DOPENEXR_ILMIMF_LIBRARIES=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf-2_2${LIBEXT}
- -DTBB_ROOT_DIR=${LIBDIR}/tbb/
- -DTBB_INCLUDE_DIRS=${LIBDIR}/tbb/include
- -DTBB_LIBRARY=${LIBDIR}/tbb/lib/tbb_static${LIBEXT}
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
-DBoost_USE_MULTITHREADED=ON
-DBoost_USE_STATIC_LIBS=ON
@@ -49,22 +32,32 @@ set(OPENVDB_EXTRA_ARGS
-DWITH_BLOSC=ON
-DBLOSC_INCLUDE_DIR=${LIBDIR}/blosc/include/
-DBLOSC_LIBRARY=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
+ -DOPENVDB_ABI_VERSION_NUMBER=3
+ -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/
+ -DTBB_ROOT=${LIBDIR}/tbb/
+ -DOPENEXR_LOCATION=${LIBDIR}/openexr
+ -DILMBASE_LOCATION=${LIBDIR}/openexr
+ -DIlmbase_HALF_LIBRARY=${LIBDIR}/openexr/lib/Half-2_3_s${LIBEXT}
+ -DIlmbase_IEX_LIBRARY=${LIBDIR}/openexr/lib/Iex-2_3_s${LIBEXT}
+ -DIlmbase_ILMTHREAD_LIBRARY=${LIBDIR}/openexr/lib/IlmThread-2_3_s${LIBEXT}
+ -DOpenexr_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/IlmImf-2_3_s${LIBEXT}
+ -DTBB_LIBRARYDIR=${LIBDIR}/tbb/lib
+ -DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/tbb_static${LIBEXT}
+ -DTBB_LIBRARY_DIR=${LIBDIR}/tbb/lib
+ -DTBB_LIBRARY_PATH=${LIBDIR}/tbb/lib
)
-set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS})
-
-# CMake script for OpenVDB based on https://raw.githubusercontent.com/diekev/openvdb-cmake/master/CMakeLists.txt
-# can't be in external_openvdb because of how the includes are setup.
-
ExternalProject_Add(openvdb
URL ${OPENVDB_URI}
DOWNLOAD_DIR ${DOWNLOAD_DIR}
URL_HASH MD5=${OPENVDB_HASH}
PREFIX ${BUILD_DIR}/openvdb
- PATCH_COMMAND COMMAND
- ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_openvdb.txt ${BUILD_DIR}/openvdb/src/openvdb/CMakeLists.txt &&
- ${CMAKE_COMMAND} -E copy_directory ${PATCH_DIR}/cmake/ ${BUILD_DIR}/openvdb/src/openvdb/cmake/ &&
- ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/openvdb/src/openvdb < ${PATCH_DIR}/openvdb_vc2013.diff
+ PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openvdb/src/openvdb < ${PATCH_DIR}/openvdb.diff
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openvdb ${DEFAULT_CMAKE_FLAGS} ${OPENVDB_EXTRA_ARGS}
INSTALL_DIR ${LIBDIR}/openvdb
)
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index c5e8f6f6d96..fea05cbc492 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -150,9 +150,9 @@ set(TBB_VERSION 2018_U5)
set(TBB_URI https://github.com/01org/tbb/archive/${TBB_VERSION}.tar.gz)
set(TBB_HASH ff3ae09f8c23892fbc3008c39f78288f)
-set(OPENVDB_VERSION 3.1.0)
+set(OPENVDB_VERSION 5.1.0)
set(OPENVDB_URI https://github.com/dreamworksanimation/openvdb/archive/v${OPENVDB_VERSION}.tar.gz)
-set(OPENVDB_HASH 30a7e9571a03ab7bcf1a39fb62aa436f)
+set(OPENVDB_HASH 5310101f874dcfd2165f9cee68c22624)
set(IDNA_VERSION 2.6)
set(CHARDET_VERSION 3.0.2)
diff --git a/build_files/build_environment/patches/openvdb.diff b/build_files/build_environment/patches/openvdb.diff
index f3afa13ea17..51d587b5a22 100644
--- a/build_files/build_environment/patches/openvdb.diff
+++ b/build_files/build_environment/patches/openvdb.diff
@@ -1,11 +1,76 @@
-diff -Naur k:\BlenderDev\lib\win64_vc12_Harvest\openVDB\/include/openvdb/math/Coord.h .\openVDB/include/openvdb/math/Coord.h
---- k:\BlenderDev\lib\win64_vc12_Harvest\openVDB\/include/openvdb/math/Coord.h 2016-03-30 15:09:49 -0600
-+++ .\openVDB/include/openvdb/math/Coord.h 2016-04-01 06:53:47 -0600
-@@ -34,6 +34,7 @@
+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 )
+@@ -225,13 +228,16 @@
+ ${VDB_PRINT_SOURCE_FILES}
+ )
+
++if(NOT WIN32)
++ set(EXTRA_LIBS m stdc++)
++endif()
++
+ TARGET_LINK_LIBRARIES ( vdb_print
+ openvdb_shared
+ ${CMAKE_THREAD_LIBS_INIT}
+ ${BLOSC_blosc_LIBRARY}
+- m
+- stdc++
+- )
++ ${EXTRA_LIBS}
++)
+
+ 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}
+ )
+
+ SET ( VDB_VIEW_SOURCE_FILES
+@@ -283,9 +288,8 @@
+ ${GLFW_LINK_LIBRARY}
+ ${GLFW_DEPENDENT_LIBRARIES}
+ ${GLEW_GLEW_LIBRARY}
+- m
+- stdc++
+- )
++ ${EXTRA_LIBS}
++ )
+ ENDIF ()
+
+ SET ( UNITTEST_SOURCE_FILES
+@@ -392,8 +396,7 @@
+ TARGET_LINK_LIBRARIES ( vdb_test
+ ${CPPUnit_cppunit_LIBRARY}
+ openvdb_shared
+- m
+- stdc++
++ ${EXTRA_LIBS}
+ )
+
+ ADD_TEST ( vdb_unit_test vdb_test )
+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"
-+#define NOMINMAX
-
- namespace tbb { class split; } // forward declaration
-
diff --git a/build_files/build_environment/patches/openvdb_vc2013.diff b/build_files/build_environment/patches/openvdb_vc2013.diff
deleted file mode 100644
index 7dc3e476297..00000000000
--- a/build_files/build_environment/patches/openvdb_vc2013.diff
+++ /dev/null
@@ -1,35 +0,0 @@
---- openvdb/tree/LeafNode.h 2015-10-01 15:55:33 -0600
-+++ openvdb/tree/LeafNode.h 2016-03-26 13:12:22 -0600
-@@ -70,13 +70,14 @@
- typedef boost::shared_ptr<LeafNode> Ptr;
- typedef util::NodeMask<Log2Dim> NodeMaskType;
-
-- static const Index
-- LOG2DIM = Log2Dim, // needed by parent nodes
-- TOTAL = Log2Dim, // needed by parent nodes
-- DIM = 1 << TOTAL, // dimension along one coordinate direction
-- NUM_VALUES = 1 << 3 * Log2Dim,
-- NUM_VOXELS = NUM_VALUES, // total number of voxels represented by this node
-- SIZE = NUM_VALUES,
-+ static const Index
-+ LOG2DIM = Log2Dim, // needed by parent nodes
-+ TOTAL = Log2Dim, // needed by parent nodes
-+ DIM = 1 << TOTAL, // dimension along one coordinate direction
-+ NUM_VALUES = 1 << 3 * Log2Dim,
-+ NUM_VOXELS = NUM_VALUES; // total number of voxels represented by this node
-+ static const Index
-+ SIZE = NUM_VALUES,
- LEVEL = 0; // level 0 = leaf
-
- /// @brief ValueConverter<T>::Type is the type of a LeafNode having the same
---- openvdb/PlatformConfig.h 2016-03-30 15:09:49 -0600
-+++ openvdb/PlatformConfig.h 2016-04-01 07:00:38 -0600
-@@ -47,7 +47,7 @@
- #if !defined(OPENVDB_OPENEXR_STATICLIB) && !defined(OPENEXR_DLL)
- #define OPENEXR_DLL
- #endif
--
-+ #define NOMINMAX
- #endif // _WIN32
-
- #endif // OPENVDB_PLATFORMCONFIG_HAS_BEEN_INCLUDED