[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