[Bf-blender-cvs] [8d1a7f37731] master: build_environment: openvdb 5.1.0

Ray Molenkamp noreply at git.blender.org
Thu Aug 16 04:48:25 CEST 2018


Commit: 8d1a7f37731f643bbe4b26ed209b4c0e14c0cbd9
Author: Ray Molenkamp
Date:   Wed Aug 15 20:47:44 2018 -0600
Branches: master
https://developer.blender.org/rB8d1a7f37731f643bbe4b26ed209b4c0e14c0cbd9

build_environment: openvdb 5.1.0

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

M	build_files/build_environment/cmake/openvdb.cmake
M	build_files/build_environment/cmake/versions.cmake
M	build_files/build_environment/patches/openvdb.diff
D	build_files/build_environment/patches/openvdb_vc2013.diff

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

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



More information about the Bf-blender-cvs mailing list