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:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-08-16 16:22:34 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-08-16 16:22:34 +0300
commitda25dfa870ca821db20b2bc803b117de97b12be1 (patch)
tree41b19f3c4eb26ed71ee2e94577cf802d351de9f5
parente19439a16978d75574c7fd9d5988c807b739cf3d (diff)
parent1e7065516980a5ea40e5b757b52b704e053a5e43 (diff)
Merge branch 'master' into blender2.8
-rw-r--r--build_files/build_environment/cmake/ffmpeg.cmake7
-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/opencolorio.diff34
-rw-r--r--build_files/build_environment/patches/openvdb.diff81
-rw-r--r--build_files/build_environment/patches/openvdb_vc2013.diff35
6 files changed, 114 insertions, 92 deletions
diff --git a/build_files/build_environment/cmake/ffmpeg.cmake b/build_files/build_environment/cmake/ffmpeg.cmake
index c8fdb557983..7a3c884e7bc 100644
--- a/build_files/build_environment/cmake/ffmpeg.cmake
+++ b/build_files/build_environment/cmake/ffmpeg.cmake
@@ -18,6 +18,13 @@
set(FFMPEG_CFLAGS "-I${mingw_LIBDIR}/lame/include -I${mingw_LIBDIR}/openjpeg/include/ -I${mingw_LIBDIR}/ogg/include -I${mingw_LIBDIR}/vorbis/include -I${mingw_LIBDIR}/theora/include -I${mingw_LIBDIR}/vpx/include -I${mingw_LIBDIR}/x264/include -I${mingw_LIBDIR}/xvidcore/include -I${mingw_LIBDIR}/zlib/include")
set(FFMPEG_LDFLAGS "-L${mingw_LIBDIR}/lame/lib -L${mingw_LIBDIR}/openjpeg/lib -L${mingw_LIBDIR}/ogg/lib -L${mingw_LIBDIR}/vorbis/lib -L${mingw_LIBDIR}/theora/lib -L${mingw_LIBDIR}/vpx/lib -L${mingw_LIBDIR}/x264/lib -L${mingw_LIBDIR}/xvidcore/lib -L${mingw_LIBDIR}/zlib/lib")
+if(UNIX AND NOT APPLE)
+ # OpenJpeg is compiled with pthread support on Linux, which is all fine and is what we
+ # want for maximum runtime performance, but due to static nature of that library we
+ # need to force FFpeg to link against pthread, otherwise test program used by autoconf
+ # will fail.
+ set(FFMPEG_LDFLAGS "${FFMPEG_LDFLAGS} -lpthread")
+endif()
set(FFMPEG_EXTRA_FLAGS --pkg-config-flags=--static --extra-cflags=${FFMPEG_CFLAGS} --extra-ldflags=${FFMPEG_LDFLAGS})
set(FFMPEG_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/openjpeg/lib/pkgconfig:${mingw_LIBDIR}/x264/lib/pkgconfig:${mingw_LIBDIR}/vorbis/lib/pkgconfig:${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR})
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/opencolorio.diff b/build_files/build_environment/patches/opencolorio.diff
index 4e947d89097..65901f969ca 100644
--- a/build_files/build_environment/patches/opencolorio.diff
+++ b/build_files/build_environment/patches/opencolorio.diff
@@ -1,21 +1,13 @@
-diff -ru ./CMakeLists.txt ./CMakeLists.txt
---- ./CMakeLists.txt 2014-09-11 21:08:18.000000000 +0200
-+++ ./CMakeLists.txt 2016-05-15 17:17:01.000000000 +0200
-@@ -186,7 +186,7 @@
- PATCH_COMMAND patch -f -p1 < ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.patch
- BINARY_DIR ext/build/tinyxml
- INSTALL_DIR ext/dist
-- CMAKE_ARGS ${TINYXML_CMAKE_ARGS}
-+ CMAKE_ARGS ${TINYXML_CMAKE_ARGS} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} -DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT} -DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG} -DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE} -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
- )
- if(WIN32)
- set(TINYXML_STATIC_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/tinyxml.lib)
-@@ -254,7 +254,7 @@
- BINARY_DIR ext/build/yaml-cpp
- PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.patch
- INSTALL_DIR ext/dist
-- CMAKE_ARGS ${YAML_CPP_CMAKE_ARGS}
-+ CMAKE_ARGS ${YAML_CPP_CMAKE_ARGS} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} -DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT} -DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG} -DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE} -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
- )
- set(YAML_CPP_INCLUDE_DIRS ${PROJECT_BINARY_DIR}/ext/dist/include)
- set(YAML_CPP_LIBRARY_DIRS ${PROJECT_BINARY_DIR}/ext/dist/lib)
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index 1eb691b..cff9bd8 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -23,8 +23,6 @@ if(WIN32)
+ if("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
+ set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} /WX")
+ endif()
+-else()
+- set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} -Werror")
+ endif()
+
+ # SHARED
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