[Bf-blender-cvs] [69d3054b51e] tmp_libupdate_34: deps builder: updates for 3.4

Ray Molenkamp noreply at git.blender.org
Thu Aug 11 18:51:56 CEST 2022


Commit: 69d3054b51ead2efbf9232867649a7df910a3121
Author: Ray Molenkamp
Date:   Thu Aug 11 10:40:23 2022 -0600
Branches: tmp_libupdate_34
https://developer.blender.org/rB69d3054b51ead2efbf9232867649a7df910a3121

deps builder: updates for 3.4

- Enable python bindings for openvdb
- Move some more deps to ninja on windows
- Bump openvdb to 9.1.0 since it had AX support for windows, but due to size concerns disabled
- Fix dependencies for a few deps to sort out build order issues
- Limit build_deps.cmd to a single core, so it won't oversubscribe the CPU

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

M	build_files/build_environment/CMakeLists.txt
M	build_files/build_environment/cmake/boost.cmake
M	build_files/build_environment/cmake/boost_build_options.cmake
M	build_files/build_environment/cmake/openimageio.cmake
M	build_files/build_environment/cmake/openvdb.cmake
M	build_files/build_environment/cmake/options.cmake
M	build_files/build_environment/cmake/osl.cmake
M	build_files/build_environment/cmake/usd.cmake
M	build_files/build_environment/cmake/versions.cmake
M	build_files/build_environment/patches/openvdb.diff
M	build_files/build_environment/windows/build_deps.cmd
M	build_files/cmake/platform/platform_win32.cmake
M	source/creator/CMakeLists.txt

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

diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index 856fe7b32ff..20130fb1c5f 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -74,7 +74,6 @@ elseif(UNIX AND NOT APPLE)
 endif()
 include(cmake/osl.cmake)
 include(cmake/tbb.cmake)
-include(cmake/openvdb.cmake)
 include(cmake/python.cmake)
 include(cmake/llvm.cmake)
 option(USE_PIP_NUMPY "Install NumPy using pip wheel instead of building from source" OFF)
@@ -86,6 +85,7 @@ endif()
 include(cmake/python_site_packages.cmake)
 include(cmake/package_python.cmake)
 include(cmake/usd.cmake)
+include(cmake/openvdb.cmake)
 include(cmake/potrace.cmake)
 include(cmake/haru.cmake)
 # Boost needs to be included after python.cmake due to the PYTHON_BINARY variable being needed.
diff --git a/build_files/build_environment/cmake/boost.cmake b/build_files/build_environment/cmake/boost.cmake
index 166f63a7b41..495b419e69c 100644
--- a/build_files/build_environment/cmake/boost.cmake
+++ b/build_files/build_environment/cmake/boost.cmake
@@ -6,8 +6,15 @@ if(WIN32)
   set(BOOST_BUILD_OPTIONS runtime-link=shared)
   if(BUILD_MODE STREQUAL Debug)
     list(APPEND BOOST_BUILD_OPTIONS python-debugging=on variant=debug)
+    if(WITH_OPTIMIZED_DEBUG)
+      list(APPEND BOOST_BUILD_OPTIONS debug-symbols=off)
+    else()
+      list(APPEND BOOST_BUILD_OPTIONS debug-symbols=on)
+    endif()
+  else()
+    list(APPEND BOOST_BUILD_OPTIONS variant=release)
   endif()
-  set(BOOST_HARVEST_CMD   ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/lib/ ${HARVEST_TARGET}/boost/lib/ )
+  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-${BOOST_VERSION_NODOTS_SHORT}/ ${HARVEST_TARGET}/boost/include/)
   endif()
@@ -72,10 +79,8 @@ ExternalProject_Add(external_boost
   INSTALL_COMMAND "${BOOST_HARVEST_CMD}"
 )
 
-if(WITH_BOOST_PYTHON)
-  add_dependencies(
-    external_boost
-    external_python
-    external_numpy
-  )
-endif()
+add_dependencies(
+  external_boost
+  external_python
+  external_numpy
+)
diff --git a/build_files/build_environment/cmake/boost_build_options.cmake b/build_files/build_environment/cmake/boost_build_options.cmake
index 7ec1a6f6312..096534752f4 100644
--- a/build_files/build_environment/cmake/boost_build_options.cmake
+++ b/build_files/build_environment/cmake/boost_build_options.cmake
@@ -27,4 +27,5 @@ set(DEFAULT_BOOST_FLAGS
   -DBoost_NO_BOOST_CMAKE=ON
   -DBoost_ADDITIONAL_VERSIONS=${BOOST_VERSION_SHORT}
   -DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
+  -DBoost_USE_DEBUG_PYTHON=On
 )
diff --git a/build_files/build_environment/cmake/openimageio.cmake b/build_files/build_environment/cmake/openimageio.cmake
index 9c45e612818..8d561f3c1d3 100644
--- a/build_files/build_environment/cmake/openimageio.cmake
+++ b/build_files/build_environment/cmake/openimageio.cmake
@@ -98,6 +98,7 @@ ExternalProject_Add(external_openimageio
   URL file://${PACKAGE_DIR}/${OPENIMAGEIO_FILE}
   DOWNLOAD_DIR ${DOWNLOAD_DIR}
   URL_HASH ${OPENIMAGEIO_HASH_TYPE}=${OPENIMAGEIO_HASH}
+  CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
   PREFIX ${BUILD_DIR}/openimageio
   PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio.diff
   CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimageio ${DEFAULT_CMAKE_FLAGS} ${OPENIMAGEIO_EXTRA_ARGS}
diff --git a/build_files/build_environment/cmake/openvdb.cmake b/build_files/build_environment/cmake/openvdb.cmake
index 103d14d37e6..159e971172f 100644
--- a/build_files/build_environment/cmake/openvdb.cmake
+++ b/build_files/build_environment/cmake/openvdb.cmake
@@ -4,29 +4,16 @@ if(BUILD_MODE STREQUAL Debug)
   set(BLOSC_POST _d)
 endif()
 
-if(WIN32)
-  set(OPENVDB_SHARED ON)
-  set(OPENVDB_STATIC OFF)
-else()
-  set(OPENVDB_SHARED OFF)
-  set(OPENVDB_STATIC ON)
-endif()
-
+set(OPENVDB_SHARED ON)
+set(OPENVDB_STATIC OFF)
 set(OPENVDB_EXTRA_ARGS
   ${DEFAULT_BOOST_FLAGS}
-  -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
-  -DBoost_USE_MULTITHREADED=ON
-  # This is the global toggle for static libs
-  -DBoost_USE_STATIC_LIBS=OFF
+  -DUSE_STATIC_DEPENDENCIES=OFF   # This is the global toggle for static libs
   # Once the above switch is off, you can set it
   # for each individual library below.
   -DBLOSC_USE_STATIC_LIBS=ON
   -DTBB_USE_STATIC_LIBS=OFF
   -DBoost_USE_STATIC_LIBS=OFF
-  -DBoost_USE_STATIC_RUNTIME=OFF
-  -DBOOST_ROOT=${LIBDIR}/boost
-  -DBoost_NO_SYSTEM_PATHS=ON
-  -DBoost_NO_BOOST_CMAKE=ON
   -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
   -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
   -DBlosc_INCLUDE_DIR=${LIBDIR}/blosc/include/
@@ -34,7 +21,6 @@ set(OPENVDB_EXTRA_ARGS
   -DBlosc_LIBRARY_RELEASE=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
   -DBlosc_LIBRARY_DEBUG=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
   -DOPENVDB_BUILD_UNITTESTS=OFF
-  -DOPENVDB_BUILD_PYTHON_MODULE=OFF
   -DOPENVDB_BUILD_NANOVDB=ON
   -DNANOVDB_BUILD_TOOLS=OFF
   -DBlosc_ROOT=${LIBDIR}/blosc/
@@ -45,21 +31,24 @@ set(OPENVDB_EXTRA_ARGS
   -DCMAKE_DEBUG_POSTFIX=_d
   -DBLOSC_USE_STATIC_LIBS=ON
   -DUSE_NANOVDB=ON
-)
+  -DOPENVDB_BUILD_PYTHON_MODULE=ON
+  -DOPENVDB_PYTHON_WRAP_ALL_GRID_TYPES=ON
+  -DUSE_NUMPY=ON
+  -DPython_EXECUTABLE=${PYTHON_BINARY}
 
-if(WIN32)
-  # Namespaces seem to be buggy and cause linker errors due to things not
-  # being in the correct namespace
-  # needs to link pthreads due to it being a blosc dependency
-  set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS}
-    -DCMAKE_CXX_STANDARD_LIBRARIES="${LIBDIR}/pthreads/lib/pthreadVC3.lib"
-  )
-endif()
+  # OPENVDB_AX Disabled for now as it adds ~25MB distribution wise
+  # with no blender code depending on it, seems wasteful.
+  # -DOPENVDB_BUILD_AX=ON
+  # -DOPENVDB_AX_SHARED=ON
+  # -DOPENVDB_AX_STATIC=OFF
+  # -DLLVM_DIR=${LIBDIR}/llvm/lib/cmake/llvm
+)
 
 ExternalProject_Add(openvdb
   URL file://${PACKAGE_DIR}/${OPENVDB_FILE}
   DOWNLOAD_DIR ${DOWNLOAD_DIR}
   URL_HASH ${OPENVDB_HASH_TYPE}=${OPENVDB_HASH}
+  CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
   PREFIX ${BUILD_DIR}/openvdb
   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}
@@ -72,6 +61,8 @@ add_dependencies(
   external_boost
   external_zlib
   external_blosc
+  external_python
+  external_numpy
 )
 
 if(WIN32)
@@ -80,6 +71,7 @@ if(WIN32)
       COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openvdb/include ${HARVEST_TARGET}/openvdb/include
       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/openvdb.lib ${HARVEST_TARGET}/openvdb/lib/openvdb.lib
       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/bin/openvdb.dll ${HARVEST_TARGET}/openvdb/bin/openvdb.dll
+      COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/python${PYTHON_SHORT_VERSION}/site-packages/pyopenvdb.pyd ${HARVEST_TARGET}openvdb/python/pyopenvdb.pyd
       DEPENDEES install
     )
   endif()
@@ -87,6 +79,7 @@ if(WIN32)
     ExternalProject_Add_Step(openvdb after_install
       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/openvdb_d.lib ${HARVEST_TARGET}/openvdb/lib/openvdb_d.lib
       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/bin/openvdb_d.dll ${HARVEST_TARGET}/openvdb/bin/openvdb_d.dll
+      COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/python${PYTHON_SHORT_VERSION}/site-packages/pyopenvdb_d.pyd ${HARVEST_TARGET}openvdb/python/pyopenvdb_d.pyd
       DEPENDEES install
     )
   endif()
diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake
index 38280be1807..c1865b30afa 100644
--- a/build_files/build_environment/cmake/options.cmake
+++ b/build_files/build_environment/cmake/options.cmake
@@ -62,9 +62,9 @@ if(WIN32)
   set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MD ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
 
   if(WITH_OPTIMIZED_DEBUG)
-    set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+    set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS /DBOOST_DEBUG_PYTHON /DBOOST_ALL_NO_LIB")
   else()
-    set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd  ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+    set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd  ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS /DBOOST_DEBUG_PYTHON /DBOOST_ALL_NO_LIB")
   endif()
   set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MD /${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG  /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
   set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MD ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
diff --git a/build_files/build_environment/cmake/osl.cmake b/build_files/build_environment/cmake/osl.cmake
index 9719de94d47..964b58333f1 100644
--- a/build_files/build_environment/cmake/osl.cmake
+++ b/build_files/build_environment/cmake/osl.cmake
@@ -40,6 +40,7 @@ set(OSL_EXTRA_ARGS
 ExternalProject_Add(external_osl
   URL file://${PACKAGE_DIR}/${OSL_FILE}
   DOWNLOAD_DIR ${DOWNLOAD_DIR}
+  CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
   LIST_SEPARATOR ^^
   URL_HASH ${OSL_HASH_TYPE}=${OSL_HASH}
   PREFIX ${BUILD_DIR}/osl
diff --git a/build_files/build_environment/cmake/usd.cmake b/build_files/build_environment/cmake/usd.cmake
index b804a80421b..6aff691bc27 100644
--- a/build_files/build_environment/cmake/usd.cmake
+++ b/build_files/build_environment/cmake/usd.cmake
@@ -98,6 +98,7 @@ add_dependencies(
   e

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list