[Bf-blender-cvs] [9a43a2fcd77] tmp_libupdate_34: Initial work of D15604

Ray Molenkamp noreply at git.blender.org
Fri Aug 5 21:10:19 CEST 2022


Commit: 9a43a2fcd77e8433c64cc53967658685361c638f
Author: Ray Molenkamp
Date:   Fri Aug 5 13:00:09 2022 -0600
Branches: tmp_libupdate_34
https://developer.blender.org/rB9a43a2fcd77e8433c64cc53967658685361c638f

Initial work of D15604

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

M	build_files/build_environment/cmake/boost.cmake
M	build_files/build_environment/cmake/boost_build_options.cmake
M	build_files/build_environment/cmake/harvest.cmake
M	build_files/build_environment/cmake/openexr.cmake
M	build_files/build_environment/cmake/openimageio.cmake
M	build_files/build_environment/cmake/opensubdiv.cmake
M	build_files/build_environment/cmake/openvdb.cmake
M	build_files/build_environment/cmake/options.cmake
M	build_files/build_environment/cmake/tbb.cmake
M	build_files/build_environment/cmake/usd.cmake
M	build_files/build_environment/patches/boost.user.jam.in
M	build_files/build_environment/patches/osl.diff
M	build_files/build_environment/windows/build_deps.cmd
M	build_files/cmake/platform/platform_apple.cmake
M	build_files/cmake/platform/platform_unix.cmake
M	build_files/cmake/platform/platform_win32.cmake
M	intern/cycles/kernel/osl/shaders/CMakeLists.txt
M	intern/locale/CMakeLists.txt
M	source/blender/io/usd/CMakeLists.txt
M	source/blender/io/usd/intern/usd_capi_import.cc
M	source/blender/io/usd/usd.h
M	source/creator/CMakeLists.txt
M	source/creator/creator.c

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

diff --git a/build_files/build_environment/cmake/boost.cmake b/build_files/build_environment/cmake/boost.cmake
index 57088e59cee..0dd9cdd41d2 100644
--- a/build_files/build_environment/cmake/boost.cmake
+++ b/build_files/build_environment/cmake/boost.cmake
@@ -22,19 +22,17 @@ else()
   set(BOOST_PATCH_COMMAND echo .)
 endif()
 
-if(WITH_BOOST_PYTHON)
-  set(JAM_FILE ${BUILD_DIR}/boost.user-config.jam)
-  configure_file(${PATCH_DIR}/boost.user.jam.in ${JAM_FILE})
+set(JAM_FILE ${BUILD_DIR}/boost.user-config.jam)
+configure_file(${PATCH_DIR}/boost.user.jam.in ${JAM_FILE})
+set(BOOST_PYTHON_OPTIONS
+  --with-python
+  --user-config=${JAM_FILE}
+)
+if(WIN32 AND BUILD_MODE STREQUAL Debug)
   set(BOOST_PYTHON_OPTIONS
-    --with-python
-    --user-config=${JAM_FILE}
+    ${BOOST_PYTHON_OPTIONS}
+    define=BOOST_DEBUG_PYTHON
   )
-  if(WIN32 AND BUILD_MODE STREQUAL Debug)
-    set(BOOST_PYTHON_OPTIONS
-      ${BOOST_PYTHON_OPTIONS}
-      define=BOOST_DEBUG_PYTHON
-    )
-  endif()
 endif()
 
 set(BOOST_OPTIONS
@@ -66,7 +64,7 @@ ExternalProject_Add(external_boost
   UPDATE_COMMAND  ""
   PATCH_COMMAND ${BOOST_PATCH_COMMAND}
   CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND}
-  BUILD_COMMAND ${BOOST_BUILD_COMMAND} ${BOOST_BUILD_OPTIONS} -j${MAKE_THREADS} architecture=${BOOST_ARCHITECTURE} address-model=${BOOST_ADDRESS_MODEL} link=static threading=multi ${BOOST_OPTIONS}    --prefix=${LIBDIR}/boost install
+  BUILD_COMMAND ${BOOST_BUILD_COMMAND} ${BOOST_BUILD_OPTIONS} -j${MAKE_THREADS} architecture=${BOOST_ARCHITECTURE} address-model=${BOOST_ADDRESS_MODEL} link=shared threading=multi ${BOOST_OPTIONS}    --prefix=${LIBDIR}/boost install
   BUILD_IN_SOURCE 1
   INSTALL_COMMAND "${BOOST_HARVEST_CMD}"
 )
diff --git a/build_files/build_environment/cmake/boost_build_options.cmake b/build_files/build_environment/cmake/boost_build_options.cmake
index cc471078fcd..7ec1a6f6312 100644
--- a/build_files/build_environment/cmake/boost_build_options.cmake
+++ b/build_files/build_environment/cmake/boost_build_options.cmake
@@ -20,7 +20,7 @@ endif()
 set(DEFAULT_BOOST_FLAGS
   -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
   -DBoost_USE_MULTITHREADED=ON
-  -DBoost_USE_STATIC_LIBS=ON
+  -DBoost_USE_STATIC_LIBS=OFF
   -DBoost_USE_STATIC_RUNTIME=OFF
   -DBOOST_ROOT=${LIBDIR}/boost
   -DBoost_NO_SYSTEM_PATHS=ON
diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake
index bc456858d2a..c2375ea79de 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -63,7 +63,7 @@ harvest(alembic/bin alembic/bin "*")
 harvest(brotli/include brotli/include "*.h")
 harvest(brotli/lib brotli/lib "*.a")
 harvest(boost/include boost/include "*")
-harvest(boost/lib boost/lib "*.a")
+harvest(boost/lib boost/lib "*${SHAREDLIBEXT}*")
 harvest(imath/include imath/include "*.h")
 harvest(imath/lib imath/lib "*.a")
 harvest(ffmpeg/include ffmpeg/include "*.h")
@@ -84,7 +84,7 @@ harvest(jpeg/lib jpeg/lib "libjpeg.a")
 harvest(lame/lib ffmpeg/lib "*.a")
 if(NOT APPLE)
   harvest(level-zero/include/level_zero level-zero/include/level_zero "*.h")
-  harvest(level-zero/lib level-zero/lib "*.so*")
+  harvest(level-zero/lib level-zero/lib "*${SHAREDLIBEXT}*")
 endif()
 harvest(llvm/bin llvm/bin "clang-format")
 if(BUILD_CLANG_TOOLS)
@@ -141,7 +141,7 @@ harvest(embree/lib embree/lib "*.a")
 harvest(openjpeg/include/openjpeg-${OPENJPEG_SHORT_VERSION} openjpeg/include "*.h")
 harvest(openjpeg/lib openjpeg/lib "*.a")
 harvest(opensubdiv/include opensubdiv/include "*.h")
-harvest(opensubdiv/lib opensubdiv/lib "*.a")
+harvest(opensubdiv/lib opensubdiv/lib "*${SHAREDLIBEXT}*")
 harvest(openvdb/include/openvdb openvdb/include/openvdb "*.h")
 harvest(openvdb/include/nanovdb openvdb/include/nanovdb "*.h")
 harvest(openvdb/lib openvdb/lib "*.a")
@@ -165,7 +165,7 @@ harvest(sndfile/lib sndfile/lib "*.a")
 harvest(spnav/include spnav/include "*.h")
 harvest(spnav/lib spnav/lib "*.a")
 harvest(tbb/include tbb/include "*.h")
-harvest(tbb/lib/libtbb_static.a tbb/lib/libtbb.a)
+harvest(tbb/lib/libtbb${SHAREDLIBEXT} tbb/lib/libtbb${SHAREDLIBEXT})
 harvest(theora/lib ffmpeg/lib "*.a")
 harvest(tiff/include tiff/include "*.h")
 harvest(tiff/lib tiff/lib "*.a")
@@ -178,7 +178,7 @@ harvest(aom/lib ffmpeg/lib "*.a")
 harvest(webp/lib webp/lib "*.a")
 harvest(webp/include webp/include "*.h")
 harvest(usd/include usd/include "*.h")
-harvest(usd/lib/usd usd/lib/usd "*")
+harvest(usd/lib usd/lib "*")
 harvest(usd/plugin usd/plugin "*")
 harvest(potrace/include potrace/include "*.h")
 harvest(potrace/lib potrace/lib "*.a")
@@ -188,8 +188,8 @@ harvest(zstd/include zstd/include "*.h")
 harvest(zstd/lib zstd/lib "*.a")
 
 if(UNIX AND NOT APPLE)
-  harvest(libglu/lib mesa/lib "*.so*")
-  harvest(mesa/lib64 mesa/lib "*.so*")
+  harvest(libglu/lib mesa/lib "*${SHAREDLIBEXT}*")
+  harvest(mesa/lib64 mesa/lib "*${SHAREDLIBEXT}*")
 
   harvest(dpcpp dpcpp "*")
   harvest(igc dpcpp/lib/igc "*")
diff --git a/build_files/build_environment/cmake/openexr.cmake b/build_files/build_environment/cmake/openexr.cmake
index d283f638a17..abfaf095da0 100644
--- a/build_files/build_environment/cmake/openexr.cmake
+++ b/build_files/build_environment/cmake/openexr.cmake
@@ -43,4 +43,5 @@ endif()
 add_dependencies(
   external_openexr
   external_zlib
+  external_imath
 )
diff --git a/build_files/build_environment/cmake/openimageio.cmake b/build_files/build_environment/cmake/openimageio.cmake
index 26881488039..9c45e612818 100644
--- a/build_files/build_environment/cmake/openimageio.cmake
+++ b/build_files/build_environment/cmake/openimageio.cmake
@@ -83,6 +83,7 @@ set(OPENIMAGEIO_EXTRA_ARGS
   -DUSE_EXTERNAL_PUGIXML=ON
   -DPUGIXML_LIBRARY=${LIBDIR}/pugixml/lib/${LIBPREFIX}pugixml${LIBEXT}
   -DPUGIXML_INCLUDE_DIR=${LIBDIR}/pugixml/include/
+  -Dpugixml_DIR=${LIBDIR}/pugixml/lib/cmake/pugixml
   -DBUILD_MISSING_ROBINMAP=OFF
   -DBUILD_MISSING_FMT=OFF
   -DFMT_INCLUDE_DIR=${LIBDIR}/fmt/include/
diff --git a/build_files/build_environment/cmake/opensubdiv.cmake b/build_files/build_environment/cmake/opensubdiv.cmake
index a142160b9cc..4f643868bfb 100644
--- a/build_files/build_environment/cmake/opensubdiv.cmake
+++ b/build_files/build_environment/cmake/opensubdiv.cmake
@@ -32,7 +32,7 @@ else()
   set(OPENSUBDIV_EXTRA_ARGS
     ${OPENSUBDIV_EXTRA_ARGS}
     -DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include
-    -DTBB_tbb_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
+    -DTBB_tbb_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb${SHAREDLIBEXT}
   )
 endif()
 
diff --git a/build_files/build_environment/cmake/openvdb.cmake b/build_files/build_environment/cmake/openvdb.cmake
index 2d0f62cc1a0..103d14d37e6 100644
--- a/build_files/build_environment/cmake/openvdb.cmake
+++ b/build_files/build_environment/cmake/openvdb.cmake
@@ -16,7 +16,13 @@ set(OPENVDB_EXTRA_ARGS
   ${DEFAULT_BOOST_FLAGS}
   -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
   -DBoost_USE_MULTITHREADED=ON
-  -DBoost_USE_STATIC_LIBS=ON
+  # This is the global toggle for static libs
+  -DBoost_USE_STATIC_LIBS=OFF
+  # 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
diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake
index 9015ef9ac7c..d67be148aa5 100644
--- a/build_files/build_environment/cmake/options.cmake
+++ b/build_files/build_environment/cmake/options.cmake
@@ -3,7 +3,6 @@
 if(WIN32)
   option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/fftw3 by installing mingw64" ON)
 endif()
-option(WITH_BOOST_PYTHON "Enable building of boost with python support" OFF)
 cmake_host_system_information(RESULT NUM_CORES QUERY NUMBER_OF_LOGICAL_CORES)
 set(MAKE_THREADS ${NUM_CORES} CACHE STRING "Number of threads to run make with")
 
@@ -97,10 +96,11 @@ if(WIN32)
 else()
   set(PATCH_CMD patch)
   set(LIBEXT ".a")
-  set(SHAREDLIBEXT ".so")
   set(LIBPREFIX "lib")
 
   if(APPLE)
+    set(SHAREDLIBEXT ".dylib")
+
     # Let's get the current Xcode dir, to support xcode-select
     execute_process(
       COMMAND xcode-select --print-path
@@ -140,6 +140,8 @@ else()
       -DCMAKE_OSX_SYSROOT:PATH=${OSX_SYSROOT}
     )
   else()
+    set(SHAREDLIBEXT ".so")
+
     if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64")
       set(BLENDER_PLATFORM_ARM ON)
     endif()
diff --git a/build_files/build_environment/cmake/tbb.cmake b/build_files/build_environment/cmake/tbb.cmake
index 1c251fa37d9..170bb61be54 100644
--- a/build_files/build_environment/cmake/tbb.cmake
+++ b/build_files/build_environment/cmake/tbb.cmake
@@ -1,5 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
-if(WIN32)
   set(TBB_EXTRA_ARGS
     -DTBB_BUILD_SHARED=On
     -DTBB_BUILD_TBBMALLOC=On
@@ -10,17 +9,6 @@ if(WIN32)
   )
   set(TBB_LIBRARY tbb)
   set(TBB_STATIC_LIBRARY Off)
-else()
-  set(TBB_EXTRA_ARGS
-    -DTBB_BUILD_SHARED=Off
-    -DTBB_BUILD_TBBMALLOC=On
-    -DTBB_BUILD_TBBMALLOC_PROXY=Off
-    -DTBB_BUILD_STATIC=On
-    -DTBB_BUILD_TESTS=Off
-  )
-  set(TBB_LIBRARY tbb_static)
-  set(TBB_STATIC_LIBRARY On)
-endif()
 
 # CMake script for TBB from https://github.com/wjakob/tbb/blob/master/CMakeLists.txt
 ExternalProject_Add(external_tbb
diff --git a/build_files/build_environment/cmake/usd.cmake b/build_files/build_environment/cmake/usd.cmake
index 34e43383637..8f1a5a6ec7f 100644
--- a/build_files/build_environment/cmake/usd.cmake
+++ b/build_files/build_environment/cmake/usd.cmake
@@ -12,6 +12,17 @@ if(WIN32)
   set(USD_PLATFORM_FLAGS
     ${USD_OIIO_CMAKE_DEFINES}
     -DCMAKE_CXX_FLAGS=${USD_CXX_FLAGS}
+    -D_PXR_CXX_DEFINITIONS=/DBOOST_ALL_NO_LIB
+    -DCMAKE_SHARED_LINKER_FLAGS_INIT=/LIBPATH:${LIBDIR}/tbb/lib
+  )
+  if(BUILD_MODE STREQUAL Debug)
+    list(APPEND USD_PLATFORM_ARGS -DPXR_USE_DEBUG_PYTHON=On)
+  endif()
+endif()
+if(UNIX)
+  set(USD_PLATFORM_FLAGS
+    -DPYTHON_INCLUDE_DIR=${LIBDIR}/python/include/python${PYTHON_SHORT_VERSION}/
+    -DPYTHON_LIBRARY=${LIBDIR}/python/lib/libpython${PYTHON_SHORT_VERSION}${LIBEXT}
   )

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list