[Bf-blender-cvs] [6a95f05d65b] master: deps_builder: Optionally build boost::python
Ray Molenkamp
noreply at git.blender.org
Wed Aug 12 18:17:43 CEST 2020
Commit: 6a95f05d65b5fc192d9689ca653e5b4e19a50cad
Author: Ray Molenkamp
Date: Wed Aug 12 10:17:38 2020 -0600
Branches: master
https://developer.blender.org/rB6a95f05d65b5fc192d9689ca653e5b4e19a50cad
deps_builder: Optionally build boost::python
This this adds the option of building boost::python
in the libs builder, in preparation for future
dependencies that require it (ie pyopenvdb)
disabled by default, can be enabled with the
`WITH_BOOST_PYTHON` cmake option.
Differential Revision: https://developer.blender.org/D8212
Reviewed by: brecht
===================================================================
M build_files/build_environment/CMakeLists.txt
M build_files/build_environment/cmake/boost.cmake
M build_files/build_environment/cmake/options.cmake
A build_files/build_environment/patches/boost.user.jam.in
===================================================================
diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index c26b90637c3..6415d270773 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -57,7 +57,6 @@ include(cmake/zlib.cmake)
include(cmake/openal.cmake)
include(cmake/png.cmake)
include(cmake/jpeg.cmake)
-include(cmake/boost.cmake)
include(cmake/blosc.cmake)
include(cmake/pthreads.cmake)
include(cmake/openexr.cmake)
@@ -89,6 +88,8 @@ include(cmake/python_site_packages.cmake)
include(cmake/package_python.cmake)
include(cmake/numpy.cmake)
include(cmake/usd.cmake)
+# Boost needs to be included after python.cmake due to the PYTHON_BINARY variable being needed.
+include(cmake/boost.cmake)
if(UNIX)
# Rely on PugiXML compiled with OpenImageIO
else()
diff --git a/build_files/build_environment/cmake/boost.cmake b/build_files/build_environment/cmake/boost.cmake
index 062bdeb2473..22b5f33e690 100644
--- a/build_files/build_environment/cmake/boost.cmake
+++ b/build_files/build_environment/cmake/boost.cmake
@@ -49,6 +49,15 @@ else()
endif()
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(BOOST_PYTHON_OPTIONS
+ --with-python
+ --user-config=${JAM_FILE}
+ )
+endif()
+
set(BOOST_OPTIONS
--with-filesystem
--with-locale
@@ -65,6 +74,7 @@ set(BOOST_OPTIONS
-sNO_LZMA=1
-sNO_ZSTD=1
${BOOST_TOOLSET}
+ ${BOOST_PYTHON_OPTIONS}
)
string(TOLOWER ${BUILD_MODE} BOOST_BUILD_TYPE)
@@ -81,3 +91,11 @@ ExternalProject_Add(external_boost
BUILD_IN_SOURCE 1
INSTALL_COMMAND "${BOOST_HARVEST_CMD}"
)
+
+if(WITH_BOOST_PYTHON)
+ add_dependencies(
+ external_boost
+ external_python
+ external_numpy
+ )
+endif()
diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake
index 2542f723845..29e2ffc7ed8 100644
--- a/build_files/build_environment/cmake/options.cmake
+++ b/build_files/build_environment/cmake/options.cmake
@@ -20,6 +20,7 @@ if(WIN32)
option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/fftw3 by installing mingw64" ON)
endif()
option(WITH_WEBP "Enable building of oiio with webp support" OFF)
+option(WITH_BOOST_PYTHON "Enable building of boost with python support" OFF)
set(MAKE_THREADS 1 CACHE STRING "Number of threads to run make with")
if(NOT BUILD_MODE)
diff --git a/build_files/build_environment/patches/boost.user.jam.in b/build_files/build_environment/patches/boost.user.jam.in
new file mode 100644
index 00000000000..b615b0cafad
--- /dev/null
+++ b/build_files/build_environment/patches/boost.user.jam.in
@@ -0,0 +1,4 @@
+using python : @PYTHON_SHORT_VERSION@ : @PYTHON_BINARY@
+ : @LIBDIR@/python/include @LIBDIR@/python/include/python at PYTHON_SHORT_VERSION@m/
+ : @LIBDIR@/python/libs
+;
\ No newline at end of file
More information about the Bf-blender-cvs
mailing list