[Bf-blender-cvs] [cfcc728de63] master: Cleanup: split python packages across multiple lines

Campbell Barton noreply at git.blender.org
Tue Dec 13 02:36:24 CET 2022


Commit: cfcc728de636963203ca5697226cebd7a314428f
Author: Campbell Barton
Date:   Tue Dec 13 12:02:26 2022 +1100
Branches: master
https://developer.blender.org/rBcfcc728de636963203ca5697226cebd7a314428f

Cleanup: split python packages across multiple lines

Having all packages on one line made reviewing changes difficult.

Also note why Python modules are needed (with some TODO's where I wasn't
able to find any reason given for their inclusion).

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

M	build_files/build_environment/cmake/options.cmake
M	build_files/build_environment/cmake/python_site_packages.cmake
M	build_files/build_environment/cmake/versions.cmake

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

diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake
index 44eca741e77..0a7548f95fb 100644
--- a/build_files/build_environment/cmake/options.cmake
+++ b/build_files/build_environment/cmake/options.cmake
@@ -117,7 +117,7 @@ else()
   set(LIBEXT ".a")
   set(LIBPREFIX "lib")
   set(MESON ${LIBDIR}/python/bin/meson)
-if(APPLE)
+  if(APPLE)
     set(SHAREDLIBEXT ".dylib")
 
     # Use same Xcode detection as Blender itself.
diff --git a/build_files/build_environment/cmake/python_site_packages.cmake b/build_files/build_environment/cmake/python_site_packages.cmake
index 4c0e7b1996c..93bfd00a721 100644
--- a/build_files/build_environment/cmake/python_site_packages.cmake
+++ b/build_files/build_environment/cmake/python_site_packages.cmake
@@ -5,7 +5,11 @@ if(WIN32 AND BUILD_MODE STREQUAL Debug)
   # zstandard is determined to build and link release mode libs in a debug
   # configuration, the only way to make it happy is to bend to its will
   # and give it a library to link with.
-  set(PIP_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.lib ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib)
+  set(
+    PIP_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy
+    ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.lib
+    ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib
+  )
 else()
   set(PIP_CONFIGURE_COMMAND echo ".")
 endif()
@@ -15,9 +19,23 @@ ExternalProject_Add(external_python_site_packages
   CONFIGURE_COMMAND ${PIP_CONFIGURE_COMMAND}
   BUILD_COMMAND ""
   PREFIX ${BUILD_DIR}/site_packages
-  # setuptools is downgraded to 63.2.0 (same as python 3.10.8) since numpy 1.23.x seemingly has 
+
+  # setuptools is downgraded to 63.2.0 (same as python 3.10.8) since numpy 1.23.x seemingly has
   # issues building on windows with the newer versions that ships with python 3.10.9+
-  INSTALL_COMMAND ${PYTHON_BINARY} -m pip install --no-cache-dir ${SITE_PACKAGES_EXTRA} setuptools==63.2.0 cython==${CYTHON_VERSION} idna==${IDNA_VERSION} charset-normalizer==${CHARSET_NORMALIZER_VERSION} urllib3==${URLLIB3_VERSION} certifi==${CERTIFI_VERSION} requests==${REQUESTS_VERSION} zstandard==${ZSTANDARD_VERSION} autopep8==${AUTOPEP8_VERSION} pycodestyle==${PYCODESTYLE_VERSION} toml==${TOML_VERSION} meson==${MESON_VERSION} --no-binary :all:
+  INSTALL_COMMAND ${PYTHON_BINARY} -m pip install --no-cache-dir ${SITE_PACKAGES_EXTRA}
+  setuptools==63.2.0
+  cython==${CYTHON_VERSION}
+  idna==${IDNA_VERSION}
+  charset-normalizer==${CHARSET_NORMALIZER_VERSION}
+  urllib3==${URLLIB3_VERSION}
+  certifi==${CERTIFI_VERSION}
+  requests==${REQUESTS_VERSION}
+  zstandard==${ZSTANDARD_VERSION}
+  autopep8==${AUTOPEP8_VERSION}
+  pycodestyle==${PYCODESTYLE_VERSION}
+  toml==${TOML_VERSION}
+  meson==${MESON_VERSION}
+  --no-binary :all:
 )
 
 if(USE_PIP_NUMPY)
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index 86f9d8349b1..097f632b356 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -203,7 +203,7 @@ set(OSL_FILE OpenShadingLanguage-${OSL_VERSION}.tar.gz)
 
 # NOTE: When updating the python version, it's required to check the versions of
 # it wants to use in PCbuild/get_externals.bat for the following dependencies:
-# BZIP2, FFI, SQLITE and change the versions in this file as well. For compliance 
+# BZIP2, FFI, SQLITE and change the versions in this file as well. For compliance
 # reasons there can be no exceptions to this.
 
 set(PYTHON_VERSION 3.10.9)
@@ -229,20 +229,34 @@ set(OPENVDB_HASH 64301c737e16b26c8f3085a31e6397e9)
 set(OPENVDB_HASH_TYPE MD5)
 set(OPENVDB_FILE openvdb-${OPENVDB_VERSION}.tar.gz)
 
+# ------------------------------------------------------------------------------
+# Python Modules
+
+# Needed by: TODO.
 set(IDNA_VERSION 3.3)
+# Needed by: TODO.
 set(CHARSET_NORMALIZER_VERSION 2.0.10)
+# Needed by: TODO.
 set(URLLIB3_VERSION 1.26.8)
 set(URLLIB3_CPE "cpe:2.3:a:urllib3:urllib3:${URLLIB3_VERSION}:*:*:*:*:*:*:*")
+# Needed by: Python's `requests` module (so add-ons can authenticate against trusted certificates).
 set(CERTIFI_VERSION 2021.10.8)
+# Needed by: Some of Blender's add-ons (to support convenient interaction with online services).
 set(REQUESTS_VERSION 2.27.1)
+# Needed by: Python's `numpy` module (used by some add-ons).
 set(CYTHON_VERSION 0.29.30)
-# The version of the zstd library used to build the Python package should match ZSTD_VERSION
+# Needed by: Python scripts that read `.blend` files, as files may use Z-standard compression.
+# The version of the ZSTD library used to build the Python package should match ZSTD_VERSION
 # defined below. At this time of writing, 0.17.0 was already released,
-# but built against zstd 1.5.1, while we use 1.5.0.
+# but built against ZSTD 1.5.1, while we use 1.5.0.
 set(ZSTANDARD_VERSION 0.16.0)
+# Auto-format Python source (developer tool, not used by Blender at run-time).
 set(AUTOPEP8_VERSION 1.6.0)
+# Needed by: `autopep8` (so the version doesn't change on rebuild).
 set(PYCODESTYLE_VERSION 2.8.0)
+# Needed by: `autopep8` (so the version doesn't change on rebuild).
 set(TOML_VERSION 0.10.2)
+# Build system for other packages (not used by Blender at run-time).
 set(MESON_VERSION 0.63.0)
 
 set(NUMPY_VERSION 1.23.5)



More information about the Bf-blender-cvs mailing list