[Bf-blender-cvs] [a7875fdac6b] tmp-vfx-platform-2023: Deps: Add 2 missing files for MaterialX
Ray Molenkamp
noreply at git.blender.org
Tue Nov 22 18:26:38 CET 2022
Commit: a7875fdac6b3accfda75d681a514bbc5fa66014e
Author: Ray Molenkamp
Date: Tue Nov 22 10:26:28 2022 -0700
Branches: tmp-vfx-platform-2023
https://developer.blender.org/rBa7875fdac6b3accfda75d681a514bbc5fa66014e
Deps: Add 2 missing files for MaterialX
===================================================================
A build_files/build_environment/cmake/materialx.cmake
A build_files/build_environment/patches/materialx.diff
===================================================================
diff --git a/build_files/build_environment/cmake/materialx.cmake b/build_files/build_environment/cmake/materialx.cmake
new file mode 100644
index 00000000000..eb6a22e8ad3
--- /dev/null
+++ b/build_files/build_environment/cmake/materialx.cmake
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+set(MATERIALX_EXTRA_ARGS
+ -DMATERIALX_BUILD_PYTHON=ON
+ -DMATERIALX_INSTALL_PYTHON=OFF
+ -DMATERIALX_PYTHON_EXECUTABLE=${PYTHON_BINARY}
+ -DMATERIALX_PYTHON_VERSION=${PYTHON_SHORT_VERSION}
+ -DMATERIALX_BUILD_SHARED_LIBS=ON
+ -DCMAKE_DEBUG_POSTFIX=_d
+)
+
+ExternalProject_Add(external_materialx
+ URL file://${PACKAGE_DIR}/${MATERIALX_FILE}
+ DOWNLOAD_DIR ${DOWNLOAD_DIR}
+ URL_HASH ${MATERIALX_HASH_TYPE}=${MATERIALX_HASH}
+ PREFIX ${BUILD_DIR}/materialx
+ CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
+ PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/materialx/src/external_materialx < ${PATCH_DIR}/materialx.diff
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/materialx ${DEFAULT_CMAKE_FLAGS} ${MATERIALX_EXTRA_ARGS}
+ INSTALL_DIR ${LIBDIR}/materialx
+)
+
+if(WIN32)
+ set(MATERIALX_PYTHON_TARGET ${HARVEST_TARGET}/materialx/python/${BUILD_MODE})
+ string(REPLACE "/" "\\" MATERIALX_PYTHON_TARGET_DOS "${MATERIALX_PYTHON_TARGET}")
+ if(BUILD_MODE STREQUAL Release)
+ ExternalProject_Add_Step(external_materialx after_install
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/include ${HARVEST_TARGET}/materialx/include
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/libraries ${HARVEST_TARGET}/materialx/libraries
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/lib/ ${HARVEST_TARGET}/materialx/lib/
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/bin/ ${HARVEST_TARGET}/materialx/bin/
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/python/ ${MATERIALX_PYTHON_TARGET}
+ COMMAND del ${MATERIALX_PYTHON_TARGET_DOS}\\MaterialX\\*.lib
+ DEPENDEES install
+ )
+ endif()
+ if(BUILD_MODE STREQUAL Debug)
+ ExternalProject_Add_Step(external_materialx after_install
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/lib/ ${HARVEST_TARGET}/materialx/lib/
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/bin/ ${HARVEST_TARGET}/materialx/bin/
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/python/ ${MATERIALX_PYTHON_TARGET}
+ COMMAND del ${MATERIALX_PYTHON_TARGET_DOS}\\MaterialX\\*.lib
+ DEPENDEES install
+ )
+ endif()
+ unset(MATERIALX_PYTHON_TARGET)
+ unset(MATERIALX_PYTHON_TARGET_DOS)
+endif()
diff --git a/build_files/build_environment/patches/materialx.diff b/build_files/build_environment/patches/materialx.diff
new file mode 100644
index 00000000000..024d4b6ad74
--- /dev/null
+++ b/build_files/build_environment/patches/materialx.diff
@@ -0,0 +1,13 @@
+diff -Naur orig/source/PyMaterialX/PyBind11/tools/FindPythonLibsNew.cmake external_materialx/source/PyMaterialX/PyBind11/tools/FindPythonLibsNew.cmake
+--- orig/source/PyMaterialX/PyBind11/tools/FindPythonLibsNew.cmake 2022-11-04 14:23:29 -0600
++++ external_materialx/source/PyMaterialX/PyBind11/tools/FindPythonLibsNew.cmake 2022-11-08 11:58:45 -0700
+@@ -181,6 +181,9 @@
+ string(REGEX REPLACE "\\\\" "/" PYTHON_SITE_PACKAGES "${PYTHON_SITE_PACKAGES}")
+
+ if(CMAKE_HOST_WIN32)
++ if(PYTHON_EXECUTABLE MATCHES "_d.exe$")
++ set(PYTHON_LIBRARY_SUFFIX ${PYTHON_LIBRARY_SUFFIX}_d)
++ endif()
+ set(PYTHON_LIBRARY "${PYTHON_PREFIX}/libs/python${PYTHON_LIBRARY_SUFFIX}.lib")
+
+ # when run in a venv, PYTHON_PREFIX points to it. But the libraries remain in the
\ No newline at end of file
More information about the Bf-blender-cvs
mailing list