Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'build_files')
-rw-r--r--build_files/build_environment/CMakeLists.txt13
-rw-r--r--build_files/build_environment/cmake/harvest.cmake2
-rw-r--r--build_files/build_environment/cmake/hidapi.cmake29
-rw-r--r--build_files/build_environment/cmake/ispc.cmake63
-rw-r--r--build_files/build_environment/cmake/openimagedenoise.cmake25
-rw-r--r--build_files/build_environment/cmake/options.cmake23
-rw-r--r--build_files/build_environment/cmake/osl.cmake1
-rw-r--r--build_files/build_environment/cmake/setup_mingw32.cmake227
-rw-r--r--build_files/build_environment/cmake/setup_mingw64.cmake10
-rw-r--r--build_files/build_environment/cmake/ssl.conf2
-rw-r--r--build_files/build_environment/cmake/tbb.cmake7
-rw-r--r--build_files/build_environment/cmake/usd.cmake3
-rw-r--r--build_files/build_environment/cmake/versions.cmake45
-rwxr-xr-xbuild_files/build_environment/install_deps.sh2
-rw-r--r--build_files/build_environment/patches/cmakelists_hidapi.txt20
-rw-r--r--build_files/build_environment/patches/hidapi.diff15
-rw-r--r--build_files/build_environment/patches/ispc.diff36
-rw-r--r--build_files/build_environment/patches/openimagedenoise.diff120
-rw-r--r--build_files/build_environment/patches/usd.diff44
-rw-r--r--build_files/buildbot/README.md2
-rw-r--r--build_files/buildbot/buildbot_utils.py4
-rw-r--r--build_files/buildbot/codesign/base_code_signer.py150
-rw-r--r--build_files/buildbot/slave_rsync.py37
-rwxr-xr-xbuild_files/buildbot/worker_bundle_dmg.py (renamed from build_files/buildbot/slave_bundle_dmg.py)2
-rw-r--r--build_files/buildbot/worker_codesign.cmake (renamed from build_files/buildbot/slave_codesign.cmake)2
-rwxr-xr-xbuild_files/buildbot/worker_codesign.py (renamed from build_files/buildbot/slave_codesign.py)0
-rw-r--r--build_files/buildbot/worker_compile.py (renamed from build_files/buildbot/slave_compile.py)4
-rw-r--r--build_files/buildbot/worker_pack.py (renamed from build_files/buildbot/slave_pack.py)4
-rw-r--r--build_files/buildbot/worker_test.py (renamed from build_files/buildbot/slave_test.py)0
-rw-r--r--build_files/buildbot/worker_update.py (renamed from build_files/buildbot/slave_update.py)0
-rw-r--r--build_files/cmake/Modules/FindOpenImageDenoise.cmake7
-rw-r--r--build_files/cmake/config/blender_full.cmake1
-rw-r--r--build_files/cmake/config/blender_lite.cmake1
-rw-r--r--build_files/cmake/config/blender_release.cmake1
-rw-r--r--build_files/cmake/platform/platform_win32.cmake4
35 files changed, 300 insertions, 606 deletions
diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index dd90eb9adde..3c228fd9f7d 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -48,11 +48,7 @@ include(cmake/options.cmake)
include(cmake/versions.cmake)
if(ENABLE_MINGW64)
- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
- include(cmake/setup_mingw64.cmake)
- else()
- include(cmake/setup_mingw32.cmake)
- endif()
+ include(cmake/setup_mingw64.cmake)
else()
set(mingw_LIBDIR ${LIBDIR})
endif()
@@ -97,17 +93,18 @@ if(UNIX)
else()
include(cmake/pugixml.cmake)
endif()
+include(cmake/ispc.cmake)
include(cmake/openimagedenoise.cmake)
include(cmake/embree.cmake)
-include(cmake/xr_openxr.cmake)
+if(NOT APPLE)
+ include(cmake/xr_openxr.cmake)
+endif()
if(WITH_WEBP)
include(cmake/webp.cmake)
endif()
if(WIN32)
- # HMD branch deps
- include(cmake/hidapi.cmake)
# OCIO deps
include(cmake/tinyxml.cmake)
include(cmake/yamlcpp.cmake)
diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake
index a7685f87c8d..33b7f9db192 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -43,8 +43,6 @@ if(BUILD_MODE STREQUAL Release)
# tiff
${CMAKE_COMMAND} -E copy ${LIBDIR}/tiff/lib/tiff.lib ${HARVEST_TARGET}/tiff/lib/libtiff.lib &&
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tiff/include/ ${HARVEST_TARGET}/tiff/include/ &&
- # hidapi
- ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/hidapi/ ${HARVEST_TARGET}/hidapi/
DEPENDS
)
endif()
diff --git a/build_files/build_environment/cmake/hidapi.cmake b/build_files/build_environment/cmake/hidapi.cmake
deleted file mode 100644
index 9a3d2ebf8df..00000000000
--- a/build_files/build_environment/cmake/hidapi.cmake
+++ /dev/null
@@ -1,29 +0,0 @@
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-set(HIDAPI_EXTRA_ARGS)
-
-ExternalProject_Add(external_hidapi
- URL ${HIDAPI_URI}
- DOWNLOAD_DIR ${DOWNLOAD_DIR}
- URL_HASH MD5=${HIDAPI_HASH}
- PREFIX ${BUILD_DIR}/hidapi
- PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_hidapi.txt ${BUILD_DIR}/hidapi/src/external_hidapi/cmakelists.txt && ${PATCH_CMD} -p 0 -d ${BUILD_DIR}/hidapi/src/external_hidapi < ${PATCH_DIR}/hidapi.diff
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/hidapi -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${HIDAPI_EXTRA_ARGS}
- INSTALL_DIR ${LIBDIR}/hidapi
-)
diff --git a/build_files/build_environment/cmake/ispc.cmake b/build_files/build_environment/cmake/ispc.cmake
new file mode 100644
index 00000000000..0bb5db82aea
--- /dev/null
+++ b/build_files/build_environment/cmake/ispc.cmake
@@ -0,0 +1,63 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ***** END GPL LICENSE BLOCK *****
+
+if(WIN32)
+ set(ISPC_EXTRA_ARGS_WIN
+ -DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe
+ -DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe
+ -DM4_EXECUTABLE=${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/m4.exe
+ )
+endif()
+
+set(ISPC_EXTRA_ARGS
+ -DARM_ENABLED=Off
+ -DISPC_NO_DUMPS=On
+ -DISPC_INCLUDE_EXAMPLES=Off
+ -DISPC_INCLUDE_TESTS=Off
+ -DLLVM_ROOT=${LIBDIR}/llvm/lib/cmake/llvm
+ -DLLVM_LIBRARY_DIR=${LIBDIR}/llvm/lib
+ -DCLANG_EXECUTABLE=${LIBDIR}/clang/bin/clang
+ -DISPC_INCLUDE_TESTS=Off
+ -DCLANG_LIBRARY_DIR=${LIBDIR}/clang/lib
+ -DCLANG_INCLUDE_DIRS=${LIBDIR}/clang/include
+ ${ISPC_EXTRA_ARGS_WIN}
+)
+
+ExternalProject_Add(external_ispc
+ URL ${ISPC_URI}
+ DOWNLOAD_DIR ${DOWNLOAD_DIR}
+ URL_HASH MD5=${ISPC_HASH}
+ PREFIX ${BUILD_DIR}/ispc
+ PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/ispc/src/external_ispc < ${PATCH_DIR}/ispc.diff
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ispc -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${ISPC_EXTRA_ARGS} ${BUILD_DIR}/ispc/src/external_ispc
+ INSTALL_DIR ${LIBDIR}/ispc
+)
+
+add_dependencies(
+ external_ispc
+ ll
+ external_clang
+)
+
+if(WIN32)
+ add_dependencies(
+ external_ispc
+ external_flexbison
+ )
+endif()
+
diff --git a/build_files/build_environment/cmake/openimagedenoise.cmake b/build_files/build_environment/cmake/openimagedenoise.cmake
index 1332a38fea6..65f12199952 100644
--- a/build_files/build_environment/cmake/openimagedenoise.cmake
+++ b/build_files/build_environment/cmake/openimagedenoise.cmake
@@ -18,26 +18,41 @@
set(OIDN_EXTRA_ARGS
- -DWITH_EXAMPLE=OFF
- -DWITH_TEST=OFF
+ -DOIDN_APPS=OFF
-DTBB_ROOT=${LIBDIR}/tbb
-DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
-DOIDN_STATIC_LIB=ON
+ -DOIDN_STATIC_RUNTIME=OFF
+ -DISPC_EXECUTABLE=${LIBDIR}/ispc/bin/ispc
)
+if(WIN32)
+ set(OIDN_EXTRA_ARGS
+ ${OIDN_EXTRA_ARGS}
+ -DTBB_DEBUG_LIBRARY=${LIBDIR}/tbb/lib/tbb.lib
+ -DTBB_DEBUG_LIBRARY_MALLOC=${LIBDIR}/tbb/lib/tbbmalloc.lib
+ )
+else()
+ set(OIDN_EXTRA_ARGS
+ ${OIDN_EXTRA_ARGS}
+ -Dtbb_LIBRARY_RELEASE=${LIBDIR}/tbb/lib/tbb_static.a
+ -Dtbbmalloc_LIBRARY_RELEASE=${LIBDIR}/tbb/lib/tbbmalloc_static.a
+ )
+endif()
+
ExternalProject_Add(external_openimagedenoise
URL ${OIDN_URI}
DOWNLOAD_DIR ${DOWNLOAD_DIR}
URL_HASH MD5=${OIDN_HASH}
PREFIX ${BUILD_DIR}/openimagedenoise
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimagedenoise ${DEFAULT_CMAKE_FLAGS} ${OIDN_EXTRA_ARGS}
- PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/openimagedenoise/src/external_openimagedenoise < ${PATCH_DIR}/openimagedenoise.diff
INSTALL_DIR ${LIBDIR}/openimagedenoise
)
add_dependencies(
external_openimagedenoise
external_tbb
+ external_ispc
)
if(WIN32)
@@ -46,7 +61,7 @@ if(WIN32)
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openimagedenoise/include ${HARVEST_TARGET}/openimagedenoise/include
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/openimagedenoise.lib ${HARVEST_TARGET}/openimagedenoise/lib/openimagedenoise.lib
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/common.lib ${HARVEST_TARGET}/openimagedenoise/lib/common.lib
- COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/mkldnn.lib ${HARVEST_TARGET}/openimagedenoise/lib/mkldnn.lib
+ COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/dnnl.lib ${HARVEST_TARGET}/openimagedenoise/lib/dnnl.lib
DEPENDEES install
)
endif()
@@ -54,7 +69,7 @@ if(WIN32)
ExternalProject_Add_Step(external_openimagedenoise after_install
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/openimagedenoise.lib ${HARVEST_TARGET}/openimagedenoise/lib/openimagedenoise_d.lib
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/common.lib ${HARVEST_TARGET}/openimagedenoise/lib/common_d.lib
- COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/mkldnn.lib ${HARVEST_TARGET}/openimagedenoise/lib/mkldnn_d.lib
+ COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/dnnl.lib ${HARVEST_TARGET}/openimagedenoise/lib/dnnl_d.lib
DEPENDEES install
)
endif()
diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake
index ed82f1fd9ee..4b973067020 100644
--- a/build_files/build_environment/cmake/options.cmake
+++ b/build_files/build_environment/cmake/options.cmake
@@ -17,7 +17,7 @@
# ***** END GPL LICENSE BLOCK *****
if(WIN32)
- option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/lapack/fftw3 by installing mingw64" ON)
+ 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)
set(MAKE_THREADS 1 CACHE STRING "Number of threads to run make with")
@@ -45,11 +45,7 @@ message("PATCH_DIR = ${PATCH_DIR}")
message("BUILD_DIR = ${BUILD_DIR}")
if(WIN32)
- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
- set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/patch.exe)
- else()
- set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/patch.exe)
- endif()
+ set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/patch.exe)
set(LIBEXT ".lib")
set(LIBPREFIX "")
@@ -82,17 +78,10 @@ if(WIN32)
set(PLATFORM_CXX_FLAGS)
set(PLATFORM_CMAKE_FLAGS)
- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
- set(MINGW_PATH ${DOWNLOAD_DIR}/mingw/mingw64)
- set(MINGW_SHELL ming64sh.cmd)
- set(PERL_SHELL ${DOWNLOAD_DIR}/perl/portableshell.bat)
- set(MINGW_HOST x86_64-w64-mingw32)
- else()
- set(MINGW_PATH ${DOWNLOAD_DIR}/mingw/mingw32)
- set(MINGW_SHELL ming32sh.cmd)
- set(PERL_SHELL ${DOWNLOAD_DIR}/perl32/portableshell.bat)
- set(MINGW_HOST i686-w64-mingw32)
- endif()
+ set(MINGW_PATH ${DOWNLOAD_DIR}/mingw/mingw64)
+ set(MINGW_SHELL ming64sh.cmd)
+ set(PERL_SHELL ${DOWNLOAD_DIR}/perl/portableshell.bat)
+ set(MINGW_HOST x86_64-w64-mingw32)
set(CONFIGURE_ENV
cd ${MINGW_PATH} &&
diff --git a/build_files/build_environment/cmake/osl.cmake b/build_files/build_environment/cmake/osl.cmake
index 3532eec144e..db70b2937b8 100644
--- a/build_files/build_environment/cmake/osl.cmake
+++ b/build_files/build_environment/cmake/osl.cmake
@@ -75,6 +75,7 @@ set(OSL_EXTRA_ARGS
-DUSE_LLVM_BITCODE=OFF
-DUSE_PARTIO=OFF
-DUSE_QT=OFF
+ -DINSTALL_DOCS=OFF
${OSL_SIMD_FLAGS}
-DPARTIO_LIBRARIES=
)
diff --git a/build_files/build_environment/cmake/setup_mingw32.cmake b/build_files/build_environment/cmake/setup_mingw32.cmake
deleted file mode 100644
index c9fbe301ac7..00000000000
--- a/build_files/build_environment/cmake/setup_mingw32.cmake
+++ /dev/null
@@ -1,227 +0,0 @@
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-####################################################################################################################
-# Mingw32 Builds
-####################################################################################################################
-# This installs mingw32+msys to compile ffmpeg/iconv/libsndfile/lapack/fftw3
-####################################################################################################################
-
-message("LIBDIR = ${LIBDIR}")
-macro(cmake_to_msys_path MsysPath ResultingPath)
- string(REPLACE ":" "" TmpPath "${MsysPath}")
- string(SUBSTRING ${TmpPath} 0 1 Drive)
- string(SUBSTRING ${TmpPath} 1 255 PathPart)
- string(TOLOWER ${Drive} LowerDrive)
- string(CONCAT ${ResultingPath} "/" ${LowerDrive} ${PathPart})
-endmacro()
-cmake_to_msys_path(${LIBDIR} mingw_LIBDIR)
-message("mingw_LIBDIR = ${mingw_LIBDIR}")
-
-message("Checking for mingw32")
-# download mingw32
-if(NOT EXISTS "${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z")
- message("Downloading mingw32")
- file(DOWNLOAD "https://astuteinternet.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.4/threads-win32/sjlj/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z" "${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z")
-endif()
-
-# make mingw root directory
-if(NOT EXISTS "${DOWNLOAD_DIR}/mingw")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/mingw
- WORKING_DIRECTORY ${DOWNLOAD_DIR}
- )
-endif()
-
-# extract mingw32
-if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/ming32sh.cmd") AND (EXISTS "${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z"))
- message("Extracting mingw32")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z
- WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw
- )
-endif()
-
-message("Checking for pkg-config")
-if(NOT EXISTS "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip")
- message("Downloading pkg-config")
- file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/pkgconfiglite/0.28-1/pkg-config-lite-0.28-1_bin-win32.zip" "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip")
-endif()
-
-# extract pkgconfig
-if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/pkg-config.exe") AND (EXISTS "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip"))
- message("Extracting pkg-config")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip"
- WORKING_DIRECTORY ${DOWNLOAD_DIR}/
- )
-
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1/bin/pkg-config.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/pkg-config.exe"
- )
-
-endif()
-
-message("Checking for nasm")
-if(NOT EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip")
- message("Downloading nasm")
- file(DOWNLOAD "http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/win32/nasm-2.13.02-win32.zip" "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip")
-endif()
-
-# extract nasm
-if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe") AND (EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip"))
- message("Extracting nasm")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip"
- WORKING_DIRECTORY ${DOWNLOAD_DIR}/
- )
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/nasm-2.13.02/nasm.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe"
- )
-
-endif()
-SET(NASM_PATH ${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe)
-message("Checking for mingwGet")
-if(NOT EXISTS "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip")
- message("Downloading mingw-get")
- file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip" "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip")
-endif()
-
-# extract mingw_get
-if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get.exe") AND (EXISTS "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip"))
- message("Extracting mingw-get")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip"
- WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/
- )
-endif()
-
-if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/make.exe"))
- message("Installing MSYS")
- execute_process(
- COMMAND ${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get install msys msys-patch
- WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/bin/
- )
-endif()
-
-if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/mktemp.exe"))
- message("Installing mktemp")
- execute_process(
- COMMAND ${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get install msys msys-mktemp
- WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/bin/
- )
-endif()
-
-
-message("Checking for CoreUtils")
-# download old core_utils for pr.exe (ffmpeg needs it to build)
-if(NOT EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2")
- message("Downloading CoreUtils 5.97")
- file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/MSYS/Base/msys-core/_obsolete/coreutils-5.97-MSYS-1.0.11-2/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2" "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2")
-endif()
-
-if((EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/pr.exe"))
- message("Installing pr from CoreUtils 5.97")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/tmp_coreutils
- WORKING_DIRECTORY ${DOWNLOAD_DIR}
- )
-
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2
- WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/
- )
-
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E copy ${DOWNLOAD_DIR}/tmp_coreutils/coreutils-5.97/bin/pr.exe "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/pr.exe"
- WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/
- )
-endif()
-
-if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/ming32sh.cmd")
- message("Installing ming32sh.cmd")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/ming32sh.cmd ${DOWNLOAD_DIR}/mingw/mingw32/ming32sh.cmd
- )
-endif()
-
-message("Checking for perl")
-# download perl for libvpx
-if(NOT EXISTS "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip")
- message("Downloading perl")
- file(DOWNLOAD "http://strawberryperl.com/download/5.22.1.3/strawberry-perl-5.22.1.3-32bit-portable.zip" "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip")
-endif()
-
-# make perl root directory
-if(NOT EXISTS "${DOWNLOAD_DIR}/perl32")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/perl32
- WORKING_DIRECTORY ${DOWNLOAD_DIR}
- )
-endif()
-
-# extract perl
-if((NOT EXISTS "${DOWNLOAD_DIR}/perl32/portable.perl") AND (EXISTS "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip"))
- message("Extracting perl")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip
- WORKING_DIRECTORY ${DOWNLOAD_DIR}/perl32
- )
-endif()
-
-# get yasm for vpx
-if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/yasm.exe")
- message("Downloading yasm")
- file(DOWNLOAD "http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win32.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/yasm.exe")
-endif()
-
-message("checking i686-w64-mingw32-strings")
-# copy strings.exe to i686-w64-mingw32-strings for x264
-if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strings.exe")
- message("fixing i686-w64-mingw32-strings.exe")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/strings.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strings.exe"
- )
-endif()
-
-message("checking i686-w64-mingw32-ar.exe")
-# copy ar.exe to i686-w64-mingw32-ar.exe for x264
-if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ar.exe")
- message("fixing i686-w64-mingw32-ar.exe")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ar.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ar.exe"
- )
-endif()
-
-message("checking i686-w64-mingw32-strip.exe")
-# copy strip.exe to i686-w64-mingw32-strip.exe for x264
-if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strip.exe")
- message("fixing i686-w64-mingw32-strip.exe")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/strip.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strip.exe"
- )
-endif()
-
-message("checking i686-w64-mingw32-ranlib.exe")
-# copy ranlib.exe to i686-w64-mingw32-ranlib.exe for x264
-if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe")
- message("fixing i686-w64-mingw32-ranlib.exe")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe"
- )
-endif()
diff --git a/build_files/build_environment/cmake/setup_mingw64.cmake b/build_files/build_environment/cmake/setup_mingw64.cmake
index 5ac9722d23d..e370da049d5 100644
--- a/build_files/build_environment/cmake/setup_mingw64.cmake
+++ b/build_files/build_environment/cmake/setup_mingw64.cmake
@@ -19,7 +19,7 @@
####################################################################################################################
# Mingw64 Builds
####################################################################################################################
-# This installs mingw64+msys to compile ffmpeg/iconv/libsndfile/lapack/fftw3
+# This installs mingw64+msys to compile ffmpeg/iconv/libsndfile/fftw3
####################################################################################################################
message("LIBDIR = ${LIBDIR}")
@@ -128,6 +128,14 @@ if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get.exe") AND (NOT EXISTS "$
)
endif()
+if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/m4.exe"))
+ message("Installing m4")
+ execute_process(
+ COMMAND ${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get install msys msys-m4
+ WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/bin/
+ )
+endif()
+
message("Checking for CoreUtils")
# download old core_utils for pr.exe (ffmpeg needs it to build)
if(NOT EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2")
diff --git a/build_files/build_environment/cmake/ssl.conf b/build_files/build_environment/cmake/ssl.conf
index 91f4357f8d8..818e5a625ab 100644
--- a/build_files/build_environment/cmake/ssl.conf
+++ b/build_files/build_environment/cmake/ssl.conf
@@ -1,4 +1,4 @@
-%targets = (
+my %targets = (
"blender-linux-x86" => {
inherit_from => [ "linux-x86" ],
diff --git a/build_files/build_environment/cmake/tbb.cmake b/build_files/build_environment/cmake/tbb.cmake
index 1cb852fb5d1..82cd9291ddf 100644
--- a/build_files/build_environment/cmake/tbb.cmake
+++ b/build_files/build_environment/cmake/tbb.cmake
@@ -50,6 +50,13 @@ ExternalProject_Add(external_tbb
if(WIN32)
if(BUILD_MODE STREQUAL Release)
ExternalProject_Add_Step(external_tbb after_install
+ # findtbb.cmake in some deps *NEEDS* to find tbb_debug.lib even if they are not going to use it
+ # to make that test pass, we place a copy with the right name in the lib folder.
+ COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${HARVEST_TARGET}/tbb/lib/tbb_debug.lib
+ COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_debug.lib
+ COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.dll ${HARVEST_TARGET}/tbb/lib/tbb_debug.dll
+ COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.dll ${HARVEST_TARGET}/tbb/lib/tbbmalloc_debug.dll
+ # Normal collection of build artifacts
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${HARVEST_TARGET}/tbb/lib/tbb.lib
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.dll ${HARVEST_TARGET}/tbb/lib/tbb.dll
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc.lib
diff --git a/build_files/build_environment/cmake/usd.cmake b/build_files/build_environment/cmake/usd.cmake
index c98a9cae959..5fa1872cabc 100644
--- a/build_files/build_environment/cmake/usd.cmake
+++ b/build_files/build_environment/cmake/usd.cmake
@@ -27,6 +27,9 @@ set(USD_EXTRA_ARGS
-DTBB_INCLUDE_DIRS=${LIBDIR}/tbb/include
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
-DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
+ # USD wants the tbb debug lib set even when you are doing a release build
+ # Otherwise it will error out during the cmake configure phase.
+ -DTBB_LIBRARIES_DEBUG=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
# This is a preventative measure that avoids possible conflicts when add-ons
# try to load another USD library into the same process space.
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index 4882ca2a724..5ec5553079c 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -212,10 +212,6 @@ set(ICONV_VERSION 1.16)
set(ICONV_URI http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz)
set(ICONV_HASH 7d2a800b952942bb2880efb00cfd524c)
-set(LAPACK_VERSION 3.6.0)
-set(LAPACK_URI http://www.netlib.org/lapack/lapack-${LAPACK_VERSION}.tgz)
-set(LAPACK_HASH f2f6c67134e851fe189bb3ca1fbb5101)
-
set(SNDFILE_VERSION 1.0.28)
set(SNDFILE_URI http://www.mega-nerd.com/libsndfile/files/libsndfile-${SNDFILE_VERSION}.tar.gz)
set(SNDFILE_HASH 646b5f98ce89ac60cdb060fcd398247c)
@@ -236,13 +232,13 @@ set(SPNAV_VERSION 0.2.3)
set(SPNAV_URI http://downloads.sourceforge.net/project/spacenav/spacenav%20library%20%28SDK%29/libspnav%20${SPNAV_VERSION}/libspnav-${SPNAV_VERSION}.tar.gz)
set(SPNAV_HASH 44d840540d53326d4a119c0f1aa7bf0a)
-set(JEMALLOC_VERSION 5.0.1)
+set(JEMALLOC_VERSION 5.2.1)
set(JEMALLOC_URI https://github.com/jemalloc/jemalloc/releases/download/${JEMALLOC_VERSION}/jemalloc-${JEMALLOC_VERSION}.tar.bz2)
-set(JEMALLOC_HASH 507f7b6b882d868730d644510491d18f)
+set(JEMALLOC_HASH 3d41fbf006e6ebffd489bdb304d009ae)
-set(XML2_VERSION 2.9.4)
+set(XML2_VERSION 2.9.10)
set(XML2_URI http://xmlsoft.org/sources/libxml2-${XML2_VERSION}.tar.gz)
-set(XML2_HASH ae249165c173b1ff386ee8ad676815f5)
+set(XML2_HASH 10942a1dc23137a8aa07f0639cbfece5)
set(TINYXML_VERSION 2_6_2)
set(TINYXML_VERSION_DOTS 2.6.2)
@@ -269,23 +265,23 @@ set(FLEXBISON_HASH d87a3938194520d904013abef3df10ce)
# NOTE: bzip.org domain does no longer belong to BZip 2 project, so we download
# sources from Debian packaging.
-set(BZIP2_VERSION 1.0.6)
-set(BZIP2_URI http://http.debian.net/debian/pool/main/b/bzip2/bzip2_${BZIP2_VERSION}.orig.tar.bz2)
-set(BZIP2_HASH d70a9ccd8bdf47e302d96c69fecd54925f45d9c7b966bb4ef5f56b770960afa7)
+set(BZIP2_VERSION 1.0.8)
+set(BZIP2_URI http://http.debian.net/debian/pool/main/b/bzip2/bzip2_${BZIP2_VERSION}.orig.tar.gz)
+set(BZIP2_HASH ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269)
-set(FFI_VERSION 3.2.1)
+set(FFI_VERSION 3.3)
set(FFI_URI https://sourceware.org/pub/libffi/libffi-${FFI_VERSION}.tar.gz)
-set(FFI_HASH d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37)
+set(FFI_HASH 72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056)
-set(LZMA_VERSION 5.2.4)
+set(LZMA_VERSION 5.2.5)
set(LZMA_URI https://tukaani.org/xz/xz-${LZMA_VERSION}.tar.bz2)
-set(LZMA_HASH 3313fd2a95f43d88e44264e6b015e7d03053e681860b0d5d3f9baca79c57b7bf)
+set(LZMA_HASH 5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df)
-set(SSL_VERSION 1.1.0i)
+set(SSL_VERSION 1.1.1g)
set(SSL_URI https://www.openssl.org/source/openssl-${SSL_VERSION}.tar.gz)
-set(SSL_HASH ebbfc844a8c8cc0ea5dc10b86c9ce97f401837f3fa08c17b2cdadc118253cf99)
+set(SSL_HASH ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46)
-set(SQLITE_VERSION 3.24.0)
+set(SQLITE_VERSION 3.31.1)
set(SQLITE_URI https://www.sqlite.org/2018/sqlite-src-3240000.zip)
set(SQLITE_HASH fb558c49ee21a837713c4f1e7e413309aabdd9c7)
@@ -293,13 +289,13 @@ set(EMBREE_VERSION 3.10.0)
set(EMBREE_URI https://github.com/embree/embree/archive/v${EMBREE_VERSION}.zip)
set(EMBREE_HASH 4bbe29e7eaa46417efc75fc5f1e8eb87)
-set(USD_VERSION 20.02)
+set(USD_VERSION 20.05)
set(USD_URI https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz)
-set(USD_HASH 8901815f01469a7f4496bd60315a9d10)
+set(USD_HASH 6d679e739e7f65725d9c029e37dda9fc)
-set(OIDN_VERSION 1.0.0)
-set(OIDN_URI https://github.com/OpenImageDenoise/oidn/releases/download/v${OIDN_VERSION}/oidn-${OIDN_VERSION}.src.zip)
-set(OIDN_HASH 19fe67b0164e8f020ac8a4f520defe60)
+set(OIDN_VERSION 1.2.1)
+set(OIDN_URI https://github.com/OpenImageDenoise/oidn/releases/download/v${OIDN_VERSION}/oidn-${OIDN_VERSION}.src.tar.gz)
+set(OIDN_HASH cbebc1a25eb6de62af3a59e943063608)
set(LIBGLU_VERSION 9.0.1)
set(LIBGLU_URI ftp://ftp.freedesktop.org/pub/mesa/glu/glu-${LIBGLU_VERSION}.tar.xz)
@@ -312,3 +308,6 @@ set(MESA_HASH d60828056d77bfdbae0970f9b15fb1be)
set(XR_OPENXR_SDK_VERSION 1.0.8)
set(XR_OPENXR_SDK_URI https://github.com/KhronosGroup/OpenXR-SDK/archive/release-${XR_OPENXR_SDK_VERSION}.tar.gz)
set(XR_OPENXR_SDK_HASH c6de63d2e0f9029aa58dfa97cad8ce07)
+set(ISPC_VERSION v1.13.0)
+set(ISPC_URI https://github.com/ispc/ispc/archive/${ISPC_VERSION}.tar.gz)
+set(ISPC_HASH 4bf5e8d0020c4b9980faa702c1a6f25f)
diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh
index b3d300565e2..49d7b8209ee 100755
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@ -459,7 +459,7 @@ ALEMBIC_FORCE_BUILD=false
ALEMBIC_FORCE_REBUILD=false
ALEMBIC_SKIP=false
-USD_VERSION="20.02"
+USD_VERSION="20.05"
USD_FORCE_BUILD=false
USD_FORCE_REBUILD=false
USD_SKIP=false
diff --git a/build_files/build_environment/patches/cmakelists_hidapi.txt b/build_files/build_environment/patches/cmakelists_hidapi.txt
deleted file mode 100644
index 239b9d88b16..00000000000
--- a/build_files/build_environment/patches/cmakelists_hidapi.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-project(hidapi)
-
-set(SRC_FILES
- windows/hid.c
-)
-
-set(HEADER_FILES
- hidapi/hidapi.h
-)
-include_directories(hidapi)
-add_definitions(-DHID_API_STATIC)
-add_library(hidapi STATIC ${SRC_FILES} ${HEADER_FILES})
-
-install(TARGETS hidapi DESTINATION lib)
-
-INSTALL(FILES hidapi/hidapi.h
- DESTINATION "include"
- )
-
diff --git a/build_files/build_environment/patches/hidapi.diff b/build_files/build_environment/patches/hidapi.diff
deleted file mode 100644
index 720a8ae5ae9..00000000000
--- a/build_files/build_environment/patches/hidapi.diff
+++ /dev/null
@@ -1,15 +0,0 @@
---- hidapi/hidapi.h 2011-10-25 20:58:16 -0600
-+++ hidapi/hidapi.h 2016-11-01 12:05:58 -0600
-@@ -30,7 +30,11 @@
- #include <wchar.h>
-
- #ifdef _WIN32
-- #define HID_API_EXPORT __declspec(dllexport)
-+ #ifdef HID_API_STATIC
-+ #define HID_API_EXPORT
-+ #else
-+ #define HID_API_EXPORT __declspec(dllexport)
-+ #endif
- #define HID_API_CALL
- #else
- #define HID_API_EXPORT /**< API export macro */
diff --git a/build_files/build_environment/patches/ispc.diff b/build_files/build_environment/patches/ispc.diff
new file mode 100644
index 00000000000..710bfc7a448
--- /dev/null
+++ b/build_files/build_environment/patches/ispc.diff
@@ -0,0 +1,36 @@
+diff -Naur external_ispc/CMakeLists.txt external_ispc_fixed/CMakeLists.txt
+--- external_ispc/CMakeLists.txt 2020-04-23 17:29:06 -0600
++++ external_ispc_fixed/CMakeLists.txt 2020-05-05 09:01:09 -0600
+@@ -389,7 +389,7 @@
+
+ # Link against Clang libraries
+ foreach(clangLib ${CLANG_LIBRARY_LIST})
+- find_library(${clangLib}Path NAMES ${clangLib} HINTS ${LLVM_LIBRARY_DIRS})
++ find_library(${clangLib}Path NAMES ${clangLib} HINTS ${LLVM_LIBRARY_DIRS} ${CLANG_LIBRARY_DIR})
+ list(APPEND CLANG_LIBRARY_FULL_PATH_LIST ${${clangLib}Path})
+ endforeach()
+ target_link_libraries(${PROJECT_NAME} ${CLANG_LIBRARY_FULL_PATH_LIST})
+diff -Naur orig/CMakeLists.txt external_ispc/CMakeLists.txt
+--- orig/CMakeLists.txt 2020-05-05 09:19:11 -0600
++++ external_ispc/CMakeLists.txt 2020-05-05 09:26:44 -0600
+@@ -333,7 +333,7 @@
+
+ # Include directories
+ target_include_directories(${PROJECT_NAME} PRIVATE
+- ${LLVM_INCLUDE_DIRS}
++ ${LLVM_INCLUDE_DIRS} ${CLANG_INCLUDE_DIRS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+ ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
+ # Compile options
+diff -Naur orig/cmake/GenerateBuiltins.cmake.txt external_ispc/cmake/GenerateBuiltins.cmake.txt
++++ orig/cmake/GenerateBuiltins.cmake 2020-05-25 13:32:40.830803821 +0200
++++ external_ispc/cmake/GenerateBuiltins.cmake 2020-05-25 13:32:40.830803821 +0200
+@@ -97,6 +97,8 @@
+
+ if ("${bit}" STREQUAL "32" AND ${arch} STREQUAL "x86")
+ set(target_arch "i386")
++ # Blender: disable 32bit due to build issues on Linux and being unnecessary.
++ set(SKIP ON)
+ elseif ("${bit}" STREQUAL "64" AND ${arch} STREQUAL "x86")
+ set(target_arch "x86_64")
+ elseif ("${bit}" STREQUAL "32" AND ${arch} STREQUAL "arm")
diff --git a/build_files/build_environment/patches/openimagedenoise.diff b/build_files/build_environment/patches/openimagedenoise.diff
deleted file mode 100644
index 7bfc3aa2eba..00000000000
--- a/build_files/build_environment/patches/openimagedenoise.diff
+++ /dev/null
@@ -1,120 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 70ec895..e616b63 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -178,7 +178,9 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY SOVERSION "0")
- ## Open Image Denoise examples
- ## ----------------------------------------------------------------------------
-
--add_subdirectory(examples)
-+if(WITH_EXAMPLE)
-+ add_subdirectory(examples)
-+endif()
-
- ## ----------------------------------------------------------------------------
- ## Open Image Denoise install and packaging
-Submodule mkl-dnn contains modified content
-diff --git a/mkl-dnn/cmake/TBB.cmake b/mkl-dnn/cmake/TBB.cmake
-index 0711e699..c14210b6 100644
---- a/mkl-dnn/cmake/TBB.cmake
-+++ b/mkl-dnn/cmake/TBB.cmake
-@@ -138,13 +138,13 @@ else()
- set(TBB_LIBRARY_MALLOC TBB_LIBRARY_MALLOC-NOTFOUND)
- if(APPLE)
- find_path(TBB_INCLUDE_DIR tbb/task_scheduler_init.h PATHS ${TBB_ROOT}/include NO_DEFAULT_PATH)
-- find_library(TBB_LIBRARY tbb PATHS ${TBB_ROOT}/lib NO_DEFAULT_PATH)
-- find_library(TBB_LIBRARY_MALLOC tbbmalloc PATHS ${TBB_ROOT}/lib NO_DEFAULT_PATH)
-+ find_library(TBB_LIBRARY tbb_static PATHS ${TBB_ROOT}/lib NO_DEFAULT_PATH)
-+ find_library(TBB_LIBRARY_MALLOC tbbmalloc_static PATHS ${TBB_ROOT}/lib NO_DEFAULT_PATH)
- else()
- find_path(TBB_INCLUDE_DIR tbb/task_scheduler_init.h PATHS ${TBB_ROOT}/include NO_DEFAULT_PATH)
- set(TBB_HINTS HINTS ${TBB_ROOT}/lib/intel64/gcc4.4 ${TBB_ROOT}/lib ${TBB_ROOT}/lib64 PATHS /usr/libx86_64-linux-gnu/)
-- find_library(TBB_LIBRARY tbb ${TBB_HINTS})
-- find_library(TBB_LIBRARY_MALLOC tbbmalloc ${TBB_HINTS})
-+ find_library(TBB_LIBRARY tbb_static ${TBB_HINTS})
-+ find_library(TBB_LIBRARY_MALLOC tbbmalloc_static ${TBB_HINTS})
- endif()
- endif()
-
-diff '--ignore-matching-lines=:' -ur '--exclude=*.svn*' -u -r
---- a/cmake/install.cmake 2019-08-12 18:02:20.794402575 +0200
-+++ b/cmake/install.cmake 2019-08-12 18:06:07.470045703 +0200
-@@ -18,6 +18,13 @@
- ## Install library
- ## ----------------------------------------------------------------------------
-
-+if(UNIX)
-+install(FILES
-+ ${CMAKE_BINARY_DIR}/libOpenImageDenoise.a
-+ ${CMAKE_BINARY_DIR}/libmkldnn.a
-+ ${CMAKE_BINARY_DIR}/libcommon.a
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+else()
- install(TARGETS ${PROJECT_NAME}
- EXPORT
- ${PROJECT_NAME}_Export
-@@ -38,6 +45,7 @@
- DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel
- )
- endif()
-+endif()
-
- ## ----------------------------------------------------------------------------
- ## Install headers
-@@ -78,6 +86,7 @@
- ## Install CMake configuration files
- ## ----------------------------------------------------------------------------
-
-+if(NOT UNIX)
- install(EXPORT ${PROJECT_NAME}_Export
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
- #NAMESPACE ${PROJECT_NAME}::
-@@ -92,3 +101,4 @@
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
- COMPONENT devel
- )
-+endif()
-diff '--ignore-matching-lines=:' -ur '--exclude=*.svn*' -u -r
---- a/CMakeLists.txt 2019-08-12 14:22:00.974078598 +0200
-+++ b/CMakeLists.txt 2019-08-12 18:05:05.949057375 +0200
-@@ -14,7 +14,11 @@
- ## limitations under the License. ##
- ## ======================================================================== ##
-
--cmake_minimum_required(VERSION 3.1)
-+if(UNIX)
-+ cmake_minimum_required(VERSION 3.1)
-+else()
-+ cmake_minimum_required(VERSION 3.13)
-+endif()
-
- set(OIDN_VERSION_MAJOR 1)
- set(OIDN_VERSION_MINOR 0)
-@@ -32,13 +36,8 @@
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
-
- # Build as shared or static library
--if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.13.0")
-- option(OIDN_STATIC_LIB "Build Open Image Denoise as a static library.")
-- mark_as_advanced(CLEAR OIDN_STATIC_LIB)
--else()
-- set(OIDN_STATIC_LIB OFF CACHE BOOL "Build Open Image Denoise as a static library." FORCE)
-- mark_as_advanced(OIDN_STATIC_LIB)
--endif()
-+option(OIDN_STATIC_LIB "Build Open Image Denoise as a static library.")
-+mark_as_advanced(CLEAR OIDN_STATIC_LIB)
- if(OIDN_STATIC_LIB)
- set(OIDN_LIB_TYPE STATIC)
- else()
-diff -Naur orig/core/api.cpp external_openimagedenoise/core/api.cpp
---- orig/core/api.cpp 2019-07-19 08:37:04 -0600
-+++ external_openimagedenoise/core/api.cpp 2020-01-21 15:10:56 -0700
-@@ -15,7 +15,7 @@
- // ======================================================================== //
-
- #ifdef _WIN32
--# define OIDN_API extern "C" __declspec(dllexport)
-+# define OIDN_API extern "C"
- #else
- # define OIDN_API extern "C" __attribute__ ((visibility ("default")))
- #endif
diff --git a/build_files/build_environment/patches/usd.diff b/build_files/build_environment/patches/usd.diff
index adee3d2e458..8f457271a5c 100644
--- a/build_files/build_environment/patches/usd.diff
+++ b/build_files/build_environment/patches/usd.diff
@@ -11,10 +11,10 @@ diff -x .git -ur usd.orig/cmake/defaults/Packages.cmake external_usd/cmake/defau
# --math
diff -x .git -ur usd.orig/pxr/base/plug/initConfig.cpp external_usd/pxr/base/plug/initConfig.cpp
---- usd.orig/pxr/base/plug/initConfig.cpp 2019-10-24 22:39:53.000000000 +0200
-+++ external_usd/pxr/base/plug/initConfig.cpp 2019-12-11 11:00:37.643323127 +0100
-@@ -69,8 +69,38 @@
-
+--- usd.orig/pxr/base/plug/initConfig.cpp.orig 2020-06-12 17:20:07.478199779 +0200
++++ external_usd/pxr/base/plug/initConfig.cpp 2020-06-12 17:25:28.648588552 +0200
+@@ -69,10 +69,40 @@
+
ARCH_CONSTRUCTOR(Plug_InitConfig, 2, void)
{
+ /* The contents of this constructor have been moved to usd_initialise_plugin_path(...) */
@@ -39,7 +39,9 @@ diff -x .git -ur usd.orig/pxr/base/plug/initConfig.cpp external_usd/pxr/base/plu
+usd_initialise_plugin_path(const char *datafiles_usd_path)
+{
std::vector<std::string> result;
-
+
+ std::vector<std::string> debugMessages;
+
+ // Add Blender-specific paths. They MUST end in a slash, or symlinks will not be treated as directory.
+ if (datafiles_usd_path != NULL && datafiles_usd_path[0] != '\0') {
+ std::string datafiles_usd_path_str(datafiles_usd_path);
@@ -49,14 +51,14 @@ diff -x .git -ur usd.orig/pxr/base/plug/initConfig.cpp external_usd/pxr/base/plu
+ result.push_back(datafiles_usd_path_str);
+ }
+
- // Determine the absolute path to the Plug shared library.
- // Any relative paths specified in the plugin search path will be
- // anchored to this directory, to allow for relocatability.
-@@ -94,9 +124,24 @@
- _AppendPathList(&result, installLocation, sharedLibPath);
+ // Determine the absolute path to the Plug shared library. Any relative
+ // paths specified in the plugin search path will be anchored to this
+ // directory, to allow for relocatability. Note that this can fail when pxr
+@@ -114,9 +144,24 @@
+ _AppendPathList(&result, installLocation, binaryPath);
#endif // PXR_INSTALL_LOCATION
-
-- Plug_SetPaths(result);
+
+- Plug_SetPaths(result, debugMessages);
-}
+ if (!TfGetenv("PXR_PATH_DEBUG").empty()) {
+ printf("USD Plugin paths: (%zu in total):\n", result.size());
@@ -64,10 +66,10 @@ diff -x .git -ur usd.orig/pxr/base/plug/initConfig.cpp external_usd/pxr/base/plu
+ printf(" %s\n", path.c_str());
+ }
+ }
-
-+ Plug_SetPaths(result);
+
++ Plug_SetPaths(result, debugMessages);
}
-
+
PXR_NAMESPACE_CLOSE_SCOPE
+
+/* Workaround to make it possible to pass a path at runtime to USD. */
@@ -79,18 +81,6 @@ diff -x .git -ur usd.orig/pxr/base/plug/initConfig.cpp external_usd/pxr/base/plu
+ PXR_NS::usd_initialise_plugin_path(datafiles_usd_path);
+}
+}
-diff -Naur external_usd_orig/pxr/base/tf/preprocessorUtils.h external_usd/pxr/base/tf/preprocessorUtils.h
---- external_usd_orig/pxr/base/tf/preprocessorUtils.h 2019-10-24 14:39:53 -0600
-+++ external_usd/pxr/base/tf/preprocessorUtils.h 2020-01-14 09:30:18 -0700
-@@ -189,7 +189,7 @@
- /// Exapnds to 1 if the argument is a tuple, and 0 otherwise.
- /// \ingroup group_tf_Preprocessor
- /// \hideinitializer
--#if defined(ARCH_OS_WINDOWS)
-+#if defined(ARCH_COMPILER_MSVC)
- #define TF_PP_IS_TUPLE(sequence) \
- BOOST_VMD_IS_TUPLE(sequence)
- #else
diff -Naur external_usd_base/cmake/macros/Public.cmake external_usd/cmake/macros/Public.cmake
--- external_usd_base/cmake/macros/Public.cmake 2019-10-24 14:39:53 -0600
+++ external_usd/cmake/macros/Public.cmake 2020-01-11 13:33:29 -0700
diff --git a/build_files/buildbot/README.md b/build_files/buildbot/README.md
index cf129f83b39..06733c9a42d 100644
--- a/build_files/buildbot/README.md
+++ b/build_files/buildbot/README.md
@@ -8,7 +8,7 @@ Code signing is done as part of INSTALL target, which makes it possible to sign
files which are aimed into a bundle and coming from a non-signed source (such as
libraries SVN).
-This is achieved by specifying `slave_codesign.cmake` as a post-install script
+This is achieved by specifying `worker_codesign.cmake` as a post-install script
run by CMake. This CMake script simply involves an utility script written in
Python which takes care of an actual signing.
diff --git a/build_files/buildbot/buildbot_utils.py b/build_files/buildbot/buildbot_utils.py
index 39a00980cc8..e8adf5ba810 100644
--- a/build_files/buildbot/buildbot_utils.py
+++ b/build_files/buildbot/buildbot_utils.py
@@ -40,8 +40,8 @@ class Builder:
# Buildbot runs from build/ directory
self.blender_dir = os.path.abspath(os.path.join('..', 'blender.git'))
- self.build_dir = os.path.abspath(os.path.join('..', 'build', name))
- self.install_dir = os.path.abspath(os.path.join('..', 'install', name))
+ self.build_dir = os.path.abspath(os.path.join('..', 'build'))
+ self.install_dir = os.path.abspath(os.path.join('..', 'install'))
self.upload_dir = os.path.abspath(os.path.join('..', 'install'))
# Detect platform
diff --git a/build_files/buildbot/codesign/base_code_signer.py b/build_files/buildbot/codesign/base_code_signer.py
index 2f86531a4d0..dca771cdbaf 100644
--- a/build_files/buildbot/codesign/base_code_signer.py
+++ b/build_files/buildbot/codesign/base_code_signer.py
@@ -48,6 +48,7 @@ import shutil
import subprocess
import time
import tarfile
+import uuid
from pathlib import Path
from tempfile import TemporaryDirectory
@@ -121,21 +122,10 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
# Consider this an input of the code signing server.
unsigned_storage_dir: Path
- # Information about archive which contains files which are to be signed.
- #
- # This archive is created by the buildbot worked and acts as an input for
- # the code signing server.
- unsigned_archive_info: ArchiveWithIndicator
-
# Storage where signed files are stored.
# Consider this an output of the code signer server.
signed_storage_dir: Path
- # Information about archive which contains signed files.
- #
- # This archive is created by the code signing server.
- signed_archive_info: ArchiveWithIndicator
-
# Platform the code is currently executing on.
platform: util.Platform
@@ -146,50 +136,44 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
# Unsigned (signing server input) configuration.
self.unsigned_storage_dir = absolute_shared_storage_dir / 'unsigned'
- self.unsigned_archive_info = ArchiveWithIndicator(
- self.unsigned_storage_dir, 'unsigned_files.tar', 'ready.stamp')
# Signed (signing server output) configuration.
self.signed_storage_dir = absolute_shared_storage_dir / 'signed'
- self.signed_archive_info = ArchiveWithIndicator(
- self.signed_storage_dir, 'signed_files.tar', 'ready.stamp')
self.platform = util.get_current_platform()
- """
- General note on cleanup environment functions.
-
- It is expected that there is only one instance of the code signer server
- running for a given input/output directory, and that it serves a single
- buildbot worker.
- By its nature, a buildbot worker only produces one build at a time and
- never performs concurrent builds.
- This leads to a conclusion that when starting in a clean environment
- there shouldn't be any archives remaining from a previous build.
-
- However, it is possible to have various failure scenarios which might
- leave the environment in a non-clean state:
+ def cleanup_environment_for_builder(self) -> None:
+ # TODO(sergey): Revisit need of cleaning up the existing files.
+ # In practice it wasn't so helpful, and with multiple clients
+ # talking to the same server it becomes even mor etricky.
+ pass
- - Network hiccup which makes buildbot worker to stop current build
- and re-start it after connection to server is re-established.
+ def cleanup_environment_for_signing_server(self) -> None:
+ # TODO(sergey): Revisit need of cleaning up the existing files.
+ # In practice it wasn't so helpful, and with multiple clients
+ # talking to the same server it becomes even mor etricky.
+ pass
- Note, this could also happen during buildbot server maintenance.
+ def generate_request_id(self) -> str:
+ """
+ Generate an unique identifier for code signing request.
+ """
+ return str(uuid.uuid4())
- - Signing server might get restarted due to updates or other reasons.
+ def archive_info_for_request_id(
+ self, path: Path, request_id: str) -> ArchiveWithIndicator:
+ return ArchiveWithIndicator(
+ path, f'{request_id}.tar', f'{request_id}.ready')
- Requiring manual interaction in such cases is not something good to
- require, so here we simply assume that the system is used the way it is
- intended to and restore environment to a prestine clean state.
- """
+ def signed_archive_info_for_request_id(
+ self, request_id: str) -> ArchiveWithIndicator:
+ return self.archive_info_for_request_id(
+ self.signed_storage_dir, request_id)
- def cleanup_environment_for_builder(self) -> None:
- self.unsigned_archive_info.clean()
- self.signed_archive_info.clean()
-
- def cleanup_environment_for_signing_server(self) -> None:
- # Don't clear the requested to-be-signed archive since we might be
- # restarting signing machine while the buildbot is busy.
- self.signed_archive_info.clean()
+ def unsigned_archive_info_for_request_id(
+ self, request_id: str) -> ArchiveWithIndicator:
+ return self.archive_info_for_request_id(
+ self.unsigned_storage_dir, request_id)
############################################################################
# Buildbot worker side helpers.
@@ -232,7 +216,7 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
if self.check_file_is_to_be_signed(file)]
return files_to_be_signed
- def wait_for_signed_archive_or_die(self) -> None:
+ def wait_for_signed_archive_or_die(self, request_id) -> None:
"""
Wait until archive with signed files is available.
@@ -240,13 +224,19 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
is still no responce from the signing server the application will exit
with a non-zero exit code.
"""
+
+ signed_archive_info = self.signed_archive_info_for_request_id(
+ request_id)
+ unsigned_archive_info = self.unsigned_archive_info_for_request_id(
+ request_id)
+
timeout_in_seconds = self.config.TIMEOUT_IN_SECONDS
time_start = time.monotonic()
- while not self.signed_archive_info.is_ready():
+ while not signed_archive_info.is_ready():
time.sleep(1)
time_slept_in_seconds = time.monotonic() - time_start
if time_slept_in_seconds > timeout_in_seconds:
- self.unsigned_archive_info.clean()
+ unsigned_archive_info.clean()
raise SystemExit("Signing server didn't finish signing in "
f"{timeout_in_seconds} seconds, dying :(")
@@ -303,13 +293,19 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
return
logger_builder.info('Found %d files to sign.', len(files))
+ request_id = self.generate_request_id()
+ signed_archive_info = self.signed_archive_info_for_request_id(
+ request_id)
+ unsigned_archive_info = self.unsigned_archive_info_for_request_id(
+ request_id)
+
pack_files(files=files,
- archive_filepath=self.unsigned_archive_info.archive_filepath)
- self.unsigned_archive_info.tag_ready()
+ archive_filepath=unsigned_archive_info.archive_filepath)
+ unsigned_archive_info.tag_ready()
# Wait for the signing server to finish signing.
logger_builder.info('Waiting signing server to sign the files...')
- self.wait_for_signed_archive_or_die()
+ self.wait_for_signed_archive_or_die(request_id)
# Extract signed files from archive and move files to final location.
with TemporaryDirectory(prefix='blender-buildbot-') as temp_dir_str:
@@ -317,7 +313,7 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
logger_builder.info('Extracting signed files from archive...')
extract_files(
- archive_filepath=self.signed_archive_info.archive_filepath,
+ archive_filepath=signed_archive_info.archive_filepath,
extraction_dir=unpacked_signed_files_dir)
destination_dir = path
@@ -327,19 +323,44 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
unpacked_signed_files_dir, destination_dir)
logger_builder.info('Removing archive with signed files...')
- self.signed_archive_info.clean()
+ signed_archive_info.clean()
############################################################################
# Signing server side helpers.
- def wait_for_sign_request(self) -> None:
+ def wait_for_sign_request(self) -> str:
"""
Wait for the buildbot to request signing of an archive.
+
+ Returns an identifier of signing request.
"""
+
# TOOD(sergey): Support graceful shutdown on Ctrl-C.
- while not self.unsigned_archive_info.is_ready():
+
+ logger_server.info(
+ f'Waiting for a request directory {self.unsigned_storage_dir} to appear.')
+ while not self.unsigned_storage_dir.exists():
+ time.sleep(1)
+
+ logger_server.info(
+ 'Waiting for a READY indicator of any signing request.')
+ request_id = None
+ while request_id is None:
+ for file in self.unsigned_storage_dir.iterdir():
+ if file.suffix != '.ready':
+ continue
+ request_id = file.stem
+ logger_server.info(f'Found READY for request ID {request_id}.')
+ if request_id is None:
+ time.sleep(1)
+
+ unsigned_archive_info = self.unsigned_archive_info_for_request_id(
+ request_id)
+ while not unsigned_archive_info.is_ready():
time.sleep(1)
+ return request_id
+
@abc.abstractmethod
def sign_all_files(self, files: List[AbsoluteAndRelativeFileName]) -> None:
"""
@@ -348,7 +369,7 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
NOTE: Signing should happen in-place.
"""
- def run_signing_pipeline(self):
+ def run_signing_pipeline(self, request_id: str):
"""
Run the full signing pipeline starting from the point when buildbot
worker have requested signing.
@@ -360,9 +381,14 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
with TemporaryDirectory(prefix='blender-codesign-') as temp_dir_str:
temp_dir = Path(temp_dir_str)
+ signed_archive_info = self.signed_archive_info_for_request_id(
+ request_id)
+ unsigned_archive_info = self.unsigned_archive_info_for_request_id(
+ request_id)
+
logger_server.info('Extracting unsigned files from archive...')
extract_files(
- archive_filepath=self.unsigned_archive_info.archive_filepath,
+ archive_filepath=unsigned_archive_info.archive_filepath,
extraction_dir=temp_dir)
logger_server.info('Collecting all files which needs signing...')
@@ -374,11 +400,11 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
logger_server.info('Packing signed files...')
pack_files(files=files,
- archive_filepath=self.signed_archive_info.archive_filepath)
- self.signed_archive_info.tag_ready()
+ archive_filepath=signed_archive_info.archive_filepath)
+ signed_archive_info.tag_ready()
logger_server.info('Removing signing request...')
- self.unsigned_archive_info.clean()
+ unsigned_archive_info.clean()
logger_server.info('Signing is complete.')
@@ -389,11 +415,11 @@ class BaseCodeSigner(metaclass=abc.ABCMeta):
while True:
logger_server.info('Waiting for the signing request in %s...',
self.unsigned_storage_dir)
- self.wait_for_sign_request()
+ request_id = self.wait_for_sign_request()
logger_server.info(
- 'Got signing request, beging signign procedure.')
- self.run_signing_pipeline()
+ f'Beging signign procedure for request ID {request_id}.')
+ self.run_signing_pipeline(request_id)
############################################################################
# Command executing.
diff --git a/build_files/buildbot/slave_rsync.py b/build_files/buildbot/slave_rsync.py
deleted file mode 100644
index 19f1e67408d..00000000000
--- a/build_files/buildbot/slave_rsync.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# ##### BEGIN GPL LICENSE BLOCK #####
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-# <pep8 compliant>
-
-# Runs on buildbot slave, rsync zip directly to buildbot server rather
-# than using upload which is much slower
-
-import buildbot_utils
-import os
-import sys
-
-if __name__ == "__main__":
- builder = buildbot_utils.create_builder_from_arguments()
-
- # rsync, this assumes ssh keys are setup so no password is needed
- local_zip = "buildbot_upload.zip"
- remote_folder = "builder.blender.org:/data/buildbot-master/uploaded/"
- remote_zip = remote_folder + "buildbot_upload_" + builder.name + ".zip"
-
- command = ["rsync", "-avz", local_zip, remote_zip]
- buildbot_utils.call(command)
diff --git a/build_files/buildbot/slave_bundle_dmg.py b/build_files/buildbot/worker_bundle_dmg.py
index 11d2c3cb602..cd3da85e12a 100755
--- a/build_files/buildbot/slave_bundle_dmg.py
+++ b/build_files/buildbot/worker_bundle_dmg.py
@@ -30,7 +30,7 @@ from tempfile import TemporaryDirectory, NamedTemporaryFile
from typing import List
BUILDBOT_DIRECTORY = Path(__file__).absolute().parent
-CODESIGN_SCRIPT = BUILDBOT_DIRECTORY / 'slave_codesign.py'
+CODESIGN_SCRIPT = BUILDBOT_DIRECTORY / 'worker_codesign.py'
BLENDER_GIT_ROOT_DIRECTORY = BUILDBOT_DIRECTORY.parent.parent
DARWIN_DIRECTORY = BLENDER_GIT_ROOT_DIRECTORY / 'release' / 'darwin'
diff --git a/build_files/buildbot/slave_codesign.cmake b/build_files/buildbot/worker_codesign.cmake
index fd2beae11a0..f37feaef407 100644
--- a/build_files/buildbot/slave_codesign.cmake
+++ b/build_files/buildbot/worker_codesign.cmake
@@ -33,7 +33,7 @@ else()
endif()
execute_process(
- COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_LIST_DIR}/slave_codesign.py"
+ COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_LIST_DIR}/worker_codesign.py"
"${CMAKE_INSTALL_PREFIX}"
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE exit_code
diff --git a/build_files/buildbot/slave_codesign.py b/build_files/buildbot/worker_codesign.py
index a82ee98b1b5..a82ee98b1b5 100755
--- a/build_files/buildbot/slave_codesign.py
+++ b/build_files/buildbot/worker_codesign.py
diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/worker_compile.py
index 65cadea587b..f1357e1864f 100644
--- a/build_files/buildbot/slave_compile.py
+++ b/build_files/buildbot/worker_compile.py
@@ -25,7 +25,7 @@ import buildbot_utils
def get_cmake_options(builder):
post_install_script = os.path.join(
- builder.blender_dir, 'build_files', 'buildbot', 'slave_codesign.cmake')
+ builder.blender_dir, 'build_files', 'buildbot', 'worker_codesign.cmake')
config_file = "build_files/cmake/config/blender_release.cmake"
options = ['-DCMAKE_BUILD_TYPE:STRING=Release',
@@ -35,7 +35,7 @@ def get_cmake_options(builder):
options.append('-DCMAKE_OSX_ARCHITECTURES:STRING=x86_64')
options.append('-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9')
elif builder.platform == 'win':
- options.extend(['-G', 'Visual Studio 15 2017 Win64'])
+ options.extend(['-G', 'Visual Studio 16 2019', '-A', 'x64'])
options.extend(['-DPOSTINSTALL_SCRIPT:PATH=' + post_install_script])
elif builder.platform == 'linux':
config_file = "build_files/buildbot/config/blender_linux.cmake"
diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/worker_pack.py
index 8549a7881e6..87ee49c87d8 100644
--- a/build_files/buildbot/slave_pack.py
+++ b/build_files/buildbot/worker_pack.py
@@ -18,7 +18,7 @@
# <pep8 compliant>
-# Runs on buildbot slave, creating a release package using the build
+# Runs on buildbot worker, creating a release package using the build
# system and zipping it into buildbot_upload.zip. This is then uploaded
# to the master in the next buildbot step.
@@ -110,7 +110,7 @@ def pack_mac(builder):
release_dir = os.path.join(builder.blender_dir, 'release', 'darwin')
buildbot_dir = os.path.join(builder.blender_dir, 'build_files', 'buildbot')
- bundle_script = os.path.join(buildbot_dir, 'slave_bundle_dmg.py')
+ bundle_script = os.path.join(buildbot_dir, 'worker_bundle_dmg.py')
command = [bundle_script]
command += ['--dmg', package_filepath]
diff --git a/build_files/buildbot/slave_test.py b/build_files/buildbot/worker_test.py
index b959568a5c6..b959568a5c6 100644
--- a/build_files/buildbot/slave_test.py
+++ b/build_files/buildbot/worker_test.py
diff --git a/build_files/buildbot/slave_update.py b/build_files/buildbot/worker_update.py
index 36a7ae31c84..36a7ae31c84 100644
--- a/build_files/buildbot/slave_update.py
+++ b/build_files/buildbot/worker_update.py
diff --git a/build_files/cmake/Modules/FindOpenImageDenoise.cmake b/build_files/cmake/Modules/FindOpenImageDenoise.cmake
index b3d0dab3289..c7215d30e8a 100644
--- a/build_files/cmake/Modules/FindOpenImageDenoise.cmake
+++ b/build_files/cmake/Modules/FindOpenImageDenoise.cmake
@@ -48,7 +48,14 @@ SET(_openimagedenoise_FIND_COMPONENTS
# These are needed when building statically
SET(_openimagedenoise_FIND_STATIC_COMPONENTS
common
+
+ # These additional library names change between versions, we list all of them
+ # so builds work with multiple versions. Missing libraries are skipped.
+ dnnl_cpu
+ dnnl_common
+ dnnl_cpu # Second time because of circular dependency
mkldnn
+ dnnl
)
SET(_openimagedenoise_LIBRARIES)
diff --git a/build_files/cmake/config/blender_full.cmake b/build_files/cmake/config/blender_full.cmake
index a997d7c0e68..41bee263e22 100644
--- a/build_files/cmake/config/blender_full.cmake
+++ b/build_files/cmake/config/blender_full.cmake
@@ -11,6 +11,7 @@ set(WITH_CODEC_AVI ON CACHE BOOL "" FORCE)
set(WITH_CODEC_FFMPEG ON CACHE BOOL "" FORCE)
set(WITH_CODEC_SNDFILE ON CACHE BOOL "" FORCE)
set(WITH_CYCLES ON CACHE BOOL "" FORCE)
+set(WITH_CYCLES_EMBREE ON CACHE BOOL "" FORCE)
set(WITH_CYCLES_OSL ON CACHE BOOL "" FORCE)
set(WITH_DRACO ON CACHE BOOL "" FORCE)
set(WITH_FFTW3 ON CACHE BOOL "" FORCE)
diff --git a/build_files/cmake/config/blender_lite.cmake b/build_files/cmake/config/blender_lite.cmake
index f3a6d4608fe..68b9bd1d94d 100644
--- a/build_files/cmake/config/blender_lite.cmake
+++ b/build_files/cmake/config/blender_lite.cmake
@@ -15,6 +15,7 @@ set(WITH_CODEC_AVI OFF CACHE BOOL "" FORCE)
set(WITH_CODEC_FFMPEG OFF CACHE BOOL "" FORCE)
set(WITH_CODEC_SNDFILE OFF CACHE BOOL "" FORCE)
set(WITH_CYCLES OFF CACHE BOOL "" FORCE)
+set(WITH_CYCLES_EMBREE OFF CACHE BOOL "" FORCE)
set(WITH_CYCLES_OSL OFF CACHE BOOL "" FORCE)
set(WITH_CYCLES_DEVICE_OPTIX OFF CACHE BOOL "" FORCE)
set(WITH_DRACO OFF CACHE BOOL "" FORCE)
diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake
index 01a59e451aa..5fce64ce719 100644
--- a/build_files/cmake/config/blender_release.cmake
+++ b/build_files/cmake/config/blender_release.cmake
@@ -12,6 +12,7 @@ set(WITH_CODEC_AVI ON CACHE BOOL "" FORCE)
set(WITH_CODEC_FFMPEG ON CACHE BOOL "" FORCE)
set(WITH_CODEC_SNDFILE ON CACHE BOOL "" FORCE)
set(WITH_CYCLES ON CACHE BOOL "" FORCE)
+set(WITH_CYCLES_EMBREE ON CACHE BOOL "" FORCE)
set(WITH_CYCLES_OSL ON CACHE BOOL "" FORCE)
set(WITH_DRACO ON CACHE BOOL "" FORCE)
set(WITH_FFTW3 ON CACHE BOOL "" FORCE)
diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake
index db939b1d00c..01d48364435 100644
--- a/build_files/cmake/platform/platform_win32.cmake
+++ b/build_files/cmake/platform/platform_win32.cmake
@@ -539,10 +539,10 @@ if(WITH_OPENIMAGEDENOISE)
set(OPENIMAGEDENOISE_LIBRARIES
optimized ${OPENIMAGEDENOISE_LIBPATH}/OpenImageDenoise.lib
optimized ${OPENIMAGEDENOISE_LIBPATH}/common.lib
- optimized ${OPENIMAGEDENOISE_LIBPATH}/mkldnn.lib
+ optimized ${OPENIMAGEDENOISE_LIBPATH}/dnnl.lib
debug ${OPENIMAGEDENOISE_LIBPATH}/OpenImageDenoise_d.lib
debug ${OPENIMAGEDENOISE_LIBPATH}/common_d.lib
- debug ${OPENIMAGEDENOISE_LIBPATH}/mkldnn_d.lib)
+ debug ${OPENIMAGEDENOISE_LIBPATH}/dnnl_d.lib)
set(OPENIMAGEDENOISE_DEFINITIONS)
endif()