[Bf-blender-cvs] [b5e00a1482e] master: Revert "BLI: Use BLI_math_matrix_type.hh instead of BLI_math_float4x4.hh"
Commit: b5e00a1482e56e3e94665ddec76219c6fafe6945 Author: Ray Molenkamp Date: Thu Feb 2 11:46:23 2023 -0700 Branches: master https://developer.blender.org/rBb5e00a1482e56e3e94665ddec76219c6fafe6945 Revert "BLI: Use BLI_math_matrix_type.hh instead of BLI_math_float4x4.hh" This reverts commit 52de84b0db1aca6b9df00c6b9be7d7839132523a. had some build issues on windows i can't quickly resolve, revert for now while we fix the problems === M source/blender/blenkernel/BKE_crazyspace.hh M source/blender/blenkernel/BKE_curves.hh M source/blender/blenkernel/BKE_geometry_set_instances.hh M source/blender/blenkernel/BKE_instances.hh M source/blender/blenkernel/BKE_mesh_boolean_convert.hh M source/blender/blenkernel/BKE_volume.h M source/blender/blenkernel/intern/curve_to_mesh_convert.cc M source/blender/blenkernel/intern/curves.cc M source/blender/blenkernel/intern/curves_geometry.cc M source/blender/blenkernel/intern/geometry_component_instances.cc M source/blender/blenkernel/intern/geometry_set_instances.cc M source/blender/blenkernel/intern/mesh_boolean_convert.cc M source/blender/blenkernel/intern/object_dupli.cc M source/blender/blenkernel/intern/pbvh_uv_islands.cc M source/blender/blenkernel/intern/pbvh_uv_islands.hh M source/blender/blenkernel/intern/volume.cc A source/blender/blenlib/BLI_float3x3.hh A source/blender/blenlib/BLI_float4x4.hh M source/blender/blenlib/BLI_math_matrix.hh M source/blender/blenlib/BLI_math_matrix_types.hh M source/blender/blenlib/BLI_math_rotation_types.hh M source/blender/blenlib/CMakeLists.txt M source/blender/blenlib/intern/cpp_types.cc M source/blender/blenlib/intern/math_matrix.cc A source/blender/blenlib/tests/BLI_float3x3_test.cc M source/blender/compositor/realtime_compositor/COM_domain.hh M source/blender/compositor/realtime_compositor/COM_result.hh M source/blender/compositor/realtime_compositor/intern/domain.cc M source/blender/compositor/realtime_compositor/intern/realize_on_domain_operation.cc M source/blender/compositor/realtime_compositor/intern/result.cc M source/blender/draw/engines/eevee_next/eevee_camera.cc M source/blender/draw/engines/eevee_next/eevee_camera.hh M source/blender/draw/engines/eevee_next/eevee_pipeline.cc M source/blender/draw/engines/eevee_next/eevee_shader_shared.hh M source/blender/draw/engines/eevee_next/eevee_velocity.cc M source/blender/draw/engines/eevee_next/eevee_view.hh M source/blender/draw/engines/image/image_drawing_mode.hh M source/blender/draw/engines/image/image_texture_info.hh M source/blender/draw/engines/workbench/workbench_engine.cc M source/blender/draw/engines/workbench/workbench_resources.cc M source/blender/draw/engines/workbench/workbench_shadow.cc M source/blender/draw/intern/draw_command.cc M source/blender/draw/intern/draw_debug.cc M source/blender/draw/intern/draw_manager.h M source/blender/draw/intern/draw_manager_data.cc M source/blender/draw/intern/draw_resource.hh M source/blender/draw/intern/draw_view.cc M source/blender/draw/tests/draw_pass_test.cc M source/blender/editors/curves/intern/curves_ops.cc M source/blender/editors/object/object_transform.cc M source/blender/editors/sculpt_paint/curves_sculpt_add.cc M source/blender/editors/sculpt_paint/curves_sculpt_brush.cc M source/blender/editors/sculpt_paint/curves_sculpt_comb.cc M source/blender/editors/sculpt_paint/curves_sculpt_delete.cc M source/blender/editors/sculpt_paint/curves_sculpt_density.cc M source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc M source/blender/editors/sculpt_paint/curves_sculpt_ops.cc M source/blender/editors/sculpt_paint/curves_sculpt_pinch.cc M source/blender/editors/sculpt_paint/curves_sculpt_puff.cc M source/blender/editors/sculpt_paint/curves_sculpt_selection_paint.cc M source/blender/editors/sculpt_paint/curves_sculpt_slide.cc M source/blender/editors/sculpt_paint/curves_sculpt_smooth.cc M source/blender/editors/sculpt_paint/curves_sculpt_snake_hook.cc M source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc M source/blender/editors/space_spreadsheet/spreadsheet_row_filter.cc M source/blender/editors/transform/transform_snap_object.cc M source/blender/functions/intern/cpp_types.cc M source/blender/geometry/GEO_add_curves_on_mesh.hh M source/blender/geometry/GEO_mesh_to_volume.hh M source/blender/geometry/intern/add_curves_on_mesh.cc M source/blender/geometry/intern/mesh_to_volume.cc M source/blender/geometry/intern/realize_instances.cc M source/blender/gpu/GPU_shader_shared_utils.h M
[Bf-blender-cvs] [9ad051140c1] master: Revert "Fix T71137: curve minimum twist producing wrong geometry"
Commit: 9ad051140c102c76dbebe03d4a238b733034cfba Author: Ray Molenkamp Date: Wed Jan 25 10:58:42 2023 -0700 Branches: master https://developer.blender.org/rB9ad051140c102c76dbebe03d4a238b733034cfba Revert "Fix T71137: curve minimum twist producing wrong geometry" This reverts commit 36a82314a0f5de65b54f6d8343a2899ed4e37010. as it has broken tests for the last day and a half, it likely just needs a test file update, but we can't keep this failing longer than it already has. === M source/blender/blenkernel/intern/curve.cc === diff --git a/source/blender/blenkernel/intern/curve.cc b/source/blender/blenkernel/intern/curve.cc index 51902169366..744ef0e8009 100644 --- a/source/blender/blenkernel/intern/curve.cc +++ b/source/blender/blenkernel/intern/curve.cc @@ -2260,7 +2260,7 @@ static void make_bevel_list_3D_minimum_twist(BevList *bl) nr = bl->nr; while (nr--) { -if (nr + 1 >= bl->nr) { /* First time, otherwise first point adjusts last. */ +if (nr + 3 > bl->nr) { /* first time and second time, otherwise first point adjusts last */ vec_to_quat(bevp1->quat, bevp1->dir, 5, 1); } else { ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [d3aaa7d5236] master: Fix: Build issue with VS2019
Commit: d3aaa7d52365d751852c065cb8bd3db991b3f2af Author: Ray Molenkamp Date: Wed Jan 18 12:41:09 2023 -0700 Branches: master https://developer.blender.org/rBd3aaa7d52365d751852c065cb8bd3db991b3f2af Fix: Build issue with VS2019 fix by @JacquesLucke I just sprinkled it to all places it needed to be. === M source/blender/blenkernel/intern/curves_geometry.cc M source/blender/geometry/intern/subdivide_curves.cc === diff --git a/source/blender/blenkernel/intern/curves_geometry.cc b/source/blender/blenkernel/intern/curves_geometry.cc index 3ca951858c6..b2cd7cf5cae 100644 --- a/source/blender/blenkernel/intern/curves_geometry.cc +++ b/source/blender/blenkernel/intern/curves_geometry.cc @@ -554,7 +554,7 @@ void CurvesGeometry::ensure_nurbs_basis_cache() const this->runtime->nurbs_basis_cache.resize(this->curves_num()); MutableSpan basis_caches(this->runtime->nurbs_basis_cache); -const OffsetIndices points_by_curve = this->points_by_curve(); +const OffsetIndices points_by_curve = this->points_by_curve(); VArray cyclic = this->cyclic(); VArray orders = this->nurbs_orders(); VArray knots_modes = this->nurbs_knots_modes(); @@ -600,7 +600,7 @@ Span CurvesGeometry::evaluated_positions() const MutableSpan evaluated_positions = this->runtime->evaluated_position_cache; this->runtime->evaluated_positions_span = evaluated_positions; -const OffsetIndices points_by_curve = this->points_by_curve(); +const OffsetIndices points_by_curve = this->points_by_curve(); VArray types = this->curve_types(); VArray cyclic = this->cyclic(); VArray resolution = this->resolution(); @@ -681,7 +681,7 @@ Span CurvesGeometry::evaluated_tangents() const Vector bezier_indices; const IndexMask bezier_mask = this->indices_for_curve_type(CURVE_TYPE_BEZIER, bezier_indices); if (!bezier_mask.is_empty()) { - const OffsetIndices points_by_curve = this->points_by_curve(); + const OffsetIndices points_by_curve = this->points_by_curve(); const Span positions = this->positions(); const Span handles_left = this->handle_positions_left(); const Span handles_right = this->handle_positions_right(); @@ -758,7 +758,7 @@ static void evaluate_generic_data_for_curve( Span CurvesGeometry::evaluated_normals() const { this->runtime->normal_cache_mutex.ensure([&]() { -const OffsetIndices points_by_curve = this->points_by_curve(); +const OffsetIndices points_by_curve = this->points_by_curve(); const VArray types = this->curve_types(); const VArray cyclic = this->cyclic(); const VArray normal_mode = this->normal_mode(); diff --git a/source/blender/geometry/intern/subdivide_curves.cc b/source/blender/geometry/intern/subdivide_curves.cc index 15c3f40e6b2..cdb0ed59b00 100644 --- a/source/blender/geometry/intern/subdivide_curves.cc +++ b/source/blender/geometry/intern/subdivide_curves.cc @@ -372,14 +372,14 @@ bke::CurvesGeometry subdivide_curves( const VArraySpan src_types_r{src_curves.handle_types_right()}; const Span src_handles_l = src_curves.handle_positions_left(); const Span src_handles_r = src_curves.handle_positions_right(); -const OffsetIndices src_points_by_curve = src_curves.points_by_curve(); +const OffsetIndices src_points_by_curve = src_curves.points_by_curve(); MutableSpan dst_positions = dst_curves.positions_for_write(); MutableSpan dst_types_l = dst_curves.handle_types_left_for_write(); MutableSpan dst_types_r = dst_curves.handle_types_right_for_write(); MutableSpan dst_handles_l = dst_curves.handle_positions_left_for_write(); MutableSpan dst_handles_r = dst_curves.handle_positions_right_for_write(); -const OffsetIndices dst_points_by_curve = dst_curves.points_by_curve(); +const OffsetIndices dst_points_by_curve = dst_curves.points_by_curve(); threading::parallel_for(selection.index_range(), 512, [&](IndexRange range) { for (const int curve_i : selection.slice(range)) { ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [cef5841e124] master: Cmake: Fix building with WITH_WINDOWS_BUNDLE_CRT Off
Commit: cef5841e124b8f1667d96b8338e6e2ac85d7c4c6 Author: Ray Molenkamp Date: Wed Dec 21 13:25:02 2022 -0700 Branches: master https://developer.blender.org/rBcef5841e124b8f1667d96b8338e6e2ac85d7c4c6 Cmake: Fix building with WITH_WINDOWS_BUNDLE_CRT Off When building without WITH_WINDOWS_BUNDLE_CRT the manifest did not contain the blender.shared dependentAssembly leading to missing dll errors at blender startup. === M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index da418a27274..82bfa53b5a3 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -140,8 +140,8 @@ if(WITH_WINDOWS_BUNDLE_CRT) install(FILES ${CMAKE_BINARY_DIR}/blender.crt.manifest DESTINATION ./blender.crt) set(BUNDLECRT "") - set(BUNDLECRT "${BUNDLECRT}") endif() +set(BUNDLECRT "${BUNDLECRT}") configure_file(${CMAKE_SOURCE_DIR}/release/windows/manifest/blender.exe.manifest.in ${CMAKE_CURRENT_BINARY_DIR}/blender.exe.manifest @ONLY) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [c30718ded90] geometry-nodes-simulation: cmake/win: Allow running blender_test from the VS debugger
Commit: c30718ded903118182d893e34081a9e88a6d17f7 Author: Ray Molenkamp Date: Thu Dec 15 09:04:59 2022 -0700 Branches: geometry-nodes-simulation https://developer.blender.org/rBc30718ded903118182d893e34081a9e88a6d17f7 cmake/win: Allow running blender_test from the VS debugger This was missing some paths setup in the environment, ctest normally sets this up before running the tests from the CLI but that does not help the IDE all that much. === M tests/gtests/runner/CMakeLists.txt === diff --git a/tests/gtests/runner/CMakeLists.txt b/tests/gtests/runner/CMakeLists.txt index be0aa65d409..eac76db22db 100644 --- a/tests/gtests/runner/CMakeLists.txt +++ b/tests/gtests/runner/CMakeLists.txt @@ -43,6 +43,7 @@ if(WIN32) target_link_libraries(blender_test ${_lib}) target_link_options(blender_test PRIVATE /wholearchive:$) endforeach() + set_target_properties(blender_test PROPERTIES VS_DEBUGGER_ENVIRONMENT "${PLATFORM_ENV_INSTALL};$") elseif(APPLE) # force_load for `_test_libs` ensures that all symbols definitely make it into the test binary. # But linking against them again using `target_link_libraries` creates duplicate symbol ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [d2aebf10fae] master: cmake/win: Allow running blender_test from the VS debugger
Commit: d2aebf10fae7bd6f0e854deea2c3c776bd5cde8c Author: Ray Molenkamp Date: Thu Dec 15 09:04:59 2022 -0700 Branches: master https://developer.blender.org/rBd2aebf10fae7bd6f0e854deea2c3c776bd5cde8c cmake/win: Allow running blender_test from the VS debugger This was missing some paths setup in the environment, ctest normally sets this up before running the tests from the CLI but that does not help the IDE all that much. === M tests/gtests/runner/CMakeLists.txt === diff --git a/tests/gtests/runner/CMakeLists.txt b/tests/gtests/runner/CMakeLists.txt index be0aa65d409..eac76db22db 100644 --- a/tests/gtests/runner/CMakeLists.txt +++ b/tests/gtests/runner/CMakeLists.txt @@ -43,6 +43,7 @@ if(WIN32) target_link_libraries(blender_test ${_lib}) target_link_options(blender_test PRIVATE /wholearchive:$) endforeach() + set_target_properties(blender_test PROPERTIES VS_DEBUGGER_ENVIRONMENT "${PLATFORM_ENV_INSTALL};$") elseif(APPLE) # force_load for `_test_libs` ensures that all symbols definitely make it into the test binary. # But linking against them again using `target_link_libraries` creates duplicate symbol ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [7766a20b8ff] master: Build: clarify some comments in the rocky8 setup script
Commit: 7766a20b8ffada607ec0e155e3f8be73f5afd6b9 Author: Ray Molenkamp Date: Wed Dec 14 17:26:40 2022 -0700 Branches: master https://developer.blender.org/rB7766a20b8ffada607ec0e155e3f8be73f5afd6b9 Build: clarify some comments in the rocky8 setup script also moved the install of the config manager to before it is needed. === M build_files/build_environment/linux/linux_rocky8_setup.sh === diff --git a/build_files/build_environment/linux/linux_rocky8_setup.sh b/build_files/build_environment/linux/linux_rocky8_setup.sh index 2f4efe0be97..48b49f80149 100644 --- a/build_files/build_environment/linux/linux_rocky8_setup.sh +++ b/build_files/build_environment/linux/linux_rocky8_setup.sh @@ -11,13 +11,14 @@ if [ `id -u` -ne 0 ]; then exit 1 fi +# Required by: config manager command below to enable powertools. +dnf install 'dnf-command(config-manager)' + # Packages `ninja-build` and `meson` are not available unless CBR or PowerTools repositories are enabled. # See: https://wiki.rockylinux.org/rocky/repo/#notes-on-unlisted-repositories dnf config-manager --set-enabled powertools -# Required by: TODO. -dnf install 'dnf-command(config-manager)' -# Required by: TODO. +# Required by: epel-release has the patchelf and rubygem-asciidoctor packages dnf install epel-release # `yum-config-manager` does not come in the default minimal install, ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [8daaf71688b] master: deps_builder: add missing freetype dep to harfbuzz
Commit: 8daaf71688b849cbbb31b2af7a1260db773b2348 Author: Ray Molenkamp Date: Wed Dec 14 08:03:28 2022 -0700 Branches: master https://developer.blender.org/rB8daaf71688b849cbbb31b2af7a1260db773b2348 deps_builder: add missing freetype dep to harfbuzz without it harfbuzz could build before freetype which it needs to build. === M build_files/build_environment/cmake/harfbuzz.cmake === diff --git a/build_files/build_environment/cmake/harfbuzz.cmake b/build_files/build_environment/cmake/harfbuzz.cmake index 3eb994f72fe..d34d312c9d8 100644 --- a/build_files/build_environment/cmake/harfbuzz.cmake +++ b/build_files/build_environment/cmake/harfbuzz.cmake @@ -33,6 +33,7 @@ ExternalProject_Add(external_harfbuzz add_dependencies( external_harfbuzz external_python + external_freetype # Needed for `MESON`. external_python_site_packages ) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [ac7b4855bd9] blender-v2.93-release: audaspace: Fix build error with MSVC 17.4+
Commit: ac7b4855bd924cfbd6dbabee0810dff03deee060 Author: Ray Molenkamp Date: Wed Nov 9 14:39:15 2022 -0700 Branches: blender-v2.93-release https://developer.blender.org/rBac7b4855bd924cfbd6dbabee0810dff03deee060 audaspace: Fix build error with MSVC 17.4+ `DeviceManager.h` uses `std::string` without explicitly including the `` header. While older MSVC implicitly included this header somewhere, the headers for 17.4+ do not leading to a build error. === M extern/audaspace/include/devices/DeviceManager.h === diff --git a/extern/audaspace/include/devices/DeviceManager.h b/extern/audaspace/include/devices/DeviceManager.h index 27a546630e8..fa84025478f 100644 --- a/extern/audaspace/include/devices/DeviceManager.h +++ b/extern/audaspace/include/devices/DeviceManager.h @@ -27,6 +27,7 @@ #include #include #include +#include AUD_NAMESPACE_BEGIN ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [bcbd13201a2] master: deps_builder: python updates
Commit: bcbd13201a24753fec15b449f61f7e13ed4b75d9 Author: Ray Molenkamp Date: Fri Dec 9 12:27:44 2022 -0700 Branches: master https://developer.blender.org/rBbcbd13201a24753fec15b449f61f7e13ed4b75d9 deps_builder: python updates - Added comment for additional tasks to do when bumping python - updated sqlite to 3.39.4 - downgrade setuptools to 63.2.0 to avoid numpy build issues - numpy 1.23.5 === M build_files/build_environment/cmake/python.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/python.cmake b/build_files/build_environment/cmake/python.cmake index 3d055a8af0b..4d9f892e729 100644 --- a/build_files/build_environment/cmake/python.cmake +++ b/build_files/build_environment/cmake/python.cmake @@ -32,13 +32,11 @@ if(WIN32) # Python will download its own deps and there's very little we can do about # that beyond placing some code in their externals dir before it tries. # the foldernames *HAVE* to match the ones inside pythons get_externals.cmd. -# python 3.10.8 still ships zlib 1.2.12, replace it with our 1.2.13 -# copy until they update. Same rules apply to openssl foldernames HAVE to match # regardless of the version actually in there. PATCH_COMMAND mkdir ${PYTHON_EXTERNALS_FOLDER_DOS} && - mklink /J ${PYTHON_EXTERNALS_FOLDER_DOS}\\zlib-1.2.12 ${ZLIB_SOURCE_FOLDER_DOS} && + mklink /J ${PYTHON_EXTERNALS_FOLDER_DOS}\\zlib-1.2.13 ${ZLIB_SOURCE_FOLDER_DOS} && mklink /J ${PYTHON_EXTERNALS_FOLDER_DOS}\\openssl-1.1.1q ${SSL_SOURCE_FOLDER_DOS} && - ${CMAKE_COMMAND} -E copy ${ZLIB_SOURCE_FOLDER}/../external_zlib-build/zconf.h ${PYTHON_EXTERNALS_FOLDER}/zlib-1.2.12/zconf.h && + ${CMAKE_COMMAND} -E copy ${ZLIB_SOURCE_FOLDER}/../external_zlib-build/zconf.h ${PYTHON_EXTERNALS_FOLDER}/zlib-1.2.13/zconf.h && ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_windows.diff CONFIGURE_COMMAND echo "." BUILD_COMMAND ${CONFIGURE_ENV_MSVC} && cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && set LDFLAGS=/DEBUG && call prepare_ssl.bat && call build.bat -e -p x64 -c ${BUILD_MODE} diff --git a/build_files/build_environment/cmake/python_site_packages.cmake b/build_files/build_environment/cmake/python_site_packages.cmake index 91baaa4df0f..4c0e7b1996c 100644 --- a/build_files/build_environment/cmake/python_site_packages.cmake +++ b/build_files/build_environment/cmake/python_site_packages.cmake @@ -15,7 +15,9 @@ ExternalProject_Add(external_python_site_packages CONFIGURE_COMMAND ${PIP_CONFIGURE_COMMAND} BUILD_COMMAND "" PREFIX ${BUILD_DIR}/site_packages - INSTALL_COMMAND ${PYTHON_BINARY} -m pip install --no-cache-dir ${SITE_PACKAGES_EXTRA} 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: + # 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: ) if(USE_PIP_NUMPY) diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index b4c51da9093..86f9d8349b1 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -201,6 +201,11 @@ set(OSL_HASH 53211da86c34ba6e0344998c1a6d219c) set(OSL_HASH_TYPE MD5) 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 +# reasons there can be no exceptions to this. + set(PYTHON_VERSION 3.10.9) set(PYTHON_SHORT_VERSION 3.10) set(PYTHON_SHORT_VERSION_NO_DOTS 310) @@ -240,10 +245,10 @@ set(PY
[Bf-blender-cvs] [ce4c16b7e29] master: USD: fix startup issue on linux
Commit: ce4c16b7e2985b706e409df7d0ffa64b7e6c6dd6 Author: Ray Molenkamp Date: Thu Dec 8 14:08:06 2022 -0700 Branches: master https://developer.blender.org/rBce4c16b7e2985b706e409df7d0ffa64b7e6c6dd6 USD: fix startup issue on linux On linux a man page is generated before the scripts are installed, this lead to USD getting a null pointer for it's pluging path and crashing the process. === M source/blender/io/usd/intern/usd_common.cc === diff --git a/source/blender/io/usd/intern/usd_common.cc b/source/blender/io/usd/intern/usd_common.cc index e5a83442140..2cfd3c5196e 100644 --- a/source/blender/io/usd/intern/usd_common.cc +++ b/source/blender/io/usd/intern/usd_common.cc @@ -23,9 +23,12 @@ void ensure_usd_plugin_path_registered() /* Tell USD which directory to search for its JSON files. If 'datafiles/usd' * does not exist, the USD library will not be able to read or write any files. */ - const std::string blender_usd_datafiles = BKE_appdir_folder_id(BLENDER_DATAFILES, "usd"); - /* The trailing slash indicates to the USD library that the path is a directory. */ - pxr::PlugRegistry::GetInstance().RegisterPlugins(blender_usd_datafiles + "/"); + const char *blender_usd_datafiles = BKE_appdir_folder_id(BLENDER_DATAFILES, "usd"); + if (blender_usd_datafiles) { +const std::string blender_usd_data_folder = blender_usd_datafiles; +/* The trailing slash indicates to the USD library that the path is a directory. */ +pxr::PlugRegistry::GetInstance().RegisterPlugins(blender_usd_data_folder + "/"); + } #endif } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [d384ad38bc7] master: cmake: fix windows debug build
Commit: d384ad38bc7f2b889272842dcd3038ddcae95877 Author: Ray Molenkamp Date: Wed Dec 7 09:22:32 2022 -0700 Branches: master https://developer.blender.org/rBd384ad38bc7f2b889272842dcd3038ddcae95877 cmake: fix windows debug build debug library for yaml-cpp was set to an incorrect name === M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 03132a5a079..7d2cb08f67b 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -663,7 +663,7 @@ if(WITH_OPENCOLORIO) debug ${OPENCOLORIO_LIBPATH}/OpencolorIO_d.lib debug ${OPENCOLORIO_LIBPATH}/libexpatdMD.lib debug ${OPENCOLORIO_LIBPATH}/pystring_d.lib -debug ${OPENCOLORIO_LIBPATH}/yaml-cppd.lib +debug ${OPENCOLORIO_LIBPATH}/libyaml-cpp_d.lib ) set(OPENCOLORIO_DEFINITIONS "-DOpenColorIO_SKIP_IMPORTS") else() ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [388bbc32902] master: Build: library updates for Blender 3.5
Commit: 388bbc32902d5a66ccc13955b810cef12213aeca Author: Ray Molenkamp Date: Mon Dec 5 23:18:54 2022 +0100 Branches: master https://developer.blender.org/rB388bbc32902d5a66ccc13955b810cef12213aeca Build: library updates for Blender 3.5 This updates the libraries dependencies for VFX platform 2023, and adds various new libraries. It also enables Python bindings and switches from static to shared for various libraries. The precompiled libraries for all platforms will be updated to these new versions in the coming weeks. New: Fribidi 1.0.12 Harfbuzz 5.1.0 MaterialX 1.38.6 (shared lib with python bindings) Minizipng 3.0.7 Pybind11 2.10.1 Shaderc 2022.3 Vulkan 1.2.198 Updated: Boost 1.8.0 (shared lib) Cython 0.29.30 Numpy 1.23.2 OpenColorIO 2.2.0 (shared lib with python bindings) OpenImageIO 2.4.6.0 (shared lib with python bindings) OpenSubdiv 3.5.0 OpenVDB 10.0.0 (shared lib with python bindings) OSL 1.12.7.1 (enable nvptx backend) TBB (shared lib) USD 22.11 (shared lib with python bindings, enable hydra) yaml-cpp 0.8.0 Includes contributions by Ray Molenkamp, Brecht Van Lommel, Georgiy Markelov and Campbell Barton. Ref T99618 === M CMakeLists.txt M build_files/build_environment/CMakeLists.txt M build_files/build_environment/cmake/alembic.cmake M build_files/build_environment/cmake/blosc.cmake M build_files/build_environment/cmake/boost.cmake M build_files/build_environment/cmake/boost_build_options.cmake M build_files/build_environment/cmake/check_software.cmake M build_files/build_environment/cmake/download.cmake M build_files/build_environment/cmake/dpcpp.cmake M build_files/build_environment/cmake/epoxy.cmake M build_files/build_environment/cmake/fmt.cmake M build_files/build_environment/cmake/freetype.cmake A build_files/build_environment/cmake/fribidi.cmake A build_files/build_environment/cmake/harfbuzz.cmake M build_files/build_environment/cmake/harvest.cmake M build_files/build_environment/cmake/imath.cmake M build_files/build_environment/cmake/llvm.cmake A build_files/build_environment/cmake/materialx.cmake M build_files/build_environment/cmake/mesa.cmake A build_files/build_environment/cmake/minizipng.cmake M build_files/build_environment/cmake/opencollada.cmake M build_files/build_environment/cmake/opencolorio.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/opus.cmake M build_files/build_environment/cmake/osl.cmake A build_files/build_environment/cmake/pybind11.cmake M build_files/build_environment/cmake/python.cmake M build_files/build_environment/cmake/python_site_packages.cmake A build_files/build_environment/cmake/shaderc.cmake A build_files/build_environment/cmake/shaderc_deps.cmake M build_files/build_environment/cmake/sndfile.cmake M build_files/build_environment/cmake/ssl.cmake M build_files/build_environment/cmake/tbb.cmake M build_files/build_environment/cmake/usd.cmake M build_files/build_environment/cmake/versions.cmake A build_files/build_environment/cmake/vulkan.cmake M build_files/build_environment/cmake/wayland.cmake M build_files/build_environment/cmake/wayland_protocols.cmake M build_files/build_environment/cmake/yamlcpp.cmake A build_files/build_environment/darwin/set_rpath.py M build_files/build_environment/install_deps.sh M build_files/build_environment/patches/boost.user.jam.in A build_files/build_environment/patches/materialx.diff M build_files/build_environment/patches/opencollada.diff M build_files/build_environment/patches/openimageio.diff M build_files/build_environment/patches/openvdb.diff M build_files/build_environment/patches/osl.diff A build_files/build_environment/patches/python_windows.diff M build_files/build_environment/patches/usd.diff M build_files/build_environment/windows/build_deps.cmd M build_files/cmake/Modules/FindOpenColorIO.cmake M build_files/cmake/config/blender_full.cmake M build_files/cmake/config/blender_lite.cmake M build_files/cmake/config/blender_release.cmake M build_files/cmake/platform/platform_apple.cmake M build_files/cmake/platform/platform_old_libs_update.cmake M build_files/cmake/platform/platform_unix.cmake M build_files/cmake/platform/platform_win32.cmake M extern/mantaflow/helper/util/vectorbase.h M intern/cycles/cmake/macros.cmake M intern/ffmpeg/CMakeLists.txt M intern/locale/CMakeLists.txt A release
[Bf-blender-cvs] [6d27a2ff764] master: Windows: install shared libraries in blender.shared
Commit: 6d27a2ff76444971180ab885fe49745c853de8aa Author: Ray Molenkamp Date: Mon Dec 5 23:42:49 2022 +0100 Branches: master https://developer.blender.org/rB6d27a2ff76444971180ab885fe49745c853de8aa Windows: install shared libraries in blender.shared Instead of the the same folder as the Blender executable, generate a manifest that lets us move the libraries out of the way of users and into a separate folder. Ref T99618 === M build_files/cmake/macros.cmake M build_files/cmake/platform/platform_win32.cmake D build_files/cmake/platform/platform_win32_bundle_crt.cmake A release/windows/manifest/Blender.manifest.in M source/creator/CMakeLists.txt === diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index eadf9273e26..7064ca93e8b 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -1277,3 +1277,70 @@ macro(add_bundled_libraries library_dir) unset(_library_dir) endif() endmacro() + +macro(windows_install_shared_manifest) + set(options OPTIONAL DEBUG RELEASE ALL) + set(oneValueArgs) + set(multiValueArgs FILES) + cmake_parse_arguments(WINDOWS_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) + # If none of the options are set assume ALL. + unset(WINDOWS_CONFIGURATIONS) + if(NOT WINDOWS_INSTALL_ALL AND + NOT WINDOWS_INSTALL_DEBUG AND + NOT WINDOWS_INSTALL_RELEASE) +set(WINDOWS_INSTALL_ALL TRUE) + endif() + # If all is set, turn both DEBUG and RELEASE on. + if(WINDOWS_INSTALL_ALL) +set(WINDOWS_INSTALL_DEBUG TRUE) +set(WINDOWS_INSTALL_RELEASE TRUE) + endif() + if(WINDOWS_INSTALL_DEBUG) +set(WINDOWS_CONFIGURATIONS "${WINDOWS_CONFIGURATIONS};Debug") +list(APPEND WINDOWS_SHARED_MANIFEST_DEBUG ${WINDOWS_INSTALL_FILES}) + endif() + if(WINDOWS_INSTALL_RELEASE) +list(APPEND WINDOWS_SHARED_MANIFEST_RELEASE ${WINDOWS_INSTALL_FILES}) +set(WINDOWS_CONFIGURATIONS "${WINDOWS_CONFIGURATIONS};Release;RelWithDebInfo;MinSizeRel") + endif() + install(FILES ${WINDOWS_INSTALL_FILES} + CONFIGURATIONS ${WINDOWS_CONFIGURATIONS} + DESTINATION "./blender.shared" + ) +endmacro() + +macro(windows_generate_manifest) + set(options) + set(oneValueArgs OUTPUT NAME) + set(multiValueArgs FILES) + cmake_parse_arguments(WINDOWS_MANIFEST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) + set(MANIFEST_LIBS "") + foreach(lib ${WINDOWS_MANIFEST_FILES}) +get_filename_component(filename ${lib} NAME) +set(MANIFEST_LIBS "${MANIFEST_LIBS}\n") + endforeach() + configure_file(${CMAKE_SOURCE_DIR}/release/windows/manifest/blender.manifest.in ${WINDOWS_MANIFEST_OUTPUT} @ONLY) +endmacro() + +macro(windows_generate_shared_manifest) + windows_generate_manifest( +FILES "${WINDOWS_SHARED_MANIFEST_DEBUG}" +OUTPUT "${CMAKE_BINARY_DIR}/Debug/blender.shared.manifest" +NAME "blender.shared" + ) + windows_generate_manifest( +FILES "${WINDOWS_SHARED_MANIFEST_RELEASE}" +OUTPUT "${CMAKE_BINARY_DIR}/Release/blender.shared.manifest" +NAME "blender.shared" + ) + install( + FILES ${CMAKE_BINARY_DIR}/Release/blender.shared.manifest + DESTINATION "./blender.shared" + CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel + ) + install( + FILES ${CMAKE_BINARY_DIR}/Debug/blender.shared.manifest + DESTINATION "./blender.shared" + CONFIGURATIONS Debug + ) +endmacro() diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 28685671c33..4e3be0a9b0d 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -110,7 +110,41 @@ remove_cc_flag("/GR") # Make the Windows 8.1 API available for use. add_definitions(-D_WIN32_WINNT=0x603) -include(build_files/cmake/platform/platform_win32_bundle_crt.cmake) + +# First generate the manifest for tests since it will not need the dependency on the CRT. +configure_file(${CMAKE_SOURCE_DIR}/release/windows/manifest/blender.exe.manifest.in ${CMAKE_CURRENT_BINARY_DIR}/tests.exe.manifest @ONLY) + +if(WITH_WINDOWS_BUNDLE_CRT) + set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE) + set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE) + set(CMAKE_INSTALL_OPENMP_LIBRARIES ${WITH_OPENMP}) + include(InstallRequiredSystemLibraries) + + # ucrtbase(d).dll cannot be in the manifest, due to the way windows 10 handles + # redirects for this dll, for details see T88813. + foreach(lib ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}) +string(FIND ${lib} "ucrtbase" pos) +if(NOT pos EQUAL -1) + list(REMOVE_ITEM CMAKE_INSTALL_SYSTEM_RUNTIME
[Bf-blender-cvs] [70375c96d50] master: USD: prepare for building with Python support and shared libraries
Commit: 70375c96d5006e33673fe8b813d004e42aa50774 Author: Ray Molenkamp Date: Mon Dec 5 23:10:31 2022 +0100 Branches: master https://developer.blender.org/rB70375c96d5006e33673fe8b813d004e42aa50774 USD: prepare for building with Python support and shared libraries Shared libraries and USD plugins will be placed in the same folder, where USD already looks for plugins. This means that specifying the path to the plugins will no longer be needed once the new libraries are available for all platforms. For now the code was refactored to support both cases. Ref T99618 === M build_files/cmake/Modules/FindPythonLibsUnix.cmake M build_files/cmake/Modules/FindUSD.cmake M source/blender/io/usd/CMakeLists.txt M source/blender/io/usd/intern/usd_capi_export.cc M source/blender/io/usd/intern/usd_capi_import.cc M source/blender/io/usd/intern/usd_common.cc M source/blender/io/usd/tests/usd_tests_common.cc M source/blender/io/usd/usd.h M source/creator/CMakeLists.txt M source/creator/creator.c === diff --git a/build_files/cmake/Modules/FindPythonLibsUnix.cmake b/build_files/cmake/Modules/FindPythonLibsUnix.cmake index 0afe1299330..b222ed85a4f 100644 --- a/build_files/cmake/Modules/FindPythonLibsUnix.cmake +++ b/build_files/cmake/Modules/FindPythonLibsUnix.cmake @@ -13,6 +13,7 @@ # # This module defines # PYTHON_VERSION +# PYTHON_VERSION_NO_DOTS # PYTHON_INCLUDE_DIRS # PYTHON_INCLUDE_CONFIG_DIRS # PYTHON_LIBRARIES @@ -64,11 +65,11 @@ IF(DEFINED PYTHON_LIBPATH) SET(_IS_LIB_PATH_DEF ON) ENDIF() -STRING(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION}) +STRING(REPLACE "." "" PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION}) SET(_python_SEARCH_DIRS ${PYTHON_ROOT_DIR} - "$ENV{HOME}/py${_PYTHON_VERSION_NO_DOTS}" + "$ENV{HOME}/py${PYTHON_VERSION_NO_DOTS}" "/opt/lib/python-${PYTHON_VERSION}" ) @@ -211,7 +212,6 @@ IF(PYTHONLIBSUNIX_FOUND) ) ENDIF() -UNSET(_PYTHON_VERSION_NO_DOTS) UNSET(_PYTHON_ABI_FLAGS) UNSET(_python_SEARCH_DIRS) diff --git a/build_files/cmake/Modules/FindUSD.cmake b/build_files/cmake/Modules/FindUSD.cmake index ba5a3d7c843..7b776560866 100644 --- a/build_files/cmake/Modules/FindUSD.cmake +++ b/build_files/cmake/Modules/FindUSD.cmake @@ -59,6 +59,9 @@ ELSE() get_filename_component(USD_LIBRARY_DIR ${USD_LIBRARY} DIRECTORY) SET(USD_INCLUDE_DIRS ${USD_INCLUDE_DIR}) set(USD_LIBRARIES ${USD_LIBRARY}) +IF(EXISTS ${USD_INCLUDE_DIR}/pxr/base/tf/pyModule.h) + SET(USD_PYTHON_SUPPORT ON) +ENDIF() ENDIF() ENDIF() diff --git a/source/blender/io/usd/CMakeLists.txt b/source/blender/io/usd/CMakeLists.txt index 06a0f12c571..745a1c69dce 100644 --- a/source/blender/io/usd/CMakeLists.txt +++ b/source/blender/io/usd/CMakeLists.txt @@ -9,9 +9,9 @@ if(UNIX AND NOT APPLE) add_definitions(-D_GLIBCXX_PERMIT_BACKWARD_HASH) endif() if(WIN32) - add_definitions(-DNOMINMAX -DWIN32_LEAN_AND_MEAN) + add_definitions(-DNOMINMAX -DWIN32_LEAN_AND_MEAN -DBOOST_DEBUG_PYTHON) endif() -add_definitions(-DPXR_STATIC) +add_definitions(-DBOOST_ALL_NO_LIB) # USD headers use deprecated TBB headers, silence warning. add_definitions(-DTBB_SUPPRESS_DEPRECATED_MESSAGES=1) @@ -56,6 +56,7 @@ set(INC_SYS ${USD_INCLUDE_DIRS} ${BOOST_INCLUDE_DIR} ${TBB_INCLUDE_DIR} + ${PYTHON_INCLUDE_DIR} ) set(SRC @@ -122,6 +123,7 @@ set(LIB list(APPEND LIB ${BOOST_LIBRARIES} + ${PYTHON_LIBRARIES} ) if(WITH_OPENVDB) diff --git a/source/blender/io/usd/intern/usd_capi_export.cc b/source/blender/io/usd/intern/usd_capi_export.cc index bf25c03fb7a..28da9e388c5 100644 --- a/source/blender/io/usd/intern/usd_capi_export.cc +++ b/source/blender/io/usd/intern/usd_capi_export.cc @@ -174,8 +174,6 @@ bool USD_export(bContext *C, ViewLayer *view_layer = CTX_data_view_layer(C); Scene *scene = CTX_data_scene(C); - blender::io::usd::ensure_usd_plugin_path_registered(); - blender::io::usd::ExportJobData *job = static_cast( MEM_mallocN(sizeof(blender::io::usd::ExportJobData), "ExportJobData")); diff --git a/source/blender/io/usd/intern/usd_capi_import.cc b/source/blender/io/usd/intern/usd_capi_import.cc index 680e9c758d3..319f15e09af 100644 --- a/source/blender/io/usd/intern/usd_capi_import.cc +++ b/source/blender/io/usd/intern/usd_capi_import.cc @@ -382,13 +382,16 @@ static void import_freejob(void *user_data) using namespace blender::io::usd; +void USD_ensure_plugin_path_registered() +{ + blender::io::usd::ensure_usd_plugin_path_registered(); +} + bool USD_import(struct bContext *C, const char *filepath, const USDImportParams *params, bool as_background_job) { - blender::io::usd::ensure_usd_plugin_path_registered(); - /* Using new h
[Bf-blender-cvs] [c7f725c1f8e] tmp-vfx-platform-2023: deps: support for dynamic ocio + python bindings
Commit: c7f725c1f8e335ba916fff57f1d1a5200965b984 Author: Ray Molenkamp Date: Tue Dec 6 17:46:13 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBc7f725c1f8e335ba916fff57f1d1a5200965b984 deps: support for dynamic ocio + python bindings === M build_files/cmake/platform/platform_win32.cmake M source/creator/CMakeLists.txt === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 4b91f45510d..03132a5a079 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -654,31 +654,25 @@ if(WITH_OPENCOLORIO) set(OPENCOLORIO ${LIBDIR}/OpenColorIO) set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO}/include) set(OPENCOLORIO_LIBPATH ${OPENCOLORIO}/lib) -set(OPENCOLORIO_LIBRARIES - optimized ${OPENCOLORIO_LIBPATH}/OpenColorIO.lib - optimized ${OPENCOLORIO_LIBPATH}/libexpatMD.lib - optimized ${OPENCOLORIO_LIBPATH}/pystring.lib - debug ${OPENCOLORIO_LIBPATH}/OpencolorIO_d.lib - debug ${OPENCOLORIO_LIBPATH}/libexpatdMD.lib - debug ${OPENCOLORIO_LIBPATH}/pystring_d.lib -) -if(EXISTS ${OPENCOLORIO_LIBPATH}/libyaml-cpp.lib) # 3.4 name - list(APPEND OPENCOLORIO_LIBRARIES +if(EXISTS ${OPENCOLORIO_LIBPATH}/libexpatMD.lib) # 3.4 + set(OPENCOLORIO_LIBRARIES +optimized ${OPENCOLORIO_LIBPATH}/OpenColorIO.lib +optimized ${OPENCOLORIO_LIBPATH}/libexpatMD.lib +optimized ${OPENCOLORIO_LIBPATH}/pystring.lib optimized ${OPENCOLORIO_LIBPATH}/libyaml-cpp.lib -debug ${OPENCOLORIO_LIBPATH}/libyaml-cpp_d.lib - ) -elseif(EXISTS ${OPENCOLORIO_LIBPATH}/yaml-cpp.lib) # 3.5 name - list(APPEND OPENCOLORIO_LIBRARIES -optimized ${OPENCOLORIO_LIBPATH}/yaml-cpp.lib -optimized ${OPENCOLORIO_LIBPATH}/libminizip.lib +debug ${OPENCOLORIO_LIBPATH}/OpencolorIO_d.lib +debug ${OPENCOLORIO_LIBPATH}/libexpatdMD.lib +debug ${OPENCOLORIO_LIBPATH}/pystring_d.lib debug ${OPENCOLORIO_LIBPATH}/yaml-cppd.lib -debug ${OPENCOLORIO_LIBPATH}/libminizip.lib ) + set(OPENCOLORIO_DEFINITIONS "-DOpenColorIO_SKIP_IMPORTS") else() - message("FATAL YAML-CPP dependency not found") + set(OPENCOLORIO_LIBRARIES +optimized ${OPENCOLORIO_LIBPATH}/OpenColorIO.lib +debug ${OPENCOLORIO_LIBPATH}/OpencolorIO_d.lib + ) endif() endif() - set(OPENCOLORIO_DEFINITIONS "-DOpenColorIO_SKIP_IMPORTS") endif() if(WITH_OPENVDB) diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 7a393a8ddae..6837bc0da9e 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -493,6 +493,28 @@ if(WITH_OPENCOLORIO) DIRECTORY ${CMAKE_SOURCE_DIR}/release/datafiles/colormanagement DESTINATION ${TARGETDIR_VER}/datafiles ) + if(WIN32) +if(EXISTS ${LIBDIR}/opencolorio/bin/opencolorio_2_2.dll) # 3.5 + windows_install_shared_manifest( +FILES ${LIBDIR}/opencolorio/bin/opencolorio_2_2.dll +RELEASE + ) + windows_install_shared_manifest( +FILES ${LIBDIR}/opencolorio/bin/opencolorio_d_2_2.dll +DEBUG + ) + install( +FILES ${LIBDIR}/opencolorio/lib/site-packages-debug/PyOpenColorIO_d.pyd +DESTINATION ${TARGETDIR_VER}/python/lib/site-packages +CONFIGURATIONS Debug + ) + install( +FILES ${LIBDIR}/opencolorio/lib/site-packages/PyOpenColorIO.pyd +DESTINATION ${TARGETDIR_VER}/python/lib/site-packages +CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel + ) +endif() + endif() endif() # Helpful tip when using make. ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [011f3dde485] tmp-vfx-platform-2023: deps builder: dynamic ocio and py bindings on windows
Commit: 011f3dde485def927252ea977078c8ff60852fed Author: Ray Molenkamp Date: Tue Dec 6 17:43:16 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB011f3dde485def927252ea977078c8ff60852fed deps builder: dynamic ocio and py bindings on windows === M build_files/build_environment/cmake/opencolorio.cmake M build_files/build_environment/cmake/options.cmake === diff --git a/build_files/build_environment/cmake/opencolorio.cmake b/build_files/build_environment/cmake/opencolorio.cmake index fbf1a9f6354..17336c73ddb 100644 --- a/build_files/build_environment/cmake/opencolorio.cmake +++ b/build_files/build_environment/cmake/opencolorio.cmake @@ -47,11 +47,16 @@ if(BLENDER_PLATFORM_ARM) endif() if(WIN32) + set(OPENCOLORIO_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DIMATH_DLL") + if(BUILD_MODE STREQUAL Debug) +set(OPENCOLORIO_CXX_FLAGS "${OPENCOLORIO_CXX_FLAGS} -DPy_DEBUG") + endif() set(OPENCOLORIO_EXTRA_ARGS ${OPENCOLORIO_EXTRA_ARGS} --Dexpat_LIBRARY=${LIBDIR}/expat/lib/libexpatMD --DImath_LIBRARY=${LIBDIR}/imath/lib/imath${OPENEXR_VERSION_POSTFIX} --DCMAKE_CXX_FLAGS=-DIMATH_DLL +-DCMAKE_DEBUG_POSTFIX=_d + -Dexpat_LIBRARY=${LIBDIR}/expat/lib/libexpat$<$:d>MD${LIBEXT} + -DImath_LIBRARY=${LIBDIR}/imath/lib/imath${OPENEXR_VERSION_POSTFIX}${LIBEXT} +-DCMAKE_CXX_FLAGS=${OPENCOLORIO_CXX_FLAGS} ) else() set(OPENCOLORIO_EXTRA_ARGS @@ -86,20 +91,16 @@ if(WIN32) if(BUILD_MODE STREQUAL Release) ExternalProject_Add_Step(external_opencolorio after_install COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/include ${HARVEST_TARGET}/opencolorio/include + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/bin/OpenColorIO_2_2.dll ${HARVEST_TARGET}/opencolorio/bin/OpenColorIO_2_2.dll COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/lib ${HARVEST_TARGET}/opencolorio/lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/yaml-cpp.lib ${HARVEST_TARGET}/opencolorio/lib/yaml-cpp.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/expat/lib/libexpatMD.lib ${HARVEST_TARGET}/opencolorio/lib/libexpatMD.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pystring/lib/pystring.lib ${HARVEST_TARGET}/opencolorio/lib/pystring.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/minizipng/lib/libminizip.lib ${HARVEST_TARGET}/opencolorio/lib/libminizip.lib DEPENDEES install ) endif() if(BUILD_MODE STREQUAL Debug) ExternalProject_Add_Step(external_opencolorio after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/lib/Opencolorio.lib ${HARVEST_TARGET}/opencolorio/lib/OpencolorIO_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/yaml-cppd.lib ${HARVEST_TARGET}/opencolorio/lib/yaml-cppd.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/expat/lib/libexpatdMD.lib ${HARVEST_TARGET}/opencolorio/lib/libexpatdMD.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pystring/lib/pystring.lib ${HARVEST_TARGET}/opencolorio/lib/pystring_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/bin/OpenColorIO_d_2_2.dll ${HARVEST_TARGET}/opencolorio/bin/OpenColorIO_d_2_2.dll + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/lib/Opencolorio_d.lib ${HARVEST_TARGET}/opencolorio/lib/OpenColorIO_d.lib + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/lib/site-packages ${HARVEST_TARGET}/opencolorio/lib/site-packages-debug DEPENDEES install ) endif() diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake index 3d3e34e8444..44eca741e77 100644 --- a/build_files/build_environment/cmake/options.cmake +++ b/build_files/build_environment/cmake/options.cmake @@ -55,7 +55,7 @@ if(WIN32) string(APPEND COMMON_MSVC_FLAGS " /cgthreads1 ") if(WITH_OPTIMIZED_DEBUG) -set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=2 /DTINYFORMAT_ALLOW_WCHAR_STRINGS") +set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D_DEBUG /DPSAPI_VERSION=2 /DTINYFORMAT_ALLOW_WCHAR_STRINGS") else() set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=2 /DTINYFORMAT_ALLOW_WCHAR_STRINGS") endif() @@ -64,7 +64,7 @@ if(WIN32) set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MD ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=2 /DTINYFORMAT_ALLOW_WCHAR_STRINGS") if(WITH_OPTIMIZED_DEBUG) -set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DTINYFORMAT_ALLOW_WCHAR_STRINGS /DBOO
[Bf-blender-cvs] [05560d34254] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: 05560d3425475d884f95b435fe3cefff81c1427b Author: Ray Molenkamp Date: Mon Dec 5 12:49:55 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB05560d3425475d884f95b435fe3cefff81c1427b Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [a2ee7e820ba] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: a2ee7e820ba580fc9f6e75f35d5b577946ee1434 Author: Ray Molenkamp Date: Mon Dec 5 08:24:33 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBa2ee7e820ba580fc9f6e75f35d5b577946ee1434 Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === diff --cc build_files/cmake/platform/platform_apple.cmake index fca0c3a06c5,31171d083c1..db5fd54cd7b --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@@ -86,16 -98,24 +86,33 @@@ endif( if(WITH_USD) find_package(USD REQUIRED) + add_bundled_libraries(usd/lib) +endif() + +if(WITH_MATERIALX) + find_package(MaterialX) + set_and_warn_library_found("MaterialX" MaterialX_FOUND WITH_MATERIALX) + if(WITH_MATERIALX) +add_bundled_libraries(materialx/lib) + endif() endif() + + if(WITH_VULKAN_BACKEND) + find_package(MoltenVK REQUIRED) + + if(EXISTS ${LIBDIR}/vulkan) + set(VULKAN_FOUND On) + set(VULKAN_ROOT_DIR ${LIBDIR}/vulkan/macOS) + set(VULKAN_INCLUDE_DIR ${VULKAN_ROOT_DIR}/include) + set(VULKAN_LIBRARY ${VULKAN_ROOT_DIR}/lib/libvulkan.1.dylib) + + set(VULKAN_INCLUDE_DIRS ${VULKAN_INCLUDE_DIR} ${MOLTENVK_INCLUDE_DIRS}) + set(VULKAN_LIBRARIES ${VULKAN_LIBRARY} ${MOLTENVK_LIBRARIES}) + else() + message(WARNING "Vulkan SDK was not found, disabling WITH_VULKAN_BACKEND") + set(WITH_VULKAN_BACKEND OFF) + endif() + endif() if(WITH_OPENSUBDIV) find_package(OpenSubdiv) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [4a7ace4a783] blender-v3.3-release: win-launcher: linger when launched from steam
Commit: 4a7ace4a783f71d0f5ebc6c152fb503039290e7d Author: Ray Molenkamp Date: Thu Nov 17 07:29:09 2022 -0700 Branches: blender-v3.3-release https://developer.blender.org/rB4a7ace4a783f71d0f5ebc6c152fb503039290e7d win-launcher: linger when launched from steam The launcher is designed to exit as soon as possible so there's no useless processes idling. Now when steam launches blender with the launcher, this breaks the time tracking steam has as the thing it just started exits within milliseconds. There already is some code in the launcher that makes the launcher linger to support background mode. This patch extends this a bit to also wait if the parent process is steam.exe Reviewed by: brecht lichtwerk dingto Differential Revision: https://developer.blender.org/D16527 === M source/creator/blender_launcher_win32.c === diff --git a/source/creator/blender_launcher_win32.c b/source/creator/blender_launcher_win32.c index 242105e5e05..993efafb53d 100644 --- a/source/creator/blender_launcher_win32.c +++ b/source/creator/blender_launcher_win32.c @@ -4,6 +4,54 @@ #include #include +#include + +BOOL LaunchedFromSteam() +{ + HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); + BOOL isSteam = FALSE; + if (!hSnapShot) +return (FALSE); + + PROCESSENTRY32 process_entry; + process_entry.dwSize = sizeof(PROCESSENTRY32); + + if (!Process32First(hSnapShot, _entry)) { +CloseHandle(hSnapShot); +return (FALSE); + } + + /* First find our parent process ID. */ + DWORD our_pid = GetCurrentProcessId(); + DWORD parent_pid = -1; + + do { +if (process_entry.th32ProcessID == our_pid) { + parent_pid = process_entry.th32ParentProcessID; + break; +} + } while (Process32Next(hSnapShot, _entry)); + + if (parent_pid == -1 || !Process32First(hSnapShot, _entry)) { +CloseHandle(hSnapShot); +return (FALSE); + } + /* Then do another loop to find the process name of the parent. + * this is done in 2 loops, since the order of the processes is + * unknown and we may already have passed the parent process by + * the time we figure out its pid in the first loop. */ + do { +if (process_entry.th32ProcessID == parent_pid) { + if (_wcsicmp(process_entry.szExeFile, L"steam.exe") == 0) { +isSteam = TRUE; + } + break; +} + } while (Process32Next(hSnapShot, _entry)); + + CloseHandle(hSnapShot); + return isSteam; +} int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow) { @@ -68,9 +116,9 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine DWORD returnValue = success ? 0 : -1; if (success) { -/* If blender-launcher is called with background command line flag, +/* If blender-launcher is called with background command line flag or launched from steam, * wait for the blender process to exit and return its return value. */ -BOOL background = FALSE; +BOOL background = LaunchedFromSteam(); int argc = 0; LPWSTR *argv = CommandLineToArgvW(pCmdLine, ); for (int i = 0; i < argc; i++) { ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [be34354500f] blender-v3.3-release: audaspace: Fix build error with MSVC 17.4+
Commit: be34354500fdc2f5be52a3046d7e77a07114042d Author: Ray Molenkamp Date: Wed Nov 9 14:39:15 2022 -0700 Branches: blender-v3.3-release https://developer.blender.org/rBbe34354500fdc2f5be52a3046d7e77a07114042d audaspace: Fix build error with MSVC 17.4+ `DeviceManager.h` uses `std::string` without explicitly including the `` header. While older MSVC implicitly included this header somewhere, the headers for 17.4+ do not leading to a build error. === M extern/audaspace/include/devices/DeviceManager.h === diff --git a/extern/audaspace/include/devices/DeviceManager.h b/extern/audaspace/include/devices/DeviceManager.h index 27a546630e8..fa84025478f 100644 --- a/extern/audaspace/include/devices/DeviceManager.h +++ b/extern/audaspace/include/devices/DeviceManager.h @@ -27,6 +27,7 @@ #include #include #include +#include AUD_NAMESPACE_BEGIN ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [828525b2682] master: Fix: MSVC build error without TBB
Commit: 828525b2682204d87a75c575fb813a8cf2227ba3 Author: Ray Molenkamp Date: Sat Nov 26 11:44:08 2022 -0700 Branches: master https://developer.blender.org/rB828525b2682204d87a75c575fb813a8cf2227ba3 Fix: MSVC build error without TBB windows.h once more providing min/max macro's when you least want them. === M source/blender/editors/sculpt_paint/CMakeLists.txt === diff --git a/source/blender/editors/sculpt_paint/CMakeLists.txt b/source/blender/editors/sculpt_paint/CMakeLists.txt index 393f9a376af..d1a80e3e068 100644 --- a/source/blender/editors/sculpt_paint/CMakeLists.txt +++ b/source/blender/editors/sculpt_paint/CMakeLists.txt @@ -101,11 +101,10 @@ if(WITH_TBB) ${TBB_INCLUDE_DIRS} ) add_definitions(-DWITH_TBB) - if(WIN32) -# TBB includes Windows.h which will define min/max macros -# that will collide with the stl versions. +endif() + +if(WIN32) add_definitions(-DNOMINMAX) - endif() endif() blender_add_lib(bf_editor_sculpt_paint "${SRC}" "${INC}" "${INC_SYS}" "${LIB}") ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [7bc5193f5e8] tmp-libs-2.93-lts: deps_builder: Add support for cve-bin-tool
Commit: 7bc5193f5e8a35e3e2d75ddb97ca38c4d05c8600 Author: Ray Molenkamp Date: Mon Oct 10 11:48:05 2022 -0600 Branches: tmp-libs-2.93-lts https://developer.blender.org/rB7bc5193f5e8a35e3e2d75ddb97ca38c4d05c8600 deps_builder: Add support for cve-bin-tool This change adds support for intels cve-bin-tool [1] in the deps builder. This adds 2 new targets to the builder that do not build automatically but can be build on demand when required. `make cve_check` will output to the console. `make cve_check_html` will output a html file that can be shared with other people. Requirements: - A working installation of cve-bin-tool on the system Not required but higly recommended: - Obtaining a key from the nvd [2] to speed up the database download. you can pass the key to cmake using `-DCVE_CHECK_NVD_KEY=your_api_key` [1] https://github.com/intel/cve-bin-tool [2] https://nvd.nist.gov/developers/request-an-api-key Reviewed By: brecht Differential Revision: https://developer.blender.org/D16160 === M build_files/build_environment/CMakeLists.txt A build_files/build_environment/cmake/cve_check.cmake A build_files/build_environment/cmake/cve_check.csv.in M build_files/build_environment/cmake/versions.cmake === diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index a3d694b4bc3..a679eeddc2f 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -167,3 +167,4 @@ if(UNIX AND NOT APPLE) endif() include(cmake/harvest.cmake) +include(cmake/cve_check.cmake) diff --git a/build_files/build_environment/cmake/cve_check.cmake b/build_files/build_environment/cmake/cve_check.cmake new file mode 100644 index 000..dfb190bcffa --- /dev/null +++ b/build_files/build_environment/cmake/cve_check.cmake @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +# CVE Check requirements +# +# - A working installation of intels cve-bin-tool [1] has to be available in +# your path +# +# - Not strictly required, but highly recommended is obtaining a NVD key from +# nist since it significantly speeds up downloading/updating the required +# databases one can request a key on the following website: +# https://nvd.nist.gov/developers/request-an-api-key + +# Bill of Materials construction +# +# This constructs a CSV cve-bin-tool [1] can read and process. Sadly +# cve-bin-tool at this point does not take a list of CPE's and output a check +# based on that list. so we need to pick apart the CPE retrieve the vendor, +# product and version tokens and generate a CSV. +# +# [1] https://github.com/intel/cve-bin-tool + +# Because not all deps are downloaded (ie python packages) but can still have a +# xxx_CPE declared loop over all variables and look for variables ending in CPE. + +set(SBOMCONTENTS) +get_cmake_property(_variableNames VARIABLES) +foreach (_variableName ${_variableNames}) + if(_variableName MATCHES "CPE$") + string(REPLACE ":" ";" CPE_LIST ${${_variableName}}) + list(GET CPE_LIST 3 CPE_VENDOR) + list(GET CPE_LIST 4 CPE_NAME) + list(GET CPE_LIST 5 CPE_VERSION) + set(SBOMCONTENTS "${SBOMCONTENTS}${CPE_VENDOR},${CPE_NAME},${CPE_VERSION}\n") + endif() +endforeach() +configure_file(${CMAKE_SOURCE_DIR}/cmake/cve_check.csv.in ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv @ONLY) + +# Custom Targets +# +# This defines two new custom targets one could run in the build folder +# `cve_check` which will output the report to the console, and `cve_check_html` +# which will write out blender_dependencies.html in the build folder that one +# could share with other people or be used to get more information on the +# reported CVE's. +# +# cve-bin-tool takes data from the nist nvd database which rate limits +# unauthenticated requests to 1 requests per 6 seconds making the database +# download take "quite a bit" of time. +# +# When adding -DCVE_CHECK_NVD_KEY=your_api_key_here to your cmake invocation +# this key will be passed on to cve-bin-tool speeding up the process. +# +if(DEFINED CVE_CHECK_NVD_KEY) + set(NVD_ARGS --nvd-api-key ${CVE_CHECK_NVD_KEY}) +endif() + +# This will just report to the console +add_custom_target(cve_check + COMMAND cve-bin-tool +${NVD_ARGS} +-i ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv +--affected-versions + SOURCES ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv +) + +# This will write out blender_dependencies.html +add_custom_target(cve_check_html + COMMAND cve-bin-tool +${NVD_ARGS} +-i ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv +-f html + SOURCES ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv +) diff --git a/build_files/build_environment/cmake/cve_check.csv.in b/build_files/build_environment/cmake/cve_check.csv.in new file mode 100644
[Bf-blender-cvs] [c9df21fac7a] tmp-libs-2.93-lts: deps_builder: harden the package download process
Commit: c9df21fac7af91090684227e195f4a20c642659a Author: Ray Molenkamp Date: Wed Oct 5 12:05:26 2022 -0600 Branches: tmp-libs-2.93-lts https://developer.blender.org/rBc9df21fac7af91090684227e195f4a20c642659a deps_builder: harden the package download process During the 3.3 release some packages were missing in SVN during the release and it ended up building the release tarball without issues when re-running the `make source_archive_complete` command after it failed initially. The tarball however had 0 byte files for the missing packages not good. This diff hardens the download process by : 1) Validating all required variables are set. This catches the erroneously attempt at downloading the nanovdb package even though we have removed it from versions.cmake but neglected to remove it from download.cmake 2) When a download fails (due to either a missing package, or bad download URL) FILE Download will warn about a hash mismatch but will carry on happily, you then have to go into the file system go delete the 0 byte file to retry the download. We know for a fact the file is bad when it is 0 bytes, just delete it. 3) When we are using the blender repository (and likely building a source archive) explicitly validate the hash of all packages. Normally the build process does this, however when building a source archive the build does not actually run for a dep. So preform this check during the configuration stage. Reviewed By: brecht Differential Revision: https://developer.blender.org/D16124 === M build_files/build_environment/cmake/download.cmake === diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake index 27351ddee45..37ad8f77372 100644 --- a/build_files/build_environment/cmake/download.cmake +++ b/build_files/build_environment/cmake/download.cmake @@ -7,6 +7,20 @@ function(download_source dep) else() set(TARGET_URI https://svn.blender.org/svnroot/bf-blender/trunk/lib/packages/${TARGET_FILE}) endif() + # Validate all required variables are set and give an explicit error message + # rather than CMake erroring out later on with a more ambigious error. + if (NOT DEFINED TARGET_FILE) +message(FATAL_ERROR "${dep}_FILE variable not set") + endif() + if (NOT DEFINED TARGET_HASH) +message(FATAL_ERROR "${dep}_HASH variable not set") + endif() + if (NOT DEFINED TARGET_HASH_TYPE) +message(FATAL_ERROR "${dep}_HASH_TYPE variable not set") + endif() + if (NOT DEFINED TARGET_URI) +message(FATAL_ERROR "${dep}_URI variable not set") + endif() set(TARGET_FILE ${PACKAGE_DIR}/${TARGET_FILE}) message("Checking source : ${dep} (${TARGET_FILE})") if(NOT EXISTS ${TARGET_FILE}) @@ -18,6 +32,36 @@ function(download_source dep) SHOW_PROGRESS ) endif() + if(EXISTS ${TARGET_FILE}) +# Sometimes the download fails, but that is not a +# fail condition for "file(DOWNLOAD" it will warn about +# a crc mismatch and just carry on, we need to explicitly +# catch this and remove the bogus 0 byte file so we can +# retry without having to go find the file and manually +# delete it. +file (SIZE ${TARGET_FILE} TARGET_SIZE) +if(${TARGET_SIZE} EQUAL 0) + file(REMOVE ${TARGET_FILE}) + message(FATAL_ERROR "for ${TARGET_FILE} file size 0, download likely failed, deleted...") +endif() + +# If we are using sources from the blender repo also +# validate that the hashes match, this takes a +# little more time, but protects us when we are +# building a release package and one of the packages +# is missing or incorrect. +# +# For regular platform maintenaince this is not needed +# since the actual build of the dep will notify the +# platform maintainer if there is a problem with the +# source package and refuse to build. +if(NOT PACKAGE_USE_UPSTREAM_SOURCES) + file(${TARGET_HASH_TYPE} ${TARGET_FILE} LOCAL_HASH) + if(NOT ${TARGET_HASH} STREQUAL ${LOCAL_HASH}) +message(FATAL_ERROR "${TARGET_FILE} ${TARGET_HASH_TYPE} mismatch\nExpected\t: ${TARGET_HASH}\nActual\t: ${LOCAL_HASH}") + endif() +endif() + endif() endfunction(download_source) download_source(ZLIB) @@ -48,7 +92,6 @@ download_source(OSL) download_source(PYTHON) download_source(TBB) download_source(OPENVDB) -download_source(NANOVDB) download_source(NUMPY) download_source(LAME) download_source(OGG) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [04f697887ee] tmp-vfx-platform-2023: deps: Add oiio python bindings
Commit: 04f697887ee6bca42a26e5733c728bfa58d89626 Author: Ray Molenkamp Date: Tue Nov 22 10:29:17 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB04f697887ee6bca42a26e5733c728bfa58d89626 deps: Add oiio python bindings This adds the python bindings for OIIO tested on windows only at this point. New build time dep pybind11 which is header only. === M build_files/build_environment/CMakeLists.txt M build_files/build_environment/cmake/download.cmake M build_files/build_environment/cmake/openimageio.cmake A build_files/build_environment/cmake/pybind11.cmake M build_files/build_environment/cmake/versions.cmake M release/scripts/site/usercustomize.py M source/creator/CMakeLists.txt === diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index 0e3df021a25..f8a4d5d8c20 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -68,7 +68,6 @@ endif() if(UNIX) include(cmake/nasm.cmake) endif() -include(cmake/openimageio.cmake) include(cmake/tiff.cmake) if(WIN32) include(cmake/flexbison.cmake) @@ -87,6 +86,7 @@ else() endif() include(cmake/python_site_packages.cmake) include(cmake/package_python.cmake) +include(cmake/openimageio.cmake) include(cmake/usd.cmake) include(cmake/materialx.cmake) include(cmake/openvdb.cmake) @@ -184,5 +184,6 @@ endif() include(cmake/shaderc_deps.cmake) include(cmake/shaderc.cmake) include(cmake/vulkan.cmake) +include(cmake/pybind11.cmake) include(cmake/harvest.cmake) include(cmake/cve_check.cmake) diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake index 292cc994a44..a6fa82bceed 100644 --- a/build_files/build_environment/cmake/download.cmake +++ b/build_files/build_environment/cmake/download.cmake @@ -173,3 +173,4 @@ download_source(SHADERC_SPIRV_HEADERS) download_source(SHADERC_GLSLANG) download_source(VULKAN_HEADERS) download_source(VULKAN_LOADER) +download_source(PYBIND11) diff --git a/build_files/build_environment/cmake/openimageio.cmake b/build_files/build_environment/cmake/openimageio.cmake index 33ab3d51b3a..329d525e60e 100644 --- a/build_files/build_environment/cmake/openimageio.cmake +++ b/build_files/build_environment/cmake/openimageio.cmake @@ -56,7 +56,7 @@ set(OPENIMAGEIO_EXTRA_ARGS -DUSE_OPENGL=OFF -DUSE_TBB=OFF -DUSE_QT=OFF - -DUSE_PYTHON=OFF + -DUSE_PYTHON=ON -DUSE_GIF=OFF -DUSE_OPENCV=OFF -DUSE_OPENJPEG=ON @@ -94,6 +94,8 @@ set(OPENIMAGEIO_EXTRA_ARGS ${OIIO_SIMD_FLAGS} -DOpenEXR_ROOT=${LIBDIR}/openexr -DImath_ROOT=${LIBDIR}/imath + -Dpybind11_ROOT=${LIBDIR}/pybind11 + -DPython_EXECUTABLE=${PYTHON_BINARY} ) ExternalProject_Add(external_openimageio @@ -121,6 +123,7 @@ add_dependencies( external_robinmap external_openjpeg${OPENJPEG_POSTFIX} external_webp + external_pybind11 ) if(WIN32) @@ -140,6 +143,7 @@ if(WIN32) COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO_Util_d.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_Util_d.lib COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/OpenImageIO_d.dll ${HARVEST_TARGET}/OpenImageIO/bin/OpenImageIO_d.dll COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/OpenImageIO_Util_d.dll ${HARVEST_TARGET}/OpenImageIO/bin/OpenImageIO_Util_d.dll + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/lib/python${PYTHON_SHORT_VERSION}/ ${HARVEST_TARGET}/OpenImageIO/lib/python${PYTHON_SHORT_VERSION}_debug/ DEPENDEES install ) endif() diff --git a/build_files/build_environment/cmake/pybind11.cmake b/build_files/build_environment/cmake/pybind11.cmake new file mode 100644 index 000..971300ef394 --- /dev/null +++ b/build_files/build_environment/cmake/pybind11.cmake @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +set(PYBIND11_EXTRA_ARGS + -DPYBIND11_TEST=OFF + -DPYTHON_EXECUTABLE=${PYTHON_BINARY} +) + +ExternalProject_Add(external_pybind11 + URL file://${PACKAGE_DIR}/${PYBIND11_FILE} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH ${PYBIND11_HASH_TYPE}=${PYBIND11_HASH} + PREFIX ${BUILD_DIR}/pybind11 + CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/pybind11 ${DEFAULT_CMAKE_FLAGS} ${PYBIND11_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/pybind11 +) diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index 46ff62a79df..76744d12f6c 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -776,3 +776,8 @@ set(VULKAN_LOADER_HASH 015170a74f648fd2b41e209b6bf1ebc4) set(VULKAN_LOADER_HASH_TYPE MD5) set(VULKAN_LOADER_FILE Vulkan
[Bf-blender-cvs] [a7875fdac6b] tmp-vfx-platform-2023: Deps: Add 2 missing files for MaterialX
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 000..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 000..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 ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [2f385b0df1e] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: 2f385b0df1e745aa4daab9c655da1a381af15bb0 Author: Ray Molenkamp Date: Mon Nov 21 14:02:13 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB2f385b0df1e745aa4daab9c655da1a381af15bb0 Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [1c33d1813df] tmp-vfx-platform-2023: deps/win: support building against older lib folder
Commit: 1c33d1813dfd48b7553ada45065043cf8dcb82bd Author: Ray Molenkamp Date: Mon Nov 21 12:58:26 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB1c33d1813dfd48b7553ada45065043cf8dcb82bd deps/win: support building against older lib folder We try to support both 3.4 and 3.5 lib folders to make bisecting a little easier. Disable materialX if it is not found in the windows library folder. Linux already does this. === M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 6cbc7656165..1cab2ee70ad 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -285,6 +285,11 @@ if(CMAKE_GENERATOR MATCHES "^Visual Studio.+" AND WITH_CLANG_TIDY) set(VS_CLANG_TIDY ON) endif() +# To support building against both 3.4 and 3.5 lib folders, disable materialX if it is not found +set(MATERIALX_LIB_FOLDER_EXISTS EXISTS ${LIBDIR}/materialx) +set_and_warn_library_found("MaterialX" MATERIALX_LIB_FOLDER_EXISTS WITH_MATERIALX) +unset(MATERIALX_LIB_FOLDER_EXISTS) + # Mark libdir as system headers with a lower warn level, to resolve some warnings # that we have very little control over if(NOT MSVC_CLANG AND # Available with MSVC 15.7+ but not for CLANG. ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [7a6cdeb2427] master: Merge remote-tracking branch 'origin/blender-v3.4-release'
Commit: 7a6cdeb24279495320377c14540e185fa86a8873 Author: Ray Molenkamp Date: Sun Nov 20 18:31:53 2022 -0700 Branches: master https://developer.blender.org/rB7a6cdeb24279495320377c14540e185fa86a8873 Merge remote-tracking branch 'origin/blender-v3.4-release' === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [24bd2d0beac] blender-v3.4-release: Fix T98726: Include blender version number in windows shortcuts
Commit: 24bd2d0beac429de03da7dbea5384ef5c01995e2 Author: Ray Molenkamp Date: Sun Nov 20 18:31:00 2022 -0700 Branches: blender-v3.4-release https://developer.blender.org/rB24bd2d0beac429de03da7dbea5384ef5c01995e2 Fix T98726: Include blender version number in windows shortcuts You can install several versions of blender side by side and all of them will try to create a "Blender" shortcut, which if already exists the msi installer throws a warning about. This change adds the blender version number to the desktop and start menu shortcuts, side steps the problem and it's easier to tell the various blender versions apart. === M build_files/cmake/packaging.cmake === diff --git a/build_files/cmake/packaging.cmake b/build_files/cmake/packaging.cmake index f178317fc36..91d70e64b94 100644 --- a/build_files/cmake/packaging.cmake +++ b/build_files/cmake/packaging.cmake @@ -106,8 +106,8 @@ if(WIN32) set(CPACK_WIX_LIGHT_EXTRA_FLAGS -dcl:medium) endif() -set(CPACK_PACKAGE_EXECUTABLES "blender-launcher" "Blender") -set(CPACK_CREATE_DESKTOP_LINKS "blender-launcher" "Blender") +set(CPACK_PACKAGE_EXECUTABLES "blender-launcher" "Blender ${MAJOR_VERSION}.${MINOR_VERSION}") +set(CPACK_CREATE_DESKTOP_LINKS "blender-launcher" "Blender ${MAJOR_VERSION}.${MINOR_VERSION}") include(CPack) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [3a5256307dc] tmp-vfx-platform-2023: deps: cleanup python windows build
Commit: 3a5256307dc3bcc64d47874ed9e3afa5e68a6f90 Author: Ray Molenkamp Date: Sat Nov 19 10:40:19 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB3a5256307dc3bcc64d47874ed9e3afa5e68a6f90 deps: cleanup python windows build Move linking the openssl and zlib folders to the patch step so you can run several builds in a row without having to remove the folder also fix typo in the patch === M build_files/build_environment/cmake/python.cmake M build_files/build_environment/patches/python_windows.diff === diff --git a/build_files/build_environment/cmake/python.cmake b/build_files/build_environment/cmake/python.cmake index c9a0d5ab6af..3d055a8af0b 100644 --- a/build_files/build_environment/cmake/python.cmake +++ b/build_files/build_environment/cmake/python.cmake @@ -34,12 +34,13 @@ if(WIN32) # the foldernames *HAVE* to match the ones inside pythons get_externals.cmd. # python 3.10.8 still ships zlib 1.2.12, replace it with our 1.2.13 # copy until they update. Same rules apply to openssl foldernames HAVE to match -# regardless of the version actually in there. -CONFIGURE_COMMAND mkdir ${PYTHON_EXTERNALS_FOLDER_DOS} && +# regardless of the version actually in there. +PATCH_COMMAND mkdir ${PYTHON_EXTERNALS_FOLDER_DOS} && mklink /J ${PYTHON_EXTERNALS_FOLDER_DOS}\\zlib-1.2.12 ${ZLIB_SOURCE_FOLDER_DOS} && mklink /J ${PYTHON_EXTERNALS_FOLDER_DOS}\\openssl-1.1.1q ${SSL_SOURCE_FOLDER_DOS} && ${CMAKE_COMMAND} -E copy ${ZLIB_SOURCE_FOLDER}/../external_zlib-build/zconf.h ${PYTHON_EXTERNALS_FOLDER}/zlib-1.2.12/zconf.h && ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_windows.diff +CONFIGURE_COMMAND echo "." BUILD_COMMAND ${CONFIGURE_ENV_MSVC} && cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && set LDFLAGS=/DEBUG && call prepare_ssl.bat && call build.bat -e -p x64 -c ${BUILD_MODE} INSTALL_COMMAND ${PYTHON_BINARY_INTERNAL} ${PYTHON_SRC}/PC/layout/main.py -b ${PYTHON_SRC}/PCbuild/amd64 -s ${PYTHON_SRC} -t ${PYTHON_SRC}/tmp/ --include-stable --include-pip --include-dev --include-launchers --include-venv --include-symbols ${PYTHON_EXTRA_INSTLAL_FLAGS} --copy ${LIBDIR}/python ) diff --git a/build_files/build_environment/patches/python_windows.diff b/build_files/build_environment/patches/python_windows.diff index 5b6434f1440..a8d0d6d8126 100644 --- a/build_files/build_environment/patches/python_windows.diff +++ b/build_files/build_environment/patches/python_windows.diff @@ -8,7 +8,7 @@ -if errorlevel 1 exit /b +REM Blender: we only need x64, ssl is kind of a long build, so just build what we need +REM %MSBUILD% "%PCBUILD%\openssl.vcxproj" /p:Configuration=Release /p:Platform=Win32 -+REMif errorlevel 1 exit /b ++REM if errorlevel 1 exit /b %MSBUILD% "%PCBUILD%\openssl.vcxproj" /p:Configuration=Release /p:Platform=x64 if errorlevel 1 exit /b -%MSBUILD% "%PCBUILD%\openssl.vcxproj" /p:Configuration=Release /p:Platform=ARM ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [155d0df5a5d] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: 155d0df5a5d00802ed21fb502b7b5a3b59e61084 Author: Ray Molenkamp Date: Fri Nov 18 09:44:55 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB155d0df5a5d00802ed21fb502b7b5a3b59e61084 Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [c8fee4ce2d2] tmp-vfx-platform-2023: deps: use meson from the builder rather than system
Commit: c8fee4ce2d2096223d41d4d18d91efda48369f75 Author: Ray Molenkamp Date: Fri Nov 18 09:44:30 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBc8fee4ce2d2096223d41d4d18d91efda48369f75 deps: use meson from the builder rather than system The only deps that were updated were the ones that did not work with the stand-alone meson. best to use the same meson version uniformly across all deps. === M build_files/build_environment/cmake/epoxy.cmake M build_files/build_environment/cmake/mesa.cmake M build_files/build_environment/cmake/wayland.cmake M build_files/build_environment/cmake/wayland_protocols.cmake === diff --git a/build_files/build_environment/cmake/epoxy.cmake b/build_files/build_environment/cmake/epoxy.cmake index 4cd9158f2ac..fe674135842 100644 --- a/build_files/build_environment/cmake/epoxy.cmake +++ b/build_files/build_environment/cmake/epoxy.cmake @@ -10,7 +10,7 @@ ExternalProject_Add(external_epoxy URL_HASH ${EPOXY_HASH_TYPE}=${EPOXY_HASH} PREFIX ${BUILD_DIR}/epoxy PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/epoxy/src/external_epoxy/ < ${PATCH_DIR}/epoxy.diff - CONFIGURE_COMMAND ${CONFIGURE_ENV} && meson setup --prefix ${LIBDIR}/epoxy --default-library ${EPOXY_LIB_TYPE} --libdir lib ${BUILD_DIR}/epoxy/src/external_epoxy-build ${BUILD_DIR}/epoxy/src/external_epoxy -Dtests=false + CONFIGURE_COMMAND ${CONFIGURE_ENV} && ${MESON} setup --prefix ${LIBDIR}/epoxy --default-library ${EPOXY_LIB_TYPE} --libdir lib ${BUILD_DIR}/epoxy/src/external_epoxy-build ${BUILD_DIR}/epoxy/src/external_epoxy -Dtests=false BUILD_COMMAND ninja INSTALL_COMMAND ninja install ) diff --git a/build_files/build_environment/cmake/mesa.cmake b/build_files/build_environment/cmake/mesa.cmake index 9c0d613daa5..63b17189e10 100644 --- a/build_files/build_environment/cmake/mesa.cmake +++ b/build_files/build_environment/cmake/mesa.cmake @@ -43,7 +43,7 @@ ExternalProject_Add(external_mesa PREFIX ${BUILD_DIR}/mesa CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/mesa/src/external_mesa/ && -meson ${BUILD_DIR}/mesa/src/external_mesa-build --prefix=${LIBDIR}/mesa ${MESA_EXTRA_FLAGS} +${MESON} ${BUILD_DIR}/mesa/src/external_mesa-build --prefix=${LIBDIR}/mesa ${MESA_EXTRA_FLAGS} BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/mesa/src/external_mesa-build && ninja -j${MAKE_THREADS} INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/mesa/src/external_mesa-build && ninja install INSTALL_DIR ${LIBDIR}/mesa diff --git a/build_files/build_environment/cmake/wayland.cmake b/build_files/build_environment/cmake/wayland.cmake index c73db1d10ff..279ca6a787c 100644 --- a/build_files/build_environment/cmake/wayland.cmake +++ b/build_files/build_environment/cmake/wayland.cmake @@ -14,7 +14,7 @@ ExternalProject_Add(external_wayland # NOTE: `-lm` is needed for `libxml2` which is a static library that uses `libm.so`, # without this, math symbols such as `floor` aren't found. CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env PKG_CONFIG_PATH=${LIBDIR}/expat/lib/pkgconfig:${LIBDIR}/xml2/lib/pkgconfig:${LIBDIR}/ffi/lib/pkgconfig:$PKG_CONFIG_PATH -meson --prefix ${LIBDIR}/wayland -Ddocumentation=false -Dtests=false -D "c_link_args=-L${LIBDIR}/ffi/lib -lm" . ../external_wayland +${MESON} --prefix ${LIBDIR}/wayland -Ddocumentation=false -Dtests=false -D "c_link_args=-L${LIBDIR}/ffi/lib -lm" . ../external_wayland BUILD_COMMAND ninja INSTALL_COMMAND ninja install ) diff --git a/build_files/build_environment/cmake/wayland_protocols.cmake b/build_files/build_environment/cmake/wayland_protocols.cmake index 9bdbc38fd6c..6d5ff3eb89e 100644 --- a/build_files/build_environment/cmake/wayland_protocols.cmake +++ b/build_files/build_environment/cmake/wayland_protocols.cmake @@ -7,7 +7,7 @@ ExternalProject_Add(external_wayland_protocols PREFIX ${BUILD_DIR}/wayland-protocols # Use `-E` so the `PKG_CONFIG_PATH` can be defined to link against our own WAYLAND. CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env PKG_CONFIG_PATH=${LIBDIR}/wayland/lib64/pkgconfig:$PKG_CONFIG_PATH -meson --prefix ${LIBDIR}/wayland-protocols . ../external_wayland_protocols -Dtests=false +${MESON} --prefix ${LIBDIR}/wayland-protocols . ../external_wayland_protocols -Dtests=false BUILD_COMMAND ninja INSTALL_COMMAND ninja install ) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [72cbb44e023] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: 72cbb44e023cdd67680064ed3b5d40f6fe25f3a3 Author: Ray Molenkamp Date: Fri Nov 11 10:01:21 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB72cbb44e023cdd67680064ed3b5d40f6fe25f3a3 Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [53f401ea634] master: Merge remote-tracking branch 'origin/blender-v3.4-release'
Commit: 53f401ea63472406db1ca3f3ac65a498ab9ed4f5 Author: Ray Molenkamp Date: Thu Nov 17 07:29:58 2022 -0700 Branches: master https://developer.blender.org/rB53f401ea63472406db1ca3f3ac65a498ab9ed4f5 Merge remote-tracking branch 'origin/blender-v3.4-release' === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [58795c60470] blender-v3.4-release: win-launcher: linger when launched from steam
Commit: 58795c60470cedf52a3b3d4dff8199e2d84c1af0 Author: Ray Molenkamp Date: Thu Nov 17 07:29:09 2022 -0700 Branches: blender-v3.4-release https://developer.blender.org/rB58795c60470cedf52a3b3d4dff8199e2d84c1af0 win-launcher: linger when launched from steam The launcher is designed to exit as soon as possible so there's no useless processes idling. Now when steam launches blender with the launcher, this breaks the time tracking steam has as the thing it just started exits within milliseconds. There already is some code in the launcher that makes the launcher linger to support background mode. This patch extends this a bit to also wait if the parent process is steam.exe Reviewed by: brecht lichtwerk dingto Differential Revision: https://developer.blender.org/D16527 === M source/creator/blender_launcher_win32.c === diff --git a/source/creator/blender_launcher_win32.c b/source/creator/blender_launcher_win32.c index 242105e5e05..993efafb53d 100644 --- a/source/creator/blender_launcher_win32.c +++ b/source/creator/blender_launcher_win32.c @@ -4,6 +4,54 @@ #include #include +#include + +BOOL LaunchedFromSteam() +{ + HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); + BOOL isSteam = FALSE; + if (!hSnapShot) +return (FALSE); + + PROCESSENTRY32 process_entry; + process_entry.dwSize = sizeof(PROCESSENTRY32); + + if (!Process32First(hSnapShot, _entry)) { +CloseHandle(hSnapShot); +return (FALSE); + } + + /* First find our parent process ID. */ + DWORD our_pid = GetCurrentProcessId(); + DWORD parent_pid = -1; + + do { +if (process_entry.th32ProcessID == our_pid) { + parent_pid = process_entry.th32ParentProcessID; + break; +} + } while (Process32Next(hSnapShot, _entry)); + + if (parent_pid == -1 || !Process32First(hSnapShot, _entry)) { +CloseHandle(hSnapShot); +return (FALSE); + } + /* Then do another loop to find the process name of the parent. + * this is done in 2 loops, since the order of the processes is + * unknown and we may already have passed the parent process by + * the time we figure out its pid in the first loop. */ + do { +if (process_entry.th32ProcessID == parent_pid) { + if (_wcsicmp(process_entry.szExeFile, L"steam.exe") == 0) { +isSteam = TRUE; + } + break; +} + } while (Process32Next(hSnapShot, _entry)); + + CloseHandle(hSnapShot); + return isSteam; +} int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow) { @@ -68,9 +116,9 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine DWORD returnValue = success ? 0 : -1; if (success) { -/* If blender-launcher is called with background command line flag, +/* If blender-launcher is called with background command line flag or launched from steam, * wait for the blender process to exit and return its return value. */ -BOOL background = FALSE; +BOOL background = LaunchedFromSteam(); int argc = 0; LPWSTR *argv = CommandLineToArgvW(pCmdLine, ); for (int i = 0; i < argc; i++) { ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [533c396898c] master: Merge remote-tracking branch 'origin/blender-v3.4-release'
Commit: 533c396898c170a0e55993d7ce6af04ca6efce32 Author: Ray Molenkamp Date: Sat Nov 12 13:32:26 2022 -0700 Branches: master https://developer.blender.org/rB533c396898c170a0e55993d7ce6af04ca6efce32 Merge remote-tracking branch 'origin/blender-v3.4-release' === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [1b34da5da63] blender-v3.4-release: Fix: OpenSubdiv reporting version 0.0.0 in system_info.txt
Commit: 1b34da5da6390492c5114796d1e860214bd97e1c Author: Ray Molenkamp Date: Sat Nov 12 13:31:55 2022 -0700 Branches: blender-v3.4-release https://developer.blender.org/rB1b34da5da6390492c5114796d1e860214bd97e1c Fix: OpenSubdiv reporting version 0.0.0 in system_info.txt OSD Lists as 0, 0, 0 this is due to opensubdiv_capi.cc not actually including the OSD version header, so it's not getting the version define, and the code in openSubdiv_getVersionHex is really well prepared to deal with any or no version at all of OSD, catches the problem and returns 0, 0, 0 Given this file is only build when OSD is enabled we can just blindly include opensubdiv/version.h here Reviewed by: brecht Differential Revision: https://developer.blender.org/D16398 === M intern/opensubdiv/internal/base/opensubdiv_capi.cc === diff --git a/intern/opensubdiv/internal/base/opensubdiv_capi.cc b/intern/opensubdiv/internal/base/opensubdiv_capi.cc index 40d820836b9..db302e3d5de 100644 --- a/intern/opensubdiv/internal/base/opensubdiv_capi.cc +++ b/intern/opensubdiv/internal/base/opensubdiv_capi.cc @@ -15,7 +15,7 @@ // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "opensubdiv_capi.h" - +#include "opensubdiv/version.h" #ifdef _MSC_VER # include #endif ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [5465aa63d57] master: Merge branch 'blender-v3.4-release'
Commit: 5465aa63d57939febdbc92f7b2ef0cfe8b3ae402 Author: Ray Molenkamp Date: Fri Nov 11 13:49:55 2022 -0700 Branches: master https://developer.blender.org/rB5465aa63d57939febdbc92f7b2ef0cfe8b3ae402 Merge branch 'blender-v3.4-release' === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [c5b36aa9404] blender-v3.4-release: tests: Disable lattice_deform_performance test
Commit: c5b36aa9404be6859fee7c3d212e484ea9b1d1dc Author: Ray Molenkamp Date: Fri Nov 11 13:49:12 2022 -0700 Branches: blender-v3.4-release https://developer.blender.org/rBc5b36aa9404be6859fee7c3d212e484ea9b1d1dc tests: Disable lattice_deform_performance test This test is disabled for the following reasons: This test is one of the longer ones in this suite (2979 out of 3559ms total) and nothing is currently monitoring the performance, if this test were to be 20% slower one day, no-one would actually notice. there are no asserts, the test actually cannot fail. it's good to have some benchmark code, so like some of the other mesh benchmark code, exclude it using an `#ifdef` guard so i can be easily re-enabled when needed. reviewed by: jbakker Differential Revision: https://developer.blender.org/D16314 === M source/blender/blenkernel/intern/lattice_deform_test.cc === diff --git a/source/blender/blenkernel/intern/lattice_deform_test.cc b/source/blender/blenkernel/intern/lattice_deform_test.cc index 58aadf652b7..c66feedc878 100644 --- a/source/blender/blenkernel/intern/lattice_deform_test.cc +++ b/source/blender/blenkernel/intern/lattice_deform_test.cc @@ -13,6 +13,9 @@ #include "BLI_rand.hh" +#define DO_PERF_TESTS 0 + +#if DO_PERF_TESTS namespace blender::bke::tests { struct LatticeDeformTestContext { @@ -122,3 +125,4 @@ TEST(lattice_deform_performance, performance_no_dvert_1000) } } // namespace blender::bke::tests +#endif ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [fa1b64eaed8] tmp-vfx-platform-2023: deps: fix USD build on linux
Commit: fa1b64eaed8a67ebfffa5cfc2d919a87ffeb416c Author: Ray Molenkamp Date: Thu Nov 10 17:22:20 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBfa1b64eaed8a67ebfffa5cfc2d919a87ffeb416c deps: fix USD build on linux === M build_files/build_environment/cmake/usd.cmake === diff --git a/build_files/build_environment/cmake/usd.cmake b/build_files/build_environment/cmake/usd.cmake index 645632043c2..439d098a847 100644 --- a/build_files/build_environment/cmake/usd.cmake +++ b/build_files/build_environment/cmake/usd.cmake @@ -43,7 +43,7 @@ set(USD_EXTRA_ARGS ${USD_PLATFORM_FLAGS} -DOPENSUBDIV_ROOT_DIR=${LIBDIR}/opensubdiv -DOpenImageIO_ROOT=${LIBDIR}/openimageio - -DOPENEXR_LIBRARIES=${LIBDIR}/imath/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${LIBEXT} + -DOPENEXR_LIBRARIES=${LIBDIR}/imath/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${SHAREDLIBEXT} -DOPENEXR_INCLUDE_DIR=${LIBDIR}/imath/include -DImath_DIR=${LIBDIR}/imath -DOPENVDB_LOCATION=${LIBDIR}/openvdb ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [f8011249b40] tmp-vfx-platform-2023: deps: fix harfbuzz build on linux
Commit: f8011249b4050aa816d900cbacae66d46ce4836b Author: Ray Molenkamp Date: Thu Nov 10 17:21:47 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBf8011249b4050aa816d900cbacae66d46ce4836b deps: fix harfbuzz build on linux === M build_files/build_environment/cmake/harfbuzz.cmake === diff --git a/build_files/build_environment/cmake/harfbuzz.cmake b/build_files/build_environment/cmake/harfbuzz.cmake index 0ae9b11d627..619ed66f603 100644 --- a/build_files/build_environment/cmake/harfbuzz.cmake +++ b/build_files/build_environment/cmake/harfbuzz.cmake @@ -1,9 +1,11 @@ # SPDX-License-Identifier: GPL-2.0-or-later if(WIN32) - set(HARFBUZZ_CONFIGURE_ENV ${CONFIGURE_ENV_MSVC} && set FREETYPE_DIR=${LIBDIR}/freetype) + set(HARFBUZZ_CONFIGURE_ENV ${CONFIGURE_ENV_MSVC}) + set(HARFBUZZ_PKG_ENV FREETYPE_DIR=${LIBDIR}/freetype) else() - set(HARFBUZZ_CONFIGURE_ENV ${CONFIGURE_ENV} && PKG_CONFIG_PATH=${LIBDIR}/freetype/lib/pkgconfig:${LIBDIR}/brotli/lib/pkgconfig) + set(HARFBUZZ_CONFIGURE_ENV ${CONFIGURE_ENV}) + set(HARFBUZZ_PKG_ENV PKG_CONFIG_PATH=${LIBDIR}/freetype/lib/pkgconfig:${LIBDIR}/brotli/lib/pkgconfig:$PKG_CONFIG_PATH) endif() set(HARFBUZZ_EXTRA_OPTIONS @@ -18,7 +20,8 @@ ExternalProject_Add(external_harfbuzz URL_HASH ${HARFBUZZ_HASH_TYPE}=${HARFBUZZ_HASH} DOWNLOAD_DIR ${DOWNLOAD_DIR} PREFIX ${BUILD_DIR}/harfbuzz - CONFIGURE_COMMAND ${HARFBUZZ_CONFIGURE_ENV} && ${MESON} setup --prefix ${LIBDIR}/harfbuzz ${HARFBUZZ_EXTRA_OPTIONS} --default-library static --libdir lib ${BUILD_DIR}/harfbuzz/src/external_harfbuzz-build ${BUILD_DIR}/harfbuzz/src/external_harfbuzz + CONFIGURE_COMMAND ${HARFBUZZ_CONFIGURE_ENV} && +${CMAKE_COMMAND} -E env ${HARFBUZZ_PKG_ENV} ${MESON} setup --prefix ${LIBDIR}/harfbuzz ${HARFBUZZ_EXTRA_OPTIONS} --default-library static --libdir lib ${BUILD_DIR}/harfbuzz/src/external_harfbuzz-build ${BUILD_DIR}/harfbuzz/src/external_harfbuzz BUILD_COMMAND ninja INSTALL_COMMAND ninja install INSTALL_DIR ${LIBDIR}/harfbuzz ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [140a83e2023] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: 140a83e2023041fed7e48028faf0f1d3e3faf0fc Author: Ray Molenkamp Date: Thu Nov 10 12:03:13 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB140a83e2023041fed7e48028faf0f1d3e3faf0fc Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [24bd098dbaf] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: 24bd098dbaf8d26511cb416badb8489d1fcfe00b Author: Ray Molenkamp Date: Wed Nov 9 15:23:52 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB24bd098dbaf8d26511cb416badb8489d1fcfe00b Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [d49dec896aa] master: Attempt to fix build error on Windows
Commit: d49dec896aaae5e2cdb5f2e2926f3bd010f4a0fe Author: Ray Molenkamp Date: Wed Nov 9 23:09:56 2022 +0100 Branches: master https://developer.blender.org/rBd49dec896aaae5e2cdb5f2e2926f3bd010f4a0fe Attempt to fix build error on Windows Was failing since 1efc94bb2f7b, probably because some include uses `std::min()`/`std::max()` which messes with the windows min/max defines. === M source/blender/editors/space_file/CMakeLists.txt === diff --git a/source/blender/editors/space_file/CMakeLists.txt b/source/blender/editors/space_file/CMakeLists.txt index 688aa846c30..76564f38da8 100644 --- a/source/blender/editors/space_file/CMakeLists.txt +++ b/source/blender/editors/space_file/CMakeLists.txt @@ -46,6 +46,10 @@ set(LIB bf_blenkernel ) +if(WIN32) + add_definitions(-DNOMINMAX) +endif() + if(WITH_HEADLESS) add_definitions(-DWITH_HEADLESS) else() ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [1cdc6381cf7] master: Merge branch 'blender-v3.4-release'
Commit: 1cdc6381cf786a2673186e34e7314cda636306fe Author: Ray Molenkamp Date: Wed Nov 9 14:40:34 2022 -0700 Branches: master https://developer.blender.org/rB1cdc6381cf786a2673186e34e7314cda636306fe Merge branch 'blender-v3.4-release' === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [7c1ab77fa67] blender-v3.4-release: audaspace: Fix build error with MSVC 17.4+
Commit: 7c1ab77fa67252b6a0c61fb53f114c7c1916e364 Author: Ray Molenkamp Date: Wed Nov 9 14:39:15 2022 -0700 Branches: blender-v3.4-release https://developer.blender.org/rB7c1ab77fa67252b6a0c61fb53f114c7c1916e364 audaspace: Fix build error with MSVC 17.4+ `DeviceManager.h` uses `std::string` without explicitly including the `` header. While older MSVC implicitly included this header somewhere, the headers for 17.4+ do not leading to a build error. === M extern/audaspace/include/devices/DeviceManager.h === diff --git a/extern/audaspace/include/devices/DeviceManager.h b/extern/audaspace/include/devices/DeviceManager.h index 27a546630e8..fa84025478f 100644 --- a/extern/audaspace/include/devices/DeviceManager.h +++ b/extern/audaspace/include/devices/DeviceManager.h @@ -27,6 +27,7 @@ #include #include #include +#include AUD_NAMESPACE_BEGIN ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [32aebe8c559] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: 32aebe8c55963d42a6b541e266e85cac25f96311 Author: Ray Molenkamp Date: Wed Nov 9 11:29:21 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB32aebe8c55963d42a6b541e266e85cac25f96311 Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === diff --cc build_files/cmake/platform/platform_win32.cmake index e66824da76d,47673794652..6cbc7656165 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@@ -456,26 -419,38 +456,26 @@@ if(WITH_IMAGE_OPENEXR warn_hardcoded_paths(OpenEXR) set(OPENEXR ${LIBDIR}/openexr) set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include) - set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${IMATH_INCLUDE_DIRS} ${OPENEXR}/include/OpenEXR) + set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${IMATH_INCLUDE_DIRS} ${OPENEXR_INCLUDE_DIR}/OpenEXR) set(OPENEXR_LIBPATH ${OPENEXR}/lib) -# Check if the 3.x library name exists -# if not assume this is a 2.x library folder +# Check if the blender 3.3 lib static library eixts +# if not assume this is a 3.4+ dynamic version. if(EXISTS "${OPENEXR_LIBPATH}/OpenEXR_s.lib") - set(OPENEXR_LIBRARIES -optimized ${OPENEXR_LIBPATH}/Iex_s.lib -optimized ${OPENEXR_LIBPATH}/IlmThread_s.lib -optimized ${OPENEXR_LIBPATH}/OpenEXR_s.lib -optimized ${OPENEXR_LIBPATH}/OpenEXRCore_s.lib -optimized ${OPENEXR_LIBPATH}/OpenEXRUtil_s.lib -debug ${OPENEXR_LIBPATH}/Iex_s_d.lib -debug ${OPENEXR_LIBPATH}/IlmThread_s_d.lib -debug ${OPENEXR_LIBPATH}/OpenEXR_s_d.lib -debug ${OPENEXR_LIBPATH}/OpenEXRCore_s_d.lib -debug ${OPENEXR_LIBPATH}/OpenEXRUtil_s_d.lib -${IMATH_LIBRARIES} - ) -else() - set(OPENEXR_LIBRARIES -optimized ${OPENEXR_LIBPATH}/Iex_s.lib -optimized ${OPENEXR_LIBPATH}/Half_s.lib -optimized ${OPENEXR_LIBPATH}/IlmImf_s.lib -optimized ${OPENEXR_LIBPATH}/Imath_s.lib -optimized ${OPENEXR_LIBPATH}/IlmThread_s.lib -debug ${OPENEXR_LIBPATH}/Iex_s_d.lib -debug ${OPENEXR_LIBPATH}/Half_s_d.lib -debug ${OPENEXR_LIBPATH}/IlmImf_s_d.lib -debug ${OPENEXR_LIBPATH}/Imath_s_d.lib -debug ${OPENEXR_LIBPATH}/IlmThread_s_d.lib - ) + set(OPENEXR_POSTFIX _s) endif() +set(OPENEXR_LIBRARIES + optimized ${OPENEXR_LIBPATH}/Iex${OPENEXR_POSTFIX}.lib + optimized ${OPENEXR_LIBPATH}/IlmThread${OPENEXR_POSTFIX}.lib + optimized ${OPENEXR_LIBPATH}/OpenEXR${OPENEXR_POSTFIX}.lib + optimized ${OPENEXR_LIBPATH}/OpenEXRCore${OPENEXR_POSTFIX}.lib + optimized ${OPENEXR_LIBPATH}/OpenEXRUtil${OPENEXR_POSTFIX}.lib + debug ${OPENEXR_LIBPATH}/Iex${OPENEXR_POSTFIX}_d.lib + debug ${OPENEXR_LIBPATH}/IlmThread${OPENEXR_POSTFIX}_d.lib + debug ${OPENEXR_LIBPATH}/OpenEXR${OPENEXR_POSTFIX}_d.lib + debug ${OPENEXR_LIBPATH}/OpenEXRCore${OPENEXR_POSTFIX}_d.lib + debug ${OPENEXR_LIBPATH}/OpenEXRUtil${OPENEXR_POSTFIX}_d.lib + ${IMATH_LIBRARIES} +) endif() endif() ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [5d772ac1fb0] tmp-vfx-platform-2023: deps_builder: add missing oiio dep to USD
Commit: 5d772ac1fb0c64fae13a222413a6d9a6d9cf7a8d Author: Ray Molenkamp Date: Tue Nov 8 11:12:11 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB5d772ac1fb0c64fae13a222413a6d9a6d9cf7a8d deps_builder: add missing oiio dep to USD === M build_files/build_environment/cmake/usd.cmake === diff --git a/build_files/build_environment/cmake/usd.cmake b/build_files/build_environment/cmake/usd.cmake index 64d64e82110..645632043c2 100644 --- a/build_files/build_environment/cmake/usd.cmake +++ b/build_files/build_environment/cmake/usd.cmake @@ -105,6 +105,7 @@ add_dependencies( external_boost external_opensubdiv external_python + external_openimageio openvdb ) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [d8dab1ba978] tmp-vfx-platform-2023: deps: add missing dependency
Commit: d8dab1ba978e32af9af581fbd4c4bc0682278703 Author: Ray Molenkamp Date: Mon Nov 7 08:24:54 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBd8dab1ba978e32af9af581fbd4c4bc0682278703 deps: add missing dependency mesa depends on zlib, dependency was missing but it was using the libs anyhow. Hasn't caused a problem since zlib tends to build first anyhow. === M build_files/build_environment/cmake/mesa.cmake === diff --git a/build_files/build_environment/cmake/mesa.cmake b/build_files/build_environment/cmake/mesa.cmake index 8a40e8dc0de..9c0d613daa5 100644 --- a/build_files/build_environment/cmake/mesa.cmake +++ b/build_files/build_environment/cmake/mesa.cmake @@ -52,4 +52,5 @@ ExternalProject_Add(external_mesa add_dependencies( external_mesa ll + external_zlib ) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [531fadfe4ba] tmp-vfx-platform-2023: deps: restore openpgl harvest
Commit: 531fadfe4ba3df3379615eb581d65f61a018ee0f Author: Ray Molenkamp Date: Mon Nov 7 08:19:12 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB531fadfe4ba3df3379615eb581d65f61a018ee0f deps: restore openpgl harvest likely got lost in a troublesome master merge === M build_files/build_environment/cmake/harvest.cmake === diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake index 2714979d869..6616c675e9b 100644 --- a/build_files/build_environment/cmake/harvest.cmake +++ b/build_files/build_environment/cmake/harvest.cmake @@ -192,6 +192,9 @@ harvest(openimagedenoise/include openimagedenoise/include "*") harvest(openimagedenoise/lib openimagedenoise/lib "*.a") harvest(embree/include embree/include "*.h") harvest(embree/lib embree/lib "*.a") +harvest(openpgl/include openpgl/include "*.h") +harvest(openpgl/lib openpgl/lib "*.a") +harvest(openpgl/lib/cmake/openpgl-${OPENPGL_SHORT_VERSION} openpgl/lib/cmake/openpgl "*.cmake") harvest(openjpeg/include/openjpeg-${OPENJPEG_SHORT_VERSION} openjpeg/include "*.h") harvest(openjpeg/lib openjpeg/lib "*.a") harvest(opensubdiv/include opensubdiv/include "*.h") ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [35ee8fa95a7] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: 35ee8fa95a791f125b55a40ca3d9aba869179205 Author: Ray Molenkamp Date: Sat Nov 5 10:30:17 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB35ee8fa95a791f125b55a40ca3d9aba869179205 Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [de15fc7d4fd] tmp-vfx-platform-2023: deps: prevent _d_d for usd python extentions on windows
Commit: de15fc7d4fd2870d8f538e62425870b35180731a Author: Ray Molenkamp Date: Fri Nov 4 18:09:21 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBde15fc7d4fd2870d8f538e62425870b35180731a deps: prevent _d_d for usd python extentions on windows === M build_files/build_environment/patches/usd.diff === diff --git a/build_files/build_environment/patches/usd.diff b/build_files/build_environment/patches/usd.diff index 976e58a2e80..39d34160d28 100644 --- a/build_files/build_environment/patches/usd.diff +++ b/build_files/build_environment/patches/usd.diff @@ -99,3 +99,18 @@ diff -Naur orig/pxr/usdImaging/CMakeLists.txt external_usd/pxr/usdImaging/CMakeL plugin ) +diff -Naur orig/cmake/macros/Private.cmake external_usd/cmake/macros/Private.cmake +--- orig/cmake/macros/Private.cmake 2022-02-18 14:49:09 -0700 external_usd/cmake/macros/Private.cmake 2022-08-05 10:42:03 -0600 +@@ -900,8 +900,10 @@ + return() + endif() + +-if (WIN32 AND PXR_USE_DEBUG_PYTHON) ++if (WIN32 AND PXR_USE_DEBUG_PYTHON AND NOT CMAKE_DEBUG_POSTFIX) + # On Windows when compiling with debug python the library must be named with _d. ++# Blender: but this can be skipped if CMAKE_DEBUG_POSTFIX is set, it knows ++# what it is doing and we don't want libraries ending in _d_d.pyd + set(LIBRARY_NAME "_${NAME}_d") + else() + set(LIBRARY_NAME "_${NAME}") ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [d2fa7813d14] tmp-vfx-platform-2023: cmake/win: fix failing tests on windows
Commit: d2fa7813d1414a7ce34d141150ad672870dc8a22 Author: Ray Molenkamp Date: Fri Nov 4 13:35:15 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBd2fa7813d1414a7ce34d141150ad672870dc8a22 cmake/win: fix failing tests on windows idiff/abcls rely on the release mode dlls not available in the blender.shared folder. === M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index fcac966cd86..e66824da76d 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -1012,6 +1012,8 @@ endif() # Environment variables to run precompiled executables that needed libraries. list(JOIN PLATFORM_BUNDLED_LIBRARY_DIRS ";" _library_paths) -set(PLATFORM_ENV_BUILD "PATH=${LIBDIR}/OpenImageIO/bin\;${LIBDIR}/boost/lib\;${LIBDIR}/openexr/bin\;${LIBDIR}/imath/bin\;${PATH}") -set(PLATFORM_ENV_INSTALL "PATH=${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/blender.shared/;$ENV{PATH}") +set(PLATFORM_ENV_BUILD_DIRS "${LIBDIR}/OpenImageIO/bin\;${LIBDIR}/boost/lib\;${LIBDIR}/openexr/bin\;${LIBDIR}/imath/bin\;${PATH}") +set(PLATFORM_ENV_BUILD "PATH=${PLATFORM_ENV_BUILD_DIRS}") +# Install needs the additional folders from PLATFORM_ENV_BUILD_DIRS as well, as tools like idiff and abcls use the release mode dlls +set(PLATFORM_ENV_INSTALL "PATH=${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/blender.shared/\;${PLATFORM_ENV_BUILD_DIRS}\;$ENV{PATH}") unset(_library_paths) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [30c14dd783d] tmp-vfx-platform-2023: deps: Remove unneeded OSL patch
Commit: 30c14dd783db30b2da866936b345281aedd4a030 Author: Ray Molenkamp Date: Fri Nov 4 11:51:37 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB30c14dd783db30b2da866936b345281aedd4a030 deps: Remove unneeded OSL patch OSL has proper lifetime management these days. === M build_files/build_environment/patches/osl.diff === diff --git a/build_files/build_environment/patches/osl.diff b/build_files/build_environment/patches/osl.diff index e053f9629e6..75f7b13a165 100644 --- a/build_files/build_environment/patches/osl.diff +++ b/build_files/build_environment/patches/osl.diff @@ -24,27 +24,6 @@ diff -Naur OpenShadingLanguage-1.12.6.2/src/cmake/externalpackages.cmake externa # IlmBase & OpenEXR checked_find_package (OpenEXR REQUIRED -diff -Naur OpenShadingLanguage-1.12.6.2/src/include/OSL/llvm_util.h external_osl/src/include/OSL/llvm_util.h OpenShadingLanguage-1.12.6.2/src/include/OSL/llvm_util.h 2022-09-30 17:43:53 -0600 -+++ external_osl/src/include/OSL/llvm_util.h 2022-10-15 15:37:24 -0600 -@@ -9,6 +9,8 @@ - #include - #include - -+#define OSL_HAS_BLENDER_CLEANUP_FIX -+ - #ifdef LLVM_NAMESPACE - namespace llvm = LLVM_NAMESPACE; - #endif -@@ -455,7 +457,7 @@ - llvm::BasicBlock* masked_return_block() const; - - bool is_masking_required() const { return m_is_masking_required; } -- -+static void Cleanup (); - struct ScopedMasking { - ScopedMasking() {} - diff -Naur OpenShadingLanguage-1.12.6.2/src/liboslcomp/oslcomp.cpp external_osl/src/liboslcomp/oslcomp.cpp --- OpenShadingLanguage-1.12.6.2/src/liboslcomp/oslcomp.cpp2022-09-30 17:43:53 -0600 +++ external_osl/src/liboslcomp/oslcomp.cpp2022-10-15 14:49:26 -0600 ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [e306f1fffc3] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: e306f1fffc3bd3766a757e51981a2af91637369a Author: Ray Molenkamp Date: Thu Nov 3 09:51:29 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBe306f1fffc3bd3766a757e51981a2af91637369a Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === diff --cc build_files/build_environment/CMakeLists.txt index a3534c70d3c,999223603d5..a50a2af1755 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@@ -87,10 -87,9 +88,10 @@@ endif( include(cmake/python_site_packages.cmake) include(cmake/package_python.cmake) include(cmake/usd.cmake) +include(cmake/openvdb.cmake) include(cmake/potrace.cmake) include(cmake/haru.cmake) - # Boost needs to be included after python.cmake due to the PYTHON_BINARY variable being needed. + # Boost needs to be included after `python.cmake` due to the PYTHON_BINARY variable being needed. include(cmake/boost.cmake) include(cmake/pugixml.cmake) include(cmake/ispc.cmake) diff --cc build_files/build_environment/cmake/dpcpp.cmake index 27203a77d71,28315d1f703..ef6fc9c40c9 --- a/build_files/build_environment/cmake/dpcpp.cmake +++ b/build_files/build_environment/cmake/dpcpp.cmake @@@ -83,9 -79,12 +83,12 @@@ ExternalProject_Add(external_dpcp CMAKE_GENERATOR ${LLVM_GENERATOR} SOURCE_SUBDIR llvm LIST_SEPARATOR ^^ - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/dpcpp ${DEFAULT_CMAKE_FLAGS} ${DPCPP_EXTRA_ARGS} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/dpcpp ${DPCPP_CMAKE_FLAGS} ${DPCPP_EXTRA_ARGS} - #CONFIGURE_COMMAND ${PYTHON_BINARY} ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/configure.py ${DPCPP_CONFIGURE_ARGS} - #BUILD_COMMAND echo "." #${PYTHON_BINARY} ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/compile.py + # CONFIGURE_COMMAND + # ${PYTHON_BINARY} + # ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/configure.py ${DPCPP_CONFIGURE_ARGS} + # BUILD_COMMAND + # echo "." # ${PYTHON_BINARY} ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/compile.py INSTALL_COMMAND ${CMAKE_COMMAND} --build . -- deploy-sycl-toolchain PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/dpcpp/src/external_dpcpp < ${PATCH_DIR}/dpcpp.diff INSTALL_DIR ${LIBDIR}/dpcpp diff --cc build_files/build_environment/cmake/versions.cmake index 2590cddb82a,4f4330b56f4..eed43529381 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@@ -230,9 -224,10 +230,10 @@@ set(URLLIB3_VERSION 1.26.8 set(URLLIB3_CPE "cpe:2.3:a:urllib3:urllib3:${URLLIB3_VERSION}:*:*:*:*:*:*:*") set(CERTIFI_VERSION 2021.10.8) set(REQUESTS_VERSION 2.27.1) -set(CYTHON_VERSION 0.29.26) +set(CYTHON_VERSION 0.29.30) - # 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. + # 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. set(ZSTANDARD_VERSION 0.16.0) set(AUTOPEP8_VERSION 1.6.0) set(PYCODESTYLE_VERSION 2.8.0) diff --cc tests/python/CMakeLists.txt index fe61b6d5aee,0d74cfafda5..51da4c24538 --- a/tests/python/CMakeLists.txt +++ b/tests/python/CMakeLists.txt @@@ -44,8 -41,7 +44,8 @@@ function(add_python_test testname tests add_test( NAME ${testname} - COMMAND ${TEST_PYTHON_EXE} ${testscript} ${ARGN} + COMMAND ${TEST_PYTHON_EXE} ${TEST_PYTHON_EXE_EXTRA_ARGS} ${testscript} ${ARGN} +WORKING_DIRECTORY $ ) set_tests_properties(${testname} PROPERTIES ENVIRONMENT LSAN_OPTIONS=exitcode=0:$ENV{LSAN_OPTIONS} ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [33f8c515d16] tmp-vfx-platform-2023: deps: USD 21.11
Commit: 33f8c515d163fb74b6e983faced884ecf0d34ca3 Author: Ray Molenkamp Date: Thu Nov 3 09:41:58 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB33f8c515d163fb74b6e983faced884ecf0d34ca3 deps: USD 21.11 also small patch to OpenVDB due to USD (C++14) and OpenVDB(C++17) running into trouble together. === M build_files/build_environment/cmake/usd.cmake M build_files/build_environment/cmake/versions.cmake M build_files/build_environment/patches/openvdb.diff M build_files/build_environment/patches/usd.diff === diff --git a/build_files/build_environment/cmake/usd.cmake b/build_files/build_environment/cmake/usd.cmake index 8601bd91f25..4abb368e740 100644 --- a/build_files/build_environment/cmake/usd.cmake +++ b/build_files/build_environment/cmake/usd.cmake @@ -122,8 +122,8 @@ if(WIN32) if(BUILD_MODE STREQUAL Debug) ExternalProject_Add_Step(external_usd after_install COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/usd/lib/python ${HARVEST_TARGET}/usd/lib/debug/python - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/usd/lib/usd_usd_ms_d.dll ${HARVEST_TARGET}/usd/lib/usd_usd_ms_d.dll - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/usd/lib/usd_usd_ms_d.lib ${HARVEST_TARGET}/usd/lib/usd_usd_ms_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/usd/lib/usd_ms_d.dll ${HARVEST_TARGET}/usd/lib/usd_ms_d.dll + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/usd/lib/usd_ms_d.lib ${HARVEST_TARGET}/usd/lib/usd_ms_d.lib DEPENDEES install ) endif() diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index 1bc11f3a899..2590cddb82a 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -463,9 +463,9 @@ set(EMBREE_HASH 52d0be294d6c88ba7a6c9e046796e7be) set(EMBREE_HASH_TYPE MD5) set(EMBREE_FILE embree-v${EMBREE_VERSION}.zip) -set(USD_VERSION 22.03) +set(USD_VERSION 22.11) set(USD_URI https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz) -set(USD_HASH e0e441a05057692a83124a1195b09eed) +set(USD_HASH 8c89459e48a2ef0e7ae9e7e490377507) set(USD_HASH_TYPE MD5) set(USD_FILE usd-v${USD_VERSION}.tar.gz) diff --git a/build_files/build_environment/patches/openvdb.diff b/build_files/build_environment/patches/openvdb.diff index b231b54afb4..9896460c26c 100644 --- a/build_files/build_environment/patches/openvdb.diff +++ b/build_files/build_environment/patches/openvdb.diff @@ -75,3 +75,18 @@ diff -Naur openvdb-8.0.0/openvdb/openvdb/version.rc.in openvdb/openvdb/openvdb/v + +END +END +diff -Naur orig/openvdb/openvdb/tree/ValueAccessor.h openvdb/openvdb/openvdb/tree/ValueAccessor.h +--- orig/openvdb/openvdb/tree/ValueAccessor.h 2022-11-02 13:58:26 -0600 openvdb/openvdb/openvdb/tree/ValueAccessor.h 2022-11-02 18:55:09 -0600 +@@ -872,7 +872,10 @@ + using LeafNodeType = typename NodeType::LeafNodeType; + using CoordLimits = std::numeric_limits; + +-static_assert(std::is_same::value); ++// Blender: Technically not an issue in OpenVDB, but USD 21.11 still builds ++// as C++14 which does not support terse asserts yet. Add a message to ++// explicitly select the C++14 supported static assert. ++static_assert(std::is_same::value, "cache item node type is not leaf node type"); + + CacheItem(TreeCacheT& parent) + : mParent() diff --git a/build_files/build_environment/patches/usd.diff b/build_files/build_environment/patches/usd.diff index 881d856ca25..976e58a2e80 100644 --- a/build_files/build_environment/patches/usd.diff +++ b/build_files/build_environment/patches/usd.diff @@ -1,7 +1,7 @@ -diff -x .git -ur usd.orig/cmake/defaults/Packages.cmake external_usd/cmake/defaults/Packages.cmake usd.orig/cmake/defaults/Packages.cmake 2019-10-24 22:39:53.0 +0200 -+++ external_usd/cmake/defaults/Packages.cmake 2019-11-28 13:00:33.185957483 +0100 -@@ -64,7 +64,7 @@ +diff -Naur orig/cmake/defaults/Packages.cmake external_usd/cmake/defaults/Packages.cmake +--- orig/cmake/defaults/Packages.cmake 2022-10-27 12:56:33 -0600 external_usd/cmake/defaults/Packages.cmake 2022-10-27 13:05:08 -0600 +@@ -129,7 +129,7 @@ endif() # --TBB @@ -10,10 +10,9 @@ diff -x .git -ur usd.orig/cmake/defaults/Packages.cmake external_usd/cmake/defau add_definitions(${TBB_DEFINITIONS}) # --math - -diff -Naur usd_orig/cmake/defaults/msvcdefaults.cmake external_usd/cmake/defaults/msvcdefaults.cmake usd_orig/cmake/defaults/msvcdefaults.cmake 2022-02-18 14:49:09 -0700 -+++ external_usd/cmake/defaults/msvcdefaults.cmake 2022-03-14 11:41:50 -0600 +diff -Naur orig/cmake/defaults/msvcdefaults.cmake external_usd/cmake/defaults/msvcdefaults.cmake +--- orig/cmake/defaults/msvc
[Bf-blender-cvs] [e86b5230ca9] blender-v3.3-release: cmake/windows: Prepare for 3.4 library changes for opencollada
Commit: e86b5230ca997b0c955c0114bc94d5d6f7a58614 Author: Ray Molenkamp Date: Fri Oct 21 07:04:21 2022 -0600 Branches: blender-v3.3-release https://developer.blender.org/rBe86b5230ca997b0c955c0114bc94d5d6f7a58614 cmake/windows: Prepare for 3.4 library changes for opencollada The opencollada dependency will be using an external xml2 library for 3.4. This change allows to build against both old and new style lib folders. As it is a C library it did not need a special debug version. === M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index f3b16fe2a18..f09c0536dfd 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -378,7 +378,6 @@ if(WITH_OPENCOLLADA) optimized ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAStreamWriter.lib optimized ${OPENCOLLADA}/lib/opencollada/MathMLSolver.lib optimized ${OPENCOLLADA}/lib/opencollada/GeneratedSaxParser.lib -optimized ${OPENCOLLADA}/lib/opencollada/xml.lib optimized ${OPENCOLLADA}/lib/opencollada/buffer.lib optimized ${OPENCOLLADA}/lib/opencollada/ftoa.lib @@ -388,10 +387,14 @@ if(WITH_OPENCOLLADA) debug ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAStreamWriter_d.lib debug ${OPENCOLLADA}/lib/opencollada/MathMLSolver_d.lib debug ${OPENCOLLADA}/lib/opencollada/GeneratedSaxParser_d.lib -debug ${OPENCOLLADA}/lib/opencollada/xml_d.lib debug ${OPENCOLLADA}/lib/opencollada/buffer_d.lib debug ${OPENCOLLADA}/lib/opencollada/ftoa_d.lib ) + if(EXISTS ${LIBDIR}/xml2/lib/libxml2s.lib) # 3.4 libraries +list(APPEND OPENCOLLADA_LIBRARIES ${LIBDIR}/xml2/lib/libxml2s.lib) + else() +list(APPEND OPENCOLLADA_LIBRARIES ${OPENCOLLADA}/lib/opencollada/xml.lib) + endif() list(APPEND OPENCOLLADA_LIBRARIES ${OPENCOLLADA}/lib/opencollada/UTF.lib) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [2db9bfb6d88] blender-v3.3-release: deps_builder: Add support for cve-bin-tool
Commit: 2db9bfb6d8844aea27b07c963673c3ce3393079d Author: Ray Molenkamp Date: Mon Oct 10 11:48:05 2022 -0600 Branches: blender-v3.3-release https://developer.blender.org/rB2db9bfb6d8844aea27b07c963673c3ce3393079d deps_builder: Add support for cve-bin-tool This change adds support for intels cve-bin-tool [1] in the deps builder. This adds 2 new targets to the builder that do not build automatically but can be build on demand when required. `make cve_check` will output to the console. `make cve_check_html` will output a html file that can be shared with other people. Requirements: - A working installation of cve-bin-tool on the system Not required but higly recommended: - Obtaining a key from the nvd [2] to speed up the database download. you can pass the key to cmake using `-DCVE_CHECK_NVD_KEY=your_api_key` [1] https://github.com/intel/cve-bin-tool [2] https://nvd.nist.gov/developers/request-an-api-key Reviewed By: brecht Differential Revision: https://developer.blender.org/D16160 === M build_files/build_environment/CMakeLists.txt A build_files/build_environment/cmake/cve_check.cmake A build_files/build_environment/cmake/cve_check.csv.in M build_files/build_environment/cmake/versions.cmake === diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index 856fe7b32ff..2cd225ebc85 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -172,3 +172,4 @@ if(UNIX AND NOT APPLE) endif() include(cmake/harvest.cmake) +include(cmake/cve_check.cmake) diff --git a/build_files/build_environment/cmake/cve_check.cmake b/build_files/build_environment/cmake/cve_check.cmake new file mode 100644 index 000..dfb190bcffa --- /dev/null +++ b/build_files/build_environment/cmake/cve_check.cmake @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +# CVE Check requirements +# +# - A working installation of intels cve-bin-tool [1] has to be available in +# your path +# +# - Not strictly required, but highly recommended is obtaining a NVD key from +# nist since it significantly speeds up downloading/updating the required +# databases one can request a key on the following website: +# https://nvd.nist.gov/developers/request-an-api-key + +# Bill of Materials construction +# +# This constructs a CSV cve-bin-tool [1] can read and process. Sadly +# cve-bin-tool at this point does not take a list of CPE's and output a check +# based on that list. so we need to pick apart the CPE retrieve the vendor, +# product and version tokens and generate a CSV. +# +# [1] https://github.com/intel/cve-bin-tool + +# Because not all deps are downloaded (ie python packages) but can still have a +# xxx_CPE declared loop over all variables and look for variables ending in CPE. + +set(SBOMCONTENTS) +get_cmake_property(_variableNames VARIABLES) +foreach (_variableName ${_variableNames}) + if(_variableName MATCHES "CPE$") + string(REPLACE ":" ";" CPE_LIST ${${_variableName}}) + list(GET CPE_LIST 3 CPE_VENDOR) + list(GET CPE_LIST 4 CPE_NAME) + list(GET CPE_LIST 5 CPE_VERSION) + set(SBOMCONTENTS "${SBOMCONTENTS}${CPE_VENDOR},${CPE_NAME},${CPE_VERSION}\n") + endif() +endforeach() +configure_file(${CMAKE_SOURCE_DIR}/cmake/cve_check.csv.in ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv @ONLY) + +# Custom Targets +# +# This defines two new custom targets one could run in the build folder +# `cve_check` which will output the report to the console, and `cve_check_html` +# which will write out blender_dependencies.html in the build folder that one +# could share with other people or be used to get more information on the +# reported CVE's. +# +# cve-bin-tool takes data from the nist nvd database which rate limits +# unauthenticated requests to 1 requests per 6 seconds making the database +# download take "quite a bit" of time. +# +# When adding -DCVE_CHECK_NVD_KEY=your_api_key_here to your cmake invocation +# this key will be passed on to cve-bin-tool speeding up the process. +# +if(DEFINED CVE_CHECK_NVD_KEY) + set(NVD_ARGS --nvd-api-key ${CVE_CHECK_NVD_KEY}) +endif() + +# This will just report to the console +add_custom_target(cve_check + COMMAND cve-bin-tool +${NVD_ARGS} +-i ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv +--affected-versions + SOURCES ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv +) + +# This will write out blender_dependencies.html +add_custom_target(cve_check_html + COMMAND cve-bin-tool +${NVD_ARGS} +-i ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv +-f html + SOURCES ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv +) diff --git a/build_files/build_environment/cmake/cve_check.csv.in b/build_files/build_environment/cmake/cve_check.csv.in new file mode 100644
[Bf-blender-cvs] [f6294c437fb] blender-v3.3-release: deps_builder: fix missing png harvest on windows
Commit: f6294c437fb708a70d2d14d5423c3630814cc058 Author: Ray Molenkamp Date: Thu Oct 20 11:46:42 2022 -0600 Branches: blender-v3.3-release https://developer.blender.org/rBf6294c437fb708a70d2d14d5423c3630814cc058 deps_builder: fix missing png harvest on windows === M build_files/build_environment/cmake/png.cmake === diff --git a/build_files/build_environment/cmake/png.cmake b/build_files/build_environment/cmake/png.cmake index 890be673cb8..371f2608e2a 100644 --- a/build_files/build_environment/cmake/png.cmake +++ b/build_files/build_environment/cmake/png.cmake @@ -24,6 +24,14 @@ add_dependencies( external_zlib ) +if(WIN32 AND BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_png after_install +COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/png/include/ ${HARVEST_TARGET}/png/include/ +COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_static${LIBEXT} ${HARVEST_TARGET}/png/lib/libpng${LIBEXT} +DEPENDEES install + ) +endif() + if(WIN32 AND BUILD_MODE STREQUAL Debug) ExternalProject_Add_Step(external_png after_install COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_staticd${LIBEXT} ${LIBDIR}/png/lib/libpng16${LIBEXT} ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [5b27e6f24bd] blender-v3.3-release: deps_builder: harden the package download process
Commit: 5b27e6f24bd4c369dcb62ad81077c12373e4168b Author: Ray Molenkamp Date: Wed Oct 5 12:05:26 2022 -0600 Branches: blender-v3.3-release https://developer.blender.org/rB5b27e6f24bd4c369dcb62ad81077c12373e4168b deps_builder: harden the package download process During the 3.3 release some packages were missing in SVN during the release and it ended up building the release tarball without issues when re-running the `make source_archive_complete` command after it failed initially. The tarball however had 0 byte files for the missing packages not good. This diff hardens the download process by : 1) Validating all required variables are set. This catches the erroneously attempt at downloading the nanovdb package even though we have removed it from versions.cmake but neglected to remove it from download.cmake 2) When a download fails (due to either a missing package, or bad download URL) FILE Download will warn about a hash mismatch but will carry on happily, you then have to go into the file system go delete the 0 byte file to retry the download. We know for a fact the file is bad when it is 0 bytes, just delete it. 3) When we are using the blender repository (and likely building a source archive) explicitly validate the hash of all packages. Normally the build process does this, however when building a source archive the build does not actually run for a dep. So preform this check during the configuration stage. Reviewed By: brecht Differential Revision: https://developer.blender.org/D16124 === M build_files/build_environment/cmake/download.cmake === diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake index 76744aa9b0c..20944bd2c19 100644 --- a/build_files/build_environment/cmake/download.cmake +++ b/build_files/build_environment/cmake/download.cmake @@ -14,6 +14,20 @@ function(download_source dep) else() set(TARGET_URI https://svn.blender.org/svnroot/bf-blender/trunk/lib/packages/${TARGET_FILE}) endif() + # Validate all required variables are set and give an explicit error message + # rather than CMake erroring out later on with a more ambigious error. + if (NOT DEFINED TARGET_FILE) +message(FATAL_ERROR "${dep}_FILE variable not set") + endif() + if (NOT DEFINED TARGET_HASH) +message(FATAL_ERROR "${dep}_HASH variable not set") + endif() + if (NOT DEFINED TARGET_HASH_TYPE) +message(FATAL_ERROR "${dep}_HASH_TYPE variable not set") + endif() + if (NOT DEFINED TARGET_URI) +message(FATAL_ERROR "${dep}_URI variable not set") + endif() set(TARGET_FILE ${PACKAGE_DIR}/${TARGET_FILE}) message("Checking source : ${dep} (${TARGET_FILE})") if(NOT EXISTS ${TARGET_FILE}) @@ -25,6 +39,36 @@ function(download_source dep) SHOW_PROGRESS ) endif() + if(EXISTS ${TARGET_FILE}) +# Sometimes the download fails, but that is not a +# fail condition for "file(DOWNLOAD" it will warn about +# a crc mismatch and just carry on, we need to explicitly +# catch this and remove the bogus 0 byte file so we can +# retry without having to go find the file and manually +# delete it. +file (SIZE ${TARGET_FILE} TARGET_SIZE) +if(${TARGET_SIZE} EQUAL 0) + file(REMOVE ${TARGET_FILE}) + message(FATAL_ERROR "for ${TARGET_FILE} file size 0, download likely failed, deleted...") +endif() + +# If we are using sources from the blender repo also +# validate that the hashes match, this takes a +# little more time, but protects us when we are +# building a release package and one of the packages +# is missing or incorrect. +# +# For regular platform maintenaince this is not needed +# since the actual build of the dep will notify the +# platform maintainer if there is a problem with the +# source package and refuse to build. +if(NOT PACKAGE_USE_UPSTREAM_SOURCES) + file(${TARGET_HASH_TYPE} ${TARGET_FILE} LOCAL_HASH) + if(NOT ${TARGET_HASH} STREQUAL ${LOCAL_HASH}) +message(FATAL_ERROR "${TARGET_FILE} ${TARGET_HASH_TYPE} mismatch\nExpected\t: ${TARGET_HASH}\nActual\t: ${LOCAL_HASH}") + endif() +endif() + endif() endfunction(download_source) download_source(ZLIB) @@ -51,7 +95,6 @@ download_source(OSL) download_source(PYTHON) download_source(TBB) download_source(OPENVDB) -download_source(NANOVDB) download_source(NUMPY) download_source(LAME) download_source(OGG) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [c76c8ee3a0d] blender-v3.3-release: deps_builder: OpenCollada fixes for windows
Commit: c76c8ee3a0d7a59abbd6c49df7eae70f91ada668 Author: Ray Molenkamp Date: Thu Oct 20 18:29:59 2022 -0600 Branches: blender-v3.3-release https://developer.blender.org/rBc76c8ee3a0d7a59abbd6c49df7eae70f91ada668 deps_builder: OpenCollada fixes for windows - build and use our version of libxml - the cli tools had a linker error due to it trying to link a shared version of libxml, disabled both and zlib 1.2.3 with a patch since we do not want/need them for blender. - postfix the libraries with _d for debug automatically so we don't have to fix that during the harvest. due to this only being windows changes no rebuild needed for the other platforms. === M build_files/build_environment/CMakeLists.txt M build_files/build_environment/cmake/opencollada.cmake M build_files/build_environment/cmake/xml2.cmake M build_files/build_environment/patches/opencollada.diff === diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index 2cd225ebc85..d904356b25f 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -96,6 +96,8 @@ include(cmake/openimagedenoise.cmake) include(cmake/embree.cmake) include(cmake/fmt.cmake) include(cmake/robinmap.cmake) +include(cmake/xml2.cmake) + if(NOT APPLE) include(cmake/xr_openxr.cmake) if(NOT WIN32 OR BUILD_MODE STREQUAL Release) @@ -148,7 +150,6 @@ if(NOT WIN32 OR ENABLE_MINGW64) endif() if(UNIX) include(cmake/flac.cmake) - include(cmake/xml2.cmake) if(NOT APPLE) include(cmake/spnav.cmake) include(cmake/jemalloc.cmake) diff --git a/build_files/build_environment/cmake/opencollada.cmake b/build_files/build_environment/cmake/opencollada.cmake index b2ae1a1a351..9473aafbe88 100644 --- a/build_files/build_environment/cmake/opencollada.cmake +++ b/build_files/build_environment/cmake/opencollada.cmake @@ -4,6 +4,16 @@ if(UNIX) set(OPENCOLLADA_EXTRA_ARGS -DLIBXML2_INCLUDE_DIR=${LIBDIR}/xml2/include/libxml2 -DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2.a) +else() + set(OPENCOLLADA_EXTRA_ARGS +-DCMAKE_DEBUG_POSTFIX=_d +-DLIBXML2_INCLUDE_DIR=${LIBDIR}/xml2/include/libxml2 + ) + if(BUILD_MODE STREQUAL Release) +list(APPEND OPENCOLLADA_EXTRA_ARGS -DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2s.lib) + else() +list(APPEND OPENCOLLADA_EXTRA_ARGS -DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2sd.lib) + endif() endif() ExternalProject_Add(external_opencollada @@ -16,12 +26,11 @@ ExternalProject_Add(external_opencollada INSTALL_DIR ${LIBDIR}/opencollada ) -if(UNIX) - add_dependencies( -external_opencollada -external_xml2 - ) -endif() + +add_dependencies( + external_opencollada + external_xml2 +) if(WIN32) if(BUILD_MODE STREQUAL Release) @@ -32,17 +41,7 @@ if(WIN32) endif() if(BUILD_MODE STREQUAL Debug) ExternalProject_Add_Step(external_opencollada after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/buffer.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/buffer_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/ftoa.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/ftoa_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/GeneratedSaxParser.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/GeneratedSaxParser_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/MathMLSolver.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/MathMLSolver_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADABaseUtils.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADABaseUtils_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAFramework.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAFramework_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/pcre.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/pcre_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/UTF.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/UTF_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/xml.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/xml_d.lib + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencollada/lib
[Bf-blender-cvs] [2fb06407403] blender-v3.3-release: Build: update various libraries for 3.4, fixing bugs and security issues
Commit: 2fb06407403a449740a1cd6de2aedb1ee92a9084 Author: Ray Molenkamp Date: Thu Oct 20 13:25:54 2022 +0200 Branches: blender-v3.3-release https://developer.blender.org/rB2fb06407403a449740a1cd6de2aedb1ee92a9084 Build: update various libraries for 3.4, fixing bugs and security issues THis is bumping dependencies to fix known CVEs, with the exception of OpenImageIO which also includes bugfixes for performance and correctness with some image types. zlib 1.2.12 -> 1.2.13 freetype 2.11.1 -> 2.12.1 openimageio 2.3.13.0 -> 2.3.20.0 python 3.10.2 -> 3.10.8 openjpeg 2.4.0 -> 2.5.0 ffmpeg 5.0 -> 5.1.2 sndfile 1.0.28 -> 1.1.0 xml2 2.9.10 -> 2.10.3 expat 2.4.4 -> 2.4.9 openssl 1.1.1g/i -> 1.1.1q sqlite 3.31.1 -> 3.37.2 Notable changes: * AOM: the hack we had in place to make it not detect pthreads on windows no longer worked with a more recent cmake version. Disabled pthreads with a diff on Windows. * Python: embedded copy of zlib 2.1.12 swapped out for our 2.1.13 copy with some folder manipulation on Windows. * Freetype: was harbouring a copy of zlib 2.1.12 as well, so that had to end. * FFmpeg: patch used to fix D11796 is no longer needed. Add new patch to deal with simple_idct.asm generating an object file with no sections in it, backport from upstream commit. * TinyXML: still being downloaded but no longer used by OpenColorIO, removed. * GMP applied upstream patch to fix CVE-2021-43618, as there is no release yet. * SQLite and Libsndfile patches no longer needed. Includes contributes by Ray Molenkamp, Campbell Barton and Brecht Van Lommel. Ref T101403 Differential Revision: https://developer.blender.org/D16269 === M build_files/build_environment/cmake/aom.cmake M build_files/build_environment/cmake/download.cmake M build_files/build_environment/cmake/ffmpeg.cmake M build_files/build_environment/cmake/freetype.cmake M build_files/build_environment/cmake/gmp.cmake M build_files/build_environment/cmake/llvm.cmake M build_files/build_environment/cmake/osl.cmake M build_files/build_environment/cmake/python.cmake M build_files/build_environment/cmake/sndfile.cmake M build_files/build_environment/cmake/sqlite.cmake M build_files/build_environment/cmake/ssl.cmake M build_files/build_environment/cmake/tiff.cmake M build_files/build_environment/cmake/versions.cmake M build_files/build_environment/dependencies.dot A build_files/build_environment/patches/aom.diff M build_files/build_environment/patches/ffmpeg.diff A build_files/build_environment/patches/gmp.diff M build_files/build_environment/patches/osl.diff D build_files/build_environment/patches/python_windows.diff D build_files/build_environment/patches/sndfile.diff D build_files/build_environment/patches/sqlite.diff A build_files/build_environment/patches/ssl.diff M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/build_environment/cmake/aom.cmake b/build_files/build_environment/cmake/aom.cmake index 9f64439771f..11c81c3f6e4 100644 --- a/build_files/build_environment/cmake/aom.cmake +++ b/build_files/build_environment/cmake/aom.cmake @@ -8,11 +8,6 @@ if(WIN32) # building with mingw, it'll have an unhappy time with that and # we need to clear them out. set(AOM_CMAKE_FLAGS ) - # CMake will correctly identify phreads being available, however - # we do not want to use them, as that gains a dependency on - # libpthreadswin.dll which we do not want. when pthreads is not - # available oam will use a pthreads emulation layer using win32 threads - set(AOM_EXTRA_ARGS_WIN32 -DCMAKE_HAVE_PTHREAD_H=OFF) else() set(AOM_GENERATOR "Unix Makefiles") set(AOM_CMAKE_FLAGS ${DEFAULT_CMAKE_FLAGS}) @@ -36,6 +31,7 @@ ExternalProject_Add(external_aom DOWNLOAD_DIR ${DOWNLOAD_DIR} URL_HASH ${AOM_HASH_TYPE}=${AOM_HASH} PREFIX ${BUILD_DIR}/aom + PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/aom/src/external_aom < ${PATCH_DIR}/aom.diff CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/aom/src/external_aom-build/ && ${CMAKE_COMMAND} -G "${AOM_GENERATOR}" -DCMAKE_INSTALL_PREFIX=${LIBDIR}/aom ${AOM_CMAKE_FLAGS} ${AOM_EXTRA_ARGS} ${BUILD_DIR}/aom/src/external_aom/ diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake index 20944bd2c19..27575430c34 100644 --- a/build_files/build_environment/cmake/download.cmake +++ b/build_files/build_environment/cmake/download.cmake @@ -62,7 +62,7 @@ function(download_source dep) # since the actual build of the dep will notify the # platform maintainer if there is a problem with the # source package and refuse to build. -if(NO
[Bf-blender-cvs] [48214e23571] tmp-vfx-platform-2023: deps: openvdb 10.0.0
Commit: 48214e2357192905d910d07309ab8c653bc4cf02 Author: Ray Molenkamp Date: Wed Nov 2 15:13:01 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB48214e2357192905d910d07309ab8c653bc4cf02 deps: openvdb 10.0.0 === M build_files/build_environment/cmake/versions.cmake M build_files/build_environment/patches/openvdb.diff === diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index ca3e4bdd489..1bc11f3a899 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -218,9 +218,9 @@ set(TBB_HASH_TYPE MD5) set(TBB_FILE oneTBB-${TBB_VERSION}.tar.gz) set(TBB_CPE "cpe:2.3:a:intel:threading_building_blocks:${TBB_YEAR}:*:*:*:*:*:*:*") -set(OPENVDB_VERSION 9.1.0) +set(OPENVDB_VERSION 10.0.0) set(OPENVDB_URI https://github.com/AcademySoftwareFoundation/openvdb/archive/v${OPENVDB_VERSION}.tar.gz) -set(OPENVDB_HASH 8918de645a737734e577e16753325703) +set(OPENVDB_HASH 64301c737e16b26c8f3085a31e6397e9) set(OPENVDB_HASH_TYPE MD5) set(OPENVDB_FILE openvdb-${OPENVDB_VERSION}.tar.gz) diff --git a/build_files/build_environment/patches/openvdb.diff b/build_files/build_environment/patches/openvdb.diff index 9ad231e0c6d..b231b54afb4 100644 --- a/build_files/build_environment/patches/openvdb.diff +++ b/build_files/build_environment/patches/openvdb.diff @@ -75,16 +75,3 @@ diff -Naur openvdb-8.0.0/openvdb/openvdb/version.rc.in openvdb/openvdb/openvdb/v + +END +END -diff -Naur orig/openvdb_ax/openvdb_ax/CMakeLists.txt openvdb/openvdb_ax/openvdb_ax/CMakeLists.txt orig/openvdb_ax/openvdb_ax/CMakeLists.txt 2022-06-09 08:50:40 -0600 -+++ openvdb/openvdb_ax/openvdb_ax/CMakeLists.txt2022-08-08 22:11:02 -0600 -@@ -305,6 +305,9 @@ - # Configure shared build - - if(OPENVDB_AX_SHARED) -+ if(WIN32) -+list(APPEND OPENVDB_AX_PUBLIC_DEFINES -DOPENVDB_AX_DLL) -+ endif() - target_compile_definitions(openvdb_ax_shared PUBLIC ${OPENVDB_AX_PUBLIC_DEFINES}) - target_compile_definitions(openvdb_ax_shared PRIVATE ${OPENVDB_AX_PRIVATE_DEFINES}) - target_compile_options(openvdb_ax_shared PUBLIC ${OPENVDB_AX_PUBLIC_OPTIONS}) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [47a5eba7f54] tmp-vfx-platform-2023: deps_builder: opensubdiv 3.5.0
Commit: 47a5eba7f5499a398984aa26565f98ab3df8a1a6 Author: Ray Molenkamp Date: Wed Nov 2 13:11:03 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB47a5eba7f5499a398984aa26565f98ab3df8a1a6 deps_builder: opensubdiv 3.5.0 === M build_files/build_environment/cmake/versions.cmake === diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index ae4a9cae868..ca3e4bdd489 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -114,9 +114,9 @@ set(ALEMBIC_HASH_TYPE MD5) set(ALEMBIC_FILE alembic-${ALEMBIC_VERSION}.tar.gz) SET(FREETYPE_CPE "cpe:2.3:a:freetype:freetype:${FREETYPE_VERSION}:*:*:*:*:*:*:*") -set(OPENSUBDIV_VERSION v3_4_4) +set(OPENSUBDIV_VERSION v3_5_0) set(OPENSUBDIV_URI https://github.com/PixarAnimationStudios/OpenSubdiv/archive/${OPENSUBDIV_VERSION}.tar.gz) -set(OPENSUBDIV_HASH 39ecc5caf0abebc943d1ce131855e76e) +set(OPENSUBDIV_HASH 230f5cd2911d6240e58a3773b9c6e5e4) set(OPENSUBDIV_HASH_TYPE MD5) set(OPENSUBDIV_FILE opensubdiv-${OPENSUBDIV_VERSION}.tar.gz) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [9e579fb2fdb] tmp-vfx-platform-2023: cmake: support ocio 2.2.0 on windows
Commit: 9e579fb2fdba6f95c9c171cbec3f3380eca4a412 Author: Ray Molenkamp Date: Tue Nov 1 22:24:18 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB9e579fb2fdba6f95c9c171cbec3f3380eca4a412 cmake: support ocio 2.2.0 on windows small changes in libnames and an extra new dependency. === M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 9a7f97c2dbe..dcdae60668f 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -83,7 +83,7 @@ string(APPEND CMAKE_MODULE_LINKER_FLAGS " /SAFESEH:NO /ignore:4099") list(APPEND PLATFORM_LINKLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 Comctl32 version advapi32 shfolder shell32 ole32 oleaut32 uuid psapi Dbghelp Shlwapi - pathcch Shcore Dwmapi + pathcch Shcore Dwmapi Crypt32 ) if(WITH_INPUT_IME) @@ -649,14 +649,27 @@ if(WITH_OPENCOLORIO) set(OPENCOLORIO_LIBPATH ${OPENCOLORIO}/lib) set(OPENCOLORIO_LIBRARIES optimized ${OPENCOLORIO_LIBPATH}/OpenColorIO.lib - optimized ${OPENCOLORIO_LIBPATH}/libyaml-cpp.lib optimized ${OPENCOLORIO_LIBPATH}/libexpatMD.lib optimized ${OPENCOLORIO_LIBPATH}/pystring.lib debug ${OPENCOLORIO_LIBPATH}/OpencolorIO_d.lib - debug ${OPENCOLORIO_LIBPATH}/libyaml-cpp_d.lib debug ${OPENCOLORIO_LIBPATH}/libexpatdMD.lib debug ${OPENCOLORIO_LIBPATH}/pystring_d.lib ) +if(EXISTS ${OPENCOLORIO_LIBPATH}/libyaml-cpp.lib) # 3.4 name + list(APPEND OPENCOLORIO_LIBRARIES +optimized ${OPENCOLORIO_LIBPATH}/libyaml-cpp.lib +debug ${OPENCOLORIO_LIBPATH}/libyaml-cpp_d.lib + ) +elseif(EXISTS ${OPENCOLORIO_LIBPATH}/yaml-cpp.lib) # 3.5 name + list(APPEND OPENCOLORIO_LIBRARIES +optimized ${OPENCOLORIO_LIBPATH}/yaml-cpp.lib +optimized ${OPENCOLORIO_LIBPATH}/libminizip.lib +debug ${OPENCOLORIO_LIBPATH}/yaml-cppd.lib +debug ${OPENCOLORIO_LIBPATH}/libminizip.lib + ) +else() + message("FATAL YAML-CPP dependency not found") +endif() endif() set(OPENCOLORIO_DEFINITIONS "-DOpenColorIO_SKIP_IMPORTS") endif() ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [f25c259345e] tmp-vfx-platform-2023: deps_builder: OpenColorIO 2.2.0
Commit: f25c259345eab0f313a476d46f227b99506cf1b4 Author: Ray Molenkamp Date: Tue Nov 1 22:22:59 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBf25c259345eab0f313a476d46f227b99506cf1b4 deps_builder: OpenColorIO 2.2.0 Also required updates for yamlcpp from 0.6.3 to 0.7.0 and a new mandatory dependency minizip-ng 3.0.7 === M build_files/build_environment/CMakeLists.txt M build_files/build_environment/cmake/download.cmake A build_files/build_environment/cmake/minizipng.cmake M build_files/build_environment/cmake/opencolorio.cmake M build_files/build_environment/cmake/versions.cmake M build_files/build_environment/cmake/yamlcpp.cmake === diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index 1a859619495..a3534c70d3c 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -120,6 +120,7 @@ endif() include(cmake/expat.cmake) include(cmake/pystring.cmake) include(cmake/yamlcpp.cmake) +include(cmake/minizipng.cmake) include(cmake/opencolorio.cmake) if(BLENDER_PLATFORM_ARM) diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake index ab959d9bf8d..f2681bd33d6 100644 --- a/build_files/build_environment/cmake/download.cmake +++ b/build_files/build_environment/cmake/download.cmake @@ -87,6 +87,7 @@ download_source(OPENSUBDIV) download_source(SDL) download_source(OPENCOLLADA) download_source(OPENCOLORIO) +download_source(MINIZIPNG) download_source(LLVM) download_source(OPENMP) download_source(OPENIMAGEIO) diff --git a/build_files/build_environment/cmake/minizipng.cmake b/build_files/build_environment/cmake/minizipng.cmake new file mode 100644 index 000..ae121a7a8aa --- /dev/null +++ b/build_files/build_environment/cmake/minizipng.cmake @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +set(MINIZIPNG_EXTRA_ARGS + -DMZ_FETCH_LIBS=OFF + -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} + -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ + # Because OCIO hardcodes a non standard include path + -DCMAKE_INSTALL_INCLUDEDIR=${LIBDIR}/minizipng/include/minizip-ng +) + +ExternalProject_Add(external_minizipng + URL file://${PACKAGE_DIR}/${MINIZIPNG_FILE} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH ${MINIZIPNG_HASH_TYPE}=${MINIZIPNG_HASH} + PREFIX ${BUILD_DIR}/minizipng + CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/minizipng ${DEFAULT_CMAKE_FLAGS} ${MINIZIPNG_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/minizipng +) diff --git a/build_files/build_environment/cmake/opencolorio.cmake b/build_files/build_environment/cmake/opencolorio.cmake index 4bdf56081bc..79d1ffa9c2e 100644 --- a/build_files/build_environment/cmake/opencolorio.cmake +++ b/build_files/build_environment/cmake/opencolorio.cmake @@ -15,8 +15,14 @@ set(OPENCOLORIO_EXTRA_ARGS -Dexpat_ROOT=${LIBDIR}/expat -Dyaml-cpp_ROOT=${LIBDIR}/yamlcpp + -Dyaml-cpp_VERSION=${YAMLCPP_VERSION} -Dpystring_ROOT=${LIBDIR}/pystring -DImath_ROOT=${LIBDIR}/imath + -Dminizip-ng_ROOT=${LIBDIR}/minizipng + -Dminizip-ng_INCLUDE_DIR=${LIBDIR}/minizipng/include + -Dminizip-ng_LIBRARY=${LIBDIR}/minizipng/lib/libminizip${LIBEXT} + -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} + -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ ) if(BLENDER_PLATFORM_ARM) @@ -30,7 +36,6 @@ if(WIN32) set(OPENCOLORIO_EXTRA_ARGS ${OPENCOLORIO_EXTRA_ARGS} -Dexpat_LIBRARY=${LIBDIR}/expat/lib/libexpatMD --Dyaml-cpp_LIBRARY=${LIBDIR}/expat/lib/libyaml-cppmd.lib -DImath_LIBRARY=${LIBDIR}/imath/lib/imath${OPENEXR_VERSION_POSTFIX} -DCMAKE_CXX_FLAGS=-DIMATH_DLL ) @@ -57,6 +62,8 @@ add_dependencies( external_expat external_imath external_pystring + external_zlib + external_minizipng ) if(WIN32) @@ -64,16 +71,17 @@ if(WIN32) ExternalProject_Add_Step(external_opencolorio after_install COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/include ${HARVEST_TARGET}/opencolorio/include COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/lib ${HARVEST_TARGET}/opencolorio/lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/libyaml-cppmd.lib ${HARVEST_TARGET}/opencolorio/lib/libyaml-cpp.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/yaml-cpp.lib ${HARVEST_TARGET}/opencolorio/lib/yaml-cpp.lib COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/expat/lib/libexpatMD.lib ${HARVEST_TARGET}/opencolorio/lib/libexpatMD.lib COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pystring/lib/pystring.lib ${HARVEST_TARGET}/opencolorio/lib/pystring.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/minizipng/lib/libminizip.lib ${HARVEST_TARGET}/opencolorio/lib
[Bf-blender-cvs] [e20c9990d8a] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: e20c9990d8adb95529b8d88a3f5fd8274bc13616 Author: Ray Molenkamp Date: Tue Nov 1 23:12:07 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBe20c9990d8adb95529b8d88a3f5fd8274bc13616 Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [f8699881d6b] master: CMake/MSVC: Disable ASAN for developer builds
Commit: f8699881d6bf1c02586d356b1c816e77e144ad32 Author: Ray Molenkamp Date: Tue Nov 1 12:46:15 2022 -0600 Branches: master https://developer.blender.org/rBf8699881d6bf1c02586d356b1c816e77e144ad32 CMake/MSVC: Disable ASAN for developer builds ASAN is more often broken than working depending on the MSVC version you have. As it is causing too many support incidents of people that unknowingly turned ASAN on by running `make developer` and running into issues starting blender due to the broken ASAN support in MSVC. This commit changes the default not enable it for MSVC in the developer profile. Devs that still want to enable it can do so though turning WITH_COMPILER_ASAN on in their CMakeCache.txt or by running `make developer asan` === M build_files/cmake/config/blender_developer.cmake === diff --git a/build_files/cmake/config/blender_developer.cmake b/build_files/cmake/config/blender_developer.cmake index 1f1a100d958..ebc5727a79c 100644 --- a/build_files/cmake/config/blender_developer.cmake +++ b/build_files/cmake/config/blender_developer.cmake @@ -8,7 +8,11 @@ set(WITH_ASSERT_ABORT ON CACHE BOOL "" FORCE) set(WITH_BUILDINFOOFF CACHE BOOL "" FORCE) -set(WITH_COMPILER_ASANON CACHE BOOL "" FORCE) +# Sadly ASAN is more often broken than working with MSVC do not enable it in the +# developer profile for now. +if(NOT WIN32) + set(WITH_COMPILER_ASAN ON CACHE BOOL "" FORCE) +endif() set(WITH_CYCLES_NATIVE_ONLY ON CACHE BOOL "" FORCE) set(WITH_DOC_MANPAGE OFF CACHE BOOL "" FORCE) set(WITH_GTESTS ON CACHE BOOL "" FORCE) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [5016a8687c1] master: deps: openPGL 0.4.1-beta
Commit: 5016a8687c118dd4c74b06b49f7b56424bc84995 Author: Ray Molenkamp Date: Mon Oct 31 16:37:09 2022 -0600 Branches: master https://developer.blender.org/rB5016a8687c118dd4c74b06b49f7b56424bc84995 deps: openPGL 0.4.1-beta === M build_files/build_environment/cmake/versions.cmake === diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index 06a923e5c22..89b0a8d72de 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -558,10 +558,10 @@ set(BROTLI_HASH_TYPE SHA256) set(BROTLI_FILE brotli-v${BROTLI_VERSION}.tar.gz) set(BROTLI_CPE "cpe:2.3:a:google:brotli:${BROTLI_VERSION}:*:*:*:*:*:*:*") -set(OPENPGL_VERSION v0.4.0-beta) -set(OPENPGL_SHORT_VERSION 0.4.0) +set(OPENPGL_VERSION v0.4.1-beta) +set(OPENPGL_SHORT_VERSION 0.4.1) set(OPENPGL_URI https://github.com/OpenPathGuidingLibrary/openpgl/archive/refs/tags/${OPENPGL_VERSION}.tar.gz) -set(OPENPGL_HASH 1f090f88ab2bad028e8b3619aa926f4f97cf7b2c175b904704d2fec8593dd3cd) +set(OPENPGL_HASH db63f5dac5cfa8c110ede241f0c413f00db0c4748697381c4fa23e0f9e82a754) set(OPENPGL_HASH_TYPE SHA256) set(OPENPGL_FILE openpgl-${OPENPGL_VERSION}.tar.gz) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [09a02e87142] tmp-vfx-platform-2023: deps_builder: shaderc v2022.3 / Vulkan v1.2.198
Commit: 09a02e871427ab919aee0602f2dc3b672af5fcfb Author: Ray Molenkamp Date: Mon Oct 31 10:05:10 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB09a02e871427ab919aee0602f2dc3b672af5fcfb deps_builder: shaderc v2022.3 / Vulkan v1.2.198 viewport module specifically requested an older vulkan version this may still change before the 3.5 libs finalize. === M build_files/build_environment/CMakeLists.txt M build_files/build_environment/cmake/download.cmake A build_files/build_environment/cmake/shaderc.cmake A build_files/build_environment/cmake/shaderc_deps.cmake M build_files/build_environment/cmake/versions.cmake A build_files/build_environment/cmake/vulkan.cmake === diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index 6dacedcf98d..1a859619495 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -178,6 +178,8 @@ if(UNIX AND NOT APPLE) include(cmake/wayland.cmake) include(cmake/wayland_libdecor.cmake) endif() - +include(cmake/shaderc_deps.cmake) +include(cmake/shaderc.cmake) +include(cmake/vulkan.cmake) include(cmake/harvest.cmake) include(cmake/cve_check.cmake) diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake index ea3d2768784..ab959d9bf8d 100644 --- a/build_files/build_environment/cmake/download.cmake +++ b/build_files/build_environment/cmake/download.cmake @@ -165,3 +165,9 @@ download_source(OCLOC) download_source(AOM) download_source(FRIBIDI) download_source(HARFBUZZ) +download_source(SHADERC) +download_source(SHADERC_SPIRV_TOOLS) +download_source(SHADERC_SPIRV_HEADERS) +download_source(SHADERC_GLSLANG) +download_source(VULKAN_HEADERS) +download_source(VULKAN_LOADER) diff --git a/build_files/build_environment/cmake/shaderc.cmake b/build_files/build_environment/cmake/shaderc.cmake new file mode 100644 index 000..a5275837372 --- /dev/null +++ b/build_files/build_environment/cmake/shaderc.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 * +set(SHADERC_EXTRA_ARGS + -DSHADERC_SKIP_TESTS=On + -DSHADERC_SPIRV_TOOLS_DIR=${BUILD_DIR}/shaderc_spirv_tools/src/external_shaderc_spirv_tools + -DSHADERC_SPIRV_HEADERS_DIR=${BUILD_DIR}/shaderc_spirv_headers/src/external_shaderc_spirv_headers + -DSHADERC_GLSLANG_DIR=${BUILD_DIR}/shaderc_glslang/src/external_shaderc_glslang + -DCMAKE_DEBUG_POSTFIX=_d + -DPYTHON_EXECUTABLE=${PYTHON_BINARY} +) + +ExternalProject_Add(external_shaderc + URL file://${PACKAGE_DIR}/${SHADERC_FILE} + URL_HASH ${SHADERC_HASH_TYPE}=${SHADERC_HASH} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + PREFIX ${BUILD_DIR}/shaderc + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/shaderc ${DEFAULT_CMAKE_FLAGS} ${SHADERC_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/shaderc +) + +add_dependencies( + external_shaderc + external_shaderc_spirv_tools + external_shaderc_spirv_headers + external_shaderc_glslang +) + + +if(WIN32) + if(BUILD_MODE STREQUAL Release) +ExternalProject_Add_Step(external_shaderc after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/shaderc/include ${HARVEST_TARGET}/shaderc/include + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/shaderc/bin/shaderc_shared.dll ${HARVEST_TARGET}/shaderc/bin/shaderc_shared.dll + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/shaderc/lib/shaderc_shared.lib ${HARVEST_TARGET}/shaderc/lib/shaderc_shared.lib + + DEPENDEES install +) + endif() + if(BUILD_MODE STREQUAL Debug) +ExternalProject_Add_Step(external_shaderc after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/shaderc/bin/shaderc_shared_d.dll ${HARVEST_TARGET}/shaderc/bin/shaderc_shared_d.dll + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/shaderc/lib/shaderc_shared_d.lib ${HARVEST_TARGET}/shaderc/lib/shaderc_shared_d.lib + DEPENDEES install +) + endif() +endif() + + diff --git a/build_files/build_environment/cmake/shaderc_deps.cmake b/build_files/build_environment/cmake/shaderc_deps.cmake
[Bf-blender-cvs] [e697442f099] tmp-vfx-platform-2023: deps_builder/win: use our openssl version for python
Commit: e697442f099aa390923979941fe7f5298d44b1ec Author: Ray Molenkamp Date: Sun Oct 30 13:06:10 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBe697442f099aa390923979941fe7f5298d44b1ec deps_builder/win: use our openssl version for python Python will take care of the build, we only need to unpack openssl in the right place and python's prepare_ssl will patch and build openssl for us. === M build_files/build_environment/CMakeLists.txt M build_files/build_environment/cmake/python.cmake M build_files/build_environment/cmake/ssl.cmake A build_files/build_environment/patches/python_windows.diff === diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index ef3c0388c29..6dacedcf98d 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -43,7 +43,7 @@ if(ENABLE_MINGW64) else() set(mingw_LIBDIR ${LIBDIR}) endif() - +include(cmake/ssl.cmake) include(cmake/zlib.cmake) include(cmake/zstd.cmake) include(cmake/openal.cmake) @@ -167,7 +167,6 @@ if(UNIX) include(cmake/bzip2.cmake) include(cmake/ffi.cmake) include(cmake/lzma.cmake) - include(cmake/ssl.cmake) include(cmake/sqlite.cmake) endif() diff --git a/build_files/build_environment/cmake/python.cmake b/build_files/build_environment/cmake/python.cmake index c56f1e62419..c9a0d5ab6af 100644 --- a/build_files/build_environment/cmake/python.cmake +++ b/build_files/build_environment/cmake/python.cmake @@ -16,10 +16,12 @@ if(WIN32) set(PYTHON_EXTERNALS_FOLDER ${BUILD_DIR}/python/src/external_python/externals) set(ZLIB_SOURCE_FOLDER ${BUILD_DIR}/zlib/src/external_zlib) + set(SSL_SOURCE_FOLDER ${BUILD_DIR}/ssl/src/external_ssl) set(DOWNLOADS_EXTERNALS_FOLDER ${DOWNLOAD_DIR}/externals) cmake_to_dos_path(${PYTHON_EXTERNALS_FOLDER} PYTHON_EXTERNALS_FOLDER_DOS) cmake_to_dos_path(${ZLIB_SOURCE_FOLDER} ZLIB_SOURCE_FOLDER_DOS) + cmake_to_dos_path(${SSL_SOURCE_FOLDER} SSL_SOURCE_FOLDER_DOS) cmake_to_dos_path(${DOWNLOADS_EXTERNALS_FOLDER} DOWNLOADS_EXTERNALS_FOLDER_DOS) ExternalProject_Add(external_python @@ -31,11 +33,14 @@ if(WIN32) # that beyond placing some code in their externals dir before it tries. # the foldernames *HAVE* to match the ones inside pythons get_externals.cmd. # python 3.10.8 still ships zlib 1.2.12, replace it with our 1.2.13 -# copy until they update. +# copy until they update. Same rules apply to openssl foldernames HAVE to match +# regardless of the version actually in there. CONFIGURE_COMMAND mkdir ${PYTHON_EXTERNALS_FOLDER_DOS} && mklink /J ${PYTHON_EXTERNALS_FOLDER_DOS}\\zlib-1.2.12 ${ZLIB_SOURCE_FOLDER_DOS} && - ${CMAKE_COMMAND} -E copy ${ZLIB_SOURCE_FOLDER}/../external_zlib-build/zconf.h ${PYTHON_EXTERNALS_FOLDER}/zlib-1.2.12/zconf.h -BUILD_COMMAND cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && call build.bat -e -p x64 -c ${BUILD_MODE} + mklink /J ${PYTHON_EXTERNALS_FOLDER_DOS}\\openssl-1.1.1q ${SSL_SOURCE_FOLDER_DOS} && + ${CMAKE_COMMAND} -E copy ${ZLIB_SOURCE_FOLDER}/../external_zlib-build/zconf.h ${PYTHON_EXTERNALS_FOLDER}/zlib-1.2.12/zconf.h && + ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_windows.diff +BUILD_COMMAND ${CONFIGURE_ENV_MSVC} && cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && set LDFLAGS=/DEBUG && call prepare_ssl.bat && call build.bat -e -p x64 -c ${BUILD_MODE} INSTALL_COMMAND ${PYTHON_BINARY_INTERNAL} ${PYTHON_SRC}/PC/layout/main.py -b ${PYTHON_SRC}/PCbuild/amd64 -s ${PYTHON_SRC} -t ${PYTHON_SRC}/tmp/ --include-stable --include-pip --include-dev --include-launchers --include-venv --include-symbols ${PYTHON_EXTRA_INSTLAL_FLAGS} --copy ${LIBDIR}/python ) add_dependencies( @@ -96,15 +101,18 @@ else() INSTALL_DIR ${LIBDIR}/python) endif() +add_dependencies( + external_python + external_ssl + external_zlib +) if(UNIX) add_dependencies( external_python external_bzip2 external_ffi external_lzma -external_ssl external_sqlite -external_zlib ) endif() diff --git a/build_files/build_environment/cmake/ssl.cmake b/build_files/build_environment/cmake/ssl.cmake index 628187dc0ac..6241e2d44e6 100644 --- a/build_files/build_environment/cmake/ssl.cmake +++ b/build_files/build_environment/cmake/ssl.cmake @@ -3,33 +3,47 @@ set(SSL_CONFIGURE_COMMAND ./Configure) set(SSL_PATCH_CMD echo .) -if(APPLE) - set(SSL_OS_COMPILER "blender-darwin-${CMAKE_OSX_ARCHITECTURES}") - set(SSL_PATCH_CMD ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/ssl/src/
[Bf-blender-cvs] [d1d2f002c7c] master: make.bat: skip SVN update when running make code_update
Commit: d1d2f002c7caaf4ab457ec27bbc44666d7aac624 Author: Ray Molenkamp Date: Sat Oct 29 11:25:33 2022 -0600 Branches: master https://developer.blender.org/rBd1d2f002c7caaf4ab457ec27bbc44666d7aac624 make.bat: skip SVN update when running make code_update regression from rB116d7b0042bba7d6cabd8e04c7d020ac3816caf3 === M build_files/windows/parse_arguments.cmd M build_files/windows/reset_variables.cmd M make.bat === diff --git a/build_files/windows/parse_arguments.cmd b/build_files/windows/parse_arguments.cmd index eaf4a85f7ac..a2ff4c1ff95 100644 --- a/build_files/windows/parse_arguments.cmd +++ b/build_files/windows/parse_arguments.cmd @@ -80,9 +80,11 @@ if NOT "%1" == "" ( REM Non-Build Commands ) else if "%1" == "update" ( SET BUILD_UPDATE=1 +SET BUILD_UPDATE_SVN=1 set BUILD_UPDATE_ARGS= ) else if "%1" == "code_update" ( SET BUILD_UPDATE=1 +SET BUILD_UPDATE_SVN=0 set BUILD_UPDATE_ARGS="--no-libraries" ) else if "%1" == "ninja" ( SET BUILD_WITH_NINJA=1 diff --git a/build_files/windows/reset_variables.cmd b/build_files/windows/reset_variables.cmd index 8ba7b4d3307..37c5d1034ea 100644 --- a/build_files/windows/reset_variables.cmd +++ b/build_files/windows/reset_variables.cmd @@ -34,3 +34,4 @@ set BUILD_WITH_SCCACHE= set ICONS= set ICONS_GEOM= set DOC_PY= +SET BUILD_UPDATE_SVN= \ No newline at end of file diff --git a/make.bat b/make.bat index 0be70053ce1..394b2d0dad5 100644 --- a/make.bat +++ b/make.bat @@ -65,11 +65,13 @@ if "%BUILD_UPDATE%" == "1" ( REM First see if the SVN libs are there and check them out if they are not. call "%BLENDER_DIR%\build_files\windows\check_libraries.cmd" if errorlevel 1 goto EOF - REM Then update SVN platform libraries, since updating python while python is - REM running tends to be problematic. The python script that update_sources - REM calls later on may still try to switch branches and run into trouble, - REM but for *most* people this will side step the problem. - call "%BLENDER_DIR%\build_files\windows\svn_update.cmd" + if "%BUILD_UPDATE_SVN%" == "1" ( + REM Then update SVN platform libraries, since updating python while python is + REM running tends to be problematic. The python script that update_sources + REM calls later on may still try to switch branches and run into trouble, + REM but for *most* people this will side step the problem. + call "%BLENDER_DIR%\build_files\windows\svn_update.cmd" + ) REM Finally call the python script shared between all platforms that updates git REM and does any other SVN work like update the tests or branch switches REM if required. ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [ce3a045009f] tmp-vfx-platform-2023: CMake: Copy USD 21.11 datafiles to the right location.
Commit: ce3a045009f298ad5014f36ace07b104f696b924 Author: Ray Molenkamp Date: Sat Oct 29 10:02:33 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBce3a045009f298ad5014f36ace07b104f696b924 CMake: Copy USD 21.11 datafiles to the right location. We used the presence of USD dll as an indicator we were using dynamic libs where the datafiles sit next to the DLL. 22.11 changed the dll name, so it wrongly assumed we were using static libs and copied the USD datafiles into the blender datafiles folder instead. === M source/creator/CMakeLists.txt === diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 4696497fa90..aaa11e1b2ed 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -952,8 +952,8 @@ elseif(WIN32) DEBUG ) - # This will not exist for 3.3 and earlier lib folders - # to ease the transition, support both 3.3 and 3.4 lib + # This will not exist for 3.4 and earlier lib folders + # to ease the transition, support both 3.4 and 3.5 lib # folders. if(EXISTS ${LIBDIR}/openvdb/python/pyopenvdb_d.pyd) install( @@ -1050,8 +1050,8 @@ elseif(WIN32) ) if(WITH_USD) -# This will not exist for 3.3 and earlier lib folders -# to ease the transition, support both 3.3 and 3.4 lib +# This will not exist for 3.4 and earlier lib folders +# to ease the transition, support both 3.4 and 3.5 lib # folders. if(EXISTS ${USD_LIBRARY_DIR}/python/) install( @@ -1439,8 +1439,13 @@ if(WITH_USD) # On windows the usd library sits in ./blender.shared copy the files # relative to the location of the USD dll, if the dll does not exist - # assume we are linking against the static 3.4 lib. - if(WIN32 AND EXISTS ${LIBDIR}/usd/lib/usd_usd_ms.dll) + # assume we are linking against the static 3.5 lib. + if(WIN32 AND + ( +EXISTS ${LIBDIR}/usd/lib/usd_usd_ms.dll OR # USD 22.03 +EXISTS ${LIBDIR}/usd/lib/usd_ms.dll # USD 22.11 + ) +) install(DIRECTORY ${USD_LIBRARY_DIR}/usd DESTINATION "./blender.shared" ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [0355f1c09b5] tmp-vfx-platform-2023: cmake: support building against USD 22.11
Commit: 0355f1c09b5de37894652aba950a25d4c74ad147 Author: Ray Molenkamp Date: Fri Oct 28 11:36:17 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB0355f1c09b5de37894652aba950a25d4c74ad147 cmake: support building against USD 22.11 === M build_files/cmake/platform/platform_win32.cmake M source/creator/CMakeLists.txt === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 8c645357d6d..9a7f97c2dbe 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -854,14 +854,19 @@ endif() if(WITH_USD) windows_find_package(USD) if(NOT USD_FOUND) +# 3.5 22.03 libs set(USD_INCLUDE_DIRS ${LIBDIR}/usd/include) set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/usd_usd_ms.lib) set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/usd_usd_ms_d.lib) set(USD_LIBRARY_DIR ${LIBDIR}/usd/lib) +if(NOT EXISTS "${USD_RELEASE_LIB}") # 3.5 22.11 libs + set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/usd_ms.lib) + set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/usd_ms_d.lib) +endif() # Older USD had different filenames, if the new ones are # not found see if the older ones exist, to ease the # transition period while landing libs. -if(NOT EXISTS "${USD_RELEASE_LIB}") +if(NOT EXISTS "${USD_RELEASE_LIB}") # 3.3 static libs set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/usd_usd_m.lib) set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/usd_usd_m_d.lib) endif() diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 8ecca487a2f..4696497fa90 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -1457,7 +1457,7 @@ if(WITH_USD) ) endif() if(WIN32) -# If this file exists we are building against a 3.4 library folder +# If this file exists we are building against a 3.5 22.03 library folder # that needs these dll's installed. if(EXISTS ${LIBDIR}/usd/lib/usd_usd_ms.dll) windows_install_shared_manifest(FILES @@ -1469,6 +1469,18 @@ if(WITH_USD) DEBUG ) endif() +# If this file exists we are building against a 3.5 22.11 library folder +# that needs these dll's installed. +if(EXISTS ${LIBDIR}/usd/lib/usd_ms.dll) + windows_install_shared_manifest(FILES +${LIBDIR}/usd/lib/usd_ms.dll +RELEASE + ) + windows_install_shared_manifest(FILES +${LIBDIR}/usd/lib/usd_ms_d.dll +DEBUG + ) +endif() endif() endif() ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [7e60d38e6c0] tmp-vfx-platform-2023: deps_builder: disable maintainer mode for opus
Commit: 7e60d38e6c092aa7eedfe255435503fe42fff29c Author: Ray Molenkamp Date: Thu Oct 27 12:47:27 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB7e60d38e6c092aa7eedfe255435503fe42fff29c deps_builder: disable maintainer mode for opus this requires autotools, which isn't available on our mingw setup. Unsure why it suddenly became a problem. === M build_files/build_environment/cmake/opus.cmake === diff --git a/build_files/build_environment/cmake/opus.cmake b/build_files/build_environment/cmake/opus.cmake index f4f77749e00..c5d1d207805 100644 --- a/build_files/build_environment/cmake/opus.cmake +++ b/build_files/build_environment/cmake/opus.cmake @@ -9,6 +9,7 @@ ExternalProject_Add(external_opus --disable-shared --enable-static --with-pic +--disable-maintainer-mode BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && make -j${MAKE_THREADS} INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && make install INSTALL_DIR ${LIBDIR}/opus ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [f4ecc02e482] tmp-vfx-platform-2023: deps_builder: remove 3.4 OSL patches
Commit: f4ecc02e48236089308635002c18646f72cfce1c Author: Ray Molenkamp Date: Thu Oct 27 09:07:25 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBf4ecc02e48236089308635002c18646f72cfce1c deps_builder: remove 3.4 OSL patches Got added during the last master merge. The boost one is no longer needed and the PNG one is already there. === M build_files/build_environment/patches/osl.diff === diff --git a/build_files/build_environment/patches/osl.diff b/build_files/build_environment/patches/osl.diff index 6c7f528f035..e053f9629e6 100644 --- a/build_files/build_environment/patches/osl.diff +++ b/build_files/build_environment/patches/osl.diff @@ -62,31 +62,3 @@ diff -Naur OpenShadingLanguage-1.12.6.2/src/liboslcomp/oslcomp.cpp external_osl/ #include #include #include -diff -Naur orig/src/cmake/externalpackages.cmake external_osl/src/cmake/externalpackages.cmake orig/src/cmake/externalpackages.cmake 2022-01-07 18:36:45 -0700 -+++ external_osl/src/cmake/externalpackages.cmake 2022-08-02 08:10:27 -0600 -@@ -36,12 +36,10 @@ - - ### - # Boost setup --if (LINKSTATIC) --set (Boost_USE_STATIC_LIBS ON) --else () --if (MSVC) --add_definitions (-DBOOST_ALL_DYN_LINK=1) --endif () -+# Blender links most things static, but not boost -+set (Boost_USE_STATIC_LIBS OFF) -+if (MSVC) -+add_definitions (-DBOOST_ALL_DYN_LINK=1) - endif () - if (BOOST_CUSTOM) - set (Boost_FOUND true) -@@ -80,6 +78,7 @@ - - - checked_find_package (ZLIB REQUIRED) # Needed by several packages -+checked_find_package (PNG REQUIRED) # Needed since OIIO needs it - - # IlmBase & OpenEXR - checked_find_package (OpenEXR REQUIRED \ No newline at end of file ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [c967bdcbb1e] master: GPencil: Fix MSVC warning in lineart_cpp_bridge.cc
Commit: c967bdcbb1e8496c1e0d440aebb4bab97ad4508b Author: Ray Molenkamp Date: Thu Oct 27 09:16:51 2022 -0600 Branches: master https://developer.blender.org/rBc967bdcbb1e8496c1e0d440aebb4bab97ad4508b GPencil: Fix MSVC warning in lineart_cpp_bridge.cc MSVC give a rather large warning when using blender::parallel_sort without using a lambda for the comparison. Fixed by using a lambda === M source/blender/gpencil_modifiers/intern/lineart/lineart_cpp_bridge.cc === diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpp_bridge.cc b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpp_bridge.cc index 5e741ccbd55..85f158d42e6 100644 --- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpp_bridge.cc +++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpp_bridge.cc @@ -9,17 +9,15 @@ #include "MOD_lineart.h" #include "lineart_intern.h" -static bool cmp_adjacent_items(const LineartAdjacentEdge , const LineartAdjacentEdge ) -{ - int a = p1.v1 - p2.v1; - int b = p1.v2 - p2.v2; - /* parallel_sort() requires cmp() to return true when the first element needs to appear before - * the second element in the sorted array, false otherwise (strict weak ordering), see - * https://en.cppreference.com/w/cpp/named_req/Compare. */ - return a < 0 ? true : (a == 0 ? b < 0 : false); -} - void lineart_sort_adjacent_items(LineartAdjacentEdge *ai, int length) { - blender::parallel_sort(ai, ai + length, cmp_adjacent_items); + blender::parallel_sort( + ai, ai + length, [](const LineartAdjacentEdge , const LineartAdjacentEdge ) { +int a = p1.v1 - p2.v1; +int b = p1.v2 - p2.v2; +/* parallel_sort() requires cmp() to return true when the first element needs to appear + * before the second element in the sorted array, false otherwise (strict weak ordering), + * see https://en.cppreference.com/w/cpp/named_req/Compare. */ +return a < 0 ? true : (a == 0 ? b < 0 : false); + }); } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [a070960b5dd] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: a070960b5ddf15f42ab51e5e9ce3e5d582ca4e4a Author: Ray Molenkamp Date: Thu Oct 27 01:17:45 2022 -0700 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rBa070960b5ddf15f42ab51e5e9ce3e5d582ca4e4a Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [14c218b3fd9] master: deps_builder: fix hardcoded path
Commit: 14c218b3fd9e936423a5bc3269063aca76f61681 Author: Ray Molenkamp Date: Tue Oct 25 17:00:48 2022 -0600 Branches: master https://developer.blender.org/rB14c218b3fd9e936423a5bc3269063aca76f61681 deps_builder: fix hardcoded path the windows builder has 2 different build folders for the debug and release libs, hardcoding the path like this leads to an extra 1GB of downloaded files. The windows builder supplies a single PACKAGE_DIR for both but gets ignored. This change promotes PACKAGE_DIR to be cached in CMakeCache so it can be changed if needed. Differential Revision: https://developer.blender.org/D16213 Reviewed by; brecht, dfelinto === M build_files/build_environment/cmake/options.cmake === diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake index 9058e945f6d..13e7fb58be2 100644 --- a/build_files/build_environment/cmake/options.cmake +++ b/build_files/build_environment/cmake/options.cmake @@ -21,8 +21,8 @@ else() endif() set(DOWNLOAD_DIR "${CMAKE_CURRENT_BINARY_DIR}/downloads" CACHE STRING "Path for downloaded files") -# This path must be hard-coded like this, so that the GNUmakefile knows where it is and can pass it to make_source_archive.py: -set(PACKAGE_DIR "${CMAKE_CURRENT_BINARY_DIR}/packages") + +set(PACKAGE_DIR "${CMAKE_CURRENT_BINARY_DIR}/packages" CACHE PATH "default path for downloaded packages") option(PACKAGE_USE_UPSTREAM_SOURCES "Use sources upstream to download the package sources, when OFF the blender mirror will be used" ON) file(TO_CMAKE_PATH ${DOWNLOAD_DIR} DOWNLOAD_DIR) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [1fbec423f27] tmp-vfx-platform-2023: cmake: fix missing crlf's
Commit: 1fbec423f2798041d201f88ea8816a48ef2ab82b Author: Ray Molenkamp Date: Tue Oct 25 11:48:18 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB1fbec423f2798041d201f88ea8816a48ef2ab82b cmake: fix missing crlf's went missing during the last master merge === M build_files/cmake/platform/platform_unix.cmake === diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake index b0448a31348..bcbd2155b92 100644 --- a/build_files/cmake/platform/platform_unix.cmake +++ b/build_files/cmake/platform/platform_unix.cmake @@ -350,7 +350,8 @@ if(WITH_USD) set_and_warn_library_found("USD" USD_FOUND WITH_USD) if(WITH_USD) add_bundled_libraries(usd/lib) - endif()endif() + endif() +endif() if(WITH_BOOST) # uses in build instructions to override include and library variables @@ -440,7 +441,8 @@ if(WITH_OPENIMAGEIO) set_and_warn_library_found("OPENIMAGEIO" OPENIMAGEIO_FOUND WITH_OPENIMAGEIO) if(WITH_OPENIMAGEIO) add_bundled_libraries(openimageio/lib) - endif()endif() + endif() +endif() if(WITH_OPENCOLORIO) find_package_wrapper(OpenColorIO 2.0.0) @@ -492,13 +494,17 @@ if(WITH_OPENSUBDIV) set_and_warn_library_found("OpenSubdiv" OPENSUBDIV_FOUND WITH_OPENSUBDIV) if(WITH_OPENSUBDIV) -add_bundled_libraries(opensubdiv/lib) endif()endif() +add_bundled_libraries(opensubdiv/lib) + endif() +endif() if(WITH_TBB) find_package_wrapper(TBB) set_and_warn_library_found("TBB" TBB_FOUND WITH_TBB) if(WITH_TBB) -add_bundled_libraries(tbb/lib) endif()endif() +add_bundled_libraries(tbb/lib) + endif() +endif() if(WITH_XR_OPENXR) find_package(XR_OpenXR_SDK) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [74156ae0ea9] tmp-vfx-platform-2023: Windows: Fix broken OSL shader build
Commit: 74156ae0ea9cfe718afe260b38eb56393e25c5ad Author: Ray Molenkamp Date: Tue Oct 25 10:40:07 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB74156ae0ea9cfe718afe260b38eb56393e25c5ad Windows: Fix broken OSL shader build some changes in platform/platform_win32.cmake got lost during one of the master merges. === M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 5659c070548..8c645357d6d 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -989,3 +989,10 @@ if(WITH_CYCLES AND WITH_CYCLES_DEVICE_ONEAPI) list(APPEND PLATFORM_BUNDLED_LIBRARIES ${_sycl_runtime_libraries}) unset(_sycl_runtime_libraries) endif() + + +# Environment variables to run precompiled executables that needed libraries. +list(JOIN PLATFORM_BUNDLED_LIBRARY_DIRS ";" _library_paths) +set(PLATFORM_ENV_BUILD "PATH=${LIBDIR}/OpenImageIO/bin\;${LIBDIR}/boost/lib\;${LIBDIR}/openexr/bin\;${LIBDIR}/imath/bin\;${PATH}") +set(PLATFORM_ENV_INSTALL "PATH=${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/blender.shared/;$ENV{PATH}") +unset(_library_paths) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [269a903c154] tmp-vfx-platform-2023: Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023
Commit: 269a903c15463a891c9e2b0eb0a81ae2eb88ec8f Author: Ray Molenkamp Date: Tue Oct 25 10:10:14 2022 -0600 Branches: tmp-vfx-platform-2023 https://developer.blender.org/rB269a903c15463a891c9e2b0eb0a81ae2eb88ec8f Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023 === === diff --cc build_files/build_environment/CMakeLists.txt index 5059b5a98e9,023d113b551..ef3c0388c29 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@@ -99,8 -97,8 +99,10 @@@ include(cmake/embree.cmake include(cmake/openpgl.cmake) include(cmake/fmt.cmake) include(cmake/robinmap.cmake) + include(cmake/xml2.cmake) + +include(cmake/fribidi.cmake) +include(cmake/harfbuzz.cmake) if(NOT APPLE) include(cmake/xr_openxr.cmake) if(NOT WIN32 OR BUILD_MODE STREQUAL Release) diff --cc build_files/build_environment/cmake/options.cmake index 0a45d843547,9058e945f6d..50867fadff4 --- a/build_files/build_environment/cmake/options.cmake +++ b/build_files/build_environment/cmake/options.cmake @@@ -3,6 -3,8 +3,8 @@@ if(WIN32) option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/fftw3 by installing mingw64" ON) endif() + option(FORCE_CHECK_HASH "Force a check of all hashses during CMake the configure phase" OFF) -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") @@@ -113,39 -98,20 +115,21 @@@ if(WIN32 else() set(PATCH_CMD patch) set(LIBEXT ".a") - set(SHAREDLIBEXT ".so") set(LIBPREFIX "lib") + set(MESON ${LIBDIR}/python/bin/meson) +if(APPLE) +set(SHAREDLIBEXT ".dylib") - # Let's get the current Xcode dir, to support xcode-select - execute_process( - COMMAND xcode-select --print-path - OUTPUT_VARIABLE XCODE_DEV_PATH OUTPUT_STRIP_TRAILING_WHITESPACE - ) - execute_process( - COMMAND xcodebuild -version -sdk macosx SDKVersion - OUTPUT_VARIABLE MACOSX_SDK_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - - if(NOT CMAKE_OSX_ARCHITECTURES) - execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE) - message(STATUS "Detected native architecture ${ARCHITECTURE}.") - set(CMAKE_OSX_ARCHITECTURES "${ARCHITECTURE}") - endif() - if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64") - set(OSX_DEPLOYMENT_TARGET 10.13) - else() - set(OSX_DEPLOYMENT_TARGET 11.00) - endif() - set(OSX_SYSROOT ${XCODE_DEV_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk) - if(APPLE) + # Use same Xcode detection as Blender itself. + include(../cmake/platform/platform_apple_xcode.cmake) if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64") set(BLENDER_PLATFORM_ARM ON) endif() - set(PLATFORM_CFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}") - set(PLATFORM_CXXFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -std=c++17 -stdlib=libc++ -arch ${CMAKE_OSX_ARCHITECTURES}") - set(PLATFORM_LDFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}") + set(PLATFORM_CFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}") -set(PLATFORM_CXXFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -std=c++11 -stdlib=libc++ -arch ${CMAKE_OSX_ARCHITECTURES}") ++set(PLATFORM_CXXFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -std=c++17 -stdlib=libc++ -arch ${CMAKE_OSX_ARCHITECTURES}") + set(PLATFORM_LDFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}") if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64") set(PLATFORM_BUILD_TARGET --build=x86_64-apple-darwin17.0.0) # OS X 10.13 else() @@@ -153,12 -119,10 +137,12 @@@ endif() set(PLATFORM_CMAKE_FLAGS -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES} - -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${OSX_DEPLOYMENT_TARGET} - -DCMAKE_OSX_SYSROOT:PATH=${OSX_SYSROOT} + -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET} + -DCMAKE_OSX_SYSROOT:PATH=${CMAKE_OSX_SYSROOT} ) else() +set(SHAREDLIBEXT ".so") + if
[Bf-blender-cvs] [954b834053f] master: Fix T102015: AV1 - No valid formats found
Commit: 954b834053f17f1c0ff1f3096030b81d0d9ea7ec Author: Ray Molenkamp Date: Mon Oct 24 11:59:24 2022 -0600 Branches: master https://developer.blender.org/rB954b834053f17f1c0ff1f3096030b81d0d9ea7ec Fix T102015: AV1 - No valid formats found I did a poor master merge in D14920 before landing and AV_CODEC_ID_AV1 accidentally ended up in `ffmpeg_format_items` rather than `ffmpeg_codec_items` === M source/blender/makesrna/intern/rna_scene.c === diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 58455ff7de5..fde8fcf651c 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -5928,7 +5928,6 @@ static void rna_def_scene_ffmpeg_settings(BlenderRNA *brna) {FFMPEG_MKV, "MKV", 0, "Matroska", ""}, {FFMPEG_FLV, "FLASH", 0, "Flash", ""}, {FFMPEG_WEBM, "WEBM", 0, "WebM", ""}, - {AV_CODEC_ID_AV1, "AV1", 0, "AV1", ""}, {0, NULL, 0, NULL, NULL}, }; @@ -5947,6 +5946,7 @@ static void rna_def_scene_ffmpeg_settings(BlenderRNA *brna) {AV_CODEC_ID_QTRLE, "QTRLE", 0, "QT rle / QT Animation", ""}, {AV_CODEC_ID_THEORA, "THEORA", 0, "Theora", ""}, {AV_CODEC_ID_VP9, "WEBM", 0, "WebM / VP9", ""}, + {AV_CODEC_ID_AV1, "AV1", 0, "AV1", ""}, {0, NULL, 0, NULL, NULL}, }; ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [04eab0fd01e] master: deps_builder: expose FORCE_CHECK_HASH as an option
Commit: 04eab0fd01e8c416ce45c95b9e32db4e0ff03d7b Author: Ray Molenkamp Date: Fri Oct 21 12:48:17 2022 -0600 Branches: master https://developer.blender.org/rB04eab0fd01e8c416ce45c95b9e32db4e0ff03d7b deps_builder: expose FORCE_CHECK_HASH as an option The check was already there, but given it was not exposed as an option it didn't show up in my cmakecache and i got tired of having to lookup the exact name all the time. === M build_files/build_environment/cmake/options.cmake === diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake index 6e5f9df20b4..9058e945f6d 100644 --- a/build_files/build_environment/cmake/options.cmake +++ b/build_files/build_environment/cmake/options.cmake @@ -3,6 +3,7 @@ if(WIN32) option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/fftw3 by installing mingw64" ON) endif() +option(FORCE_CHECK_HASH "Force a check of all hashses during CMake the configure phase" OFF) 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") ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [116d7b0042b] master: make.bat: update the libraries before calling update_sources.py
Commit: 116d7b0042bba7d6cabd8e04c7d020ac3816caf3 Author: Ray Molenkamp Date: Fri Oct 21 09:50:14 2022 -0600 Branches: master https://developer.blender.org/rB116d7b0042bba7d6cabd8e04c7d020ac3816caf3 make.bat: update the libraries before calling update_sources.py The issue we ran into a lot is we have a python script that updates git+SVN. Which works fine most of the time, except when we have a python update in SVN, or worse a python version change. Python really doesn't enjoy having its files being deleted or changed while it is running and users generally end up with a corrupted lib folder. This change updates the library folder using svn.exe first before letting the python script run sidestepping the issue in most cases. The python script will still run and do the more elaborate work like updating git and switching SVN branches which could still run into issues cause python still doesn't like being changed while running but there's not a whole lot we can about that, for *most* people however things will just work now. === A build_files/windows/svn_update.cmd M make.bat === diff --git a/build_files/windows/svn_update.cmd b/build_files/windows/svn_update.cmd new file mode 100644 index 000..f91f03f15b3 --- /dev/null +++ b/build_files/windows/svn_update.cmd @@ -0,0 +1,24 @@ +if "%BUILD_VS_YEAR%"=="2019" set BUILD_VS_LIBDIRPOST=vc15 +if "%BUILD_VS_YEAR%"=="2022" set BUILD_VS_LIBDIRPOST=vc15 + +set BUILD_VS_SVNDIR=win64_%BUILD_VS_LIBDIRPOST% +set BUILD_VS_LIBDIR="%BLENDER_DIR%..\lib\%BUILD_VS_SVNDIR%" + +cd %BUILD_VS_LIBDIR% +:RETRY +"%SVN%" update +if errorlevel 1 ( + set /p LibRetry= "Error during update, retry? y/n" + if /I "!LibRetry!"=="Y" ( + "%SVN%" cleanup + goto RETRY + ) + echo. + echo Error: Download of external libraries failed. + echo This is needed for building, please manually run 'svn cleanup' and 'svn update' in + echo %BUILD_VS_LIBDIR% , until this is resolved you CANNOT make a successful blender build + echo. + exit /b 1 +) + +cd %BLENDER_DIR% \ No newline at end of file diff --git a/make.bat b/make.bat index ff8059b0754..0be70053ce1 100644 --- a/make.bat +++ b/make.bat @@ -62,9 +62,17 @@ if "%SVN_FIX%" == "1" ( ) if "%BUILD_UPDATE%" == "1" ( + REM First see if the SVN libs are there and check them out if they are not. call "%BLENDER_DIR%\build_files\windows\check_libraries.cmd" if errorlevel 1 goto EOF - + REM Then update SVN platform libraries, since updating python while python is + REM running tends to be problematic. The python script that update_sources + REM calls later on may still try to switch branches and run into trouble, + REM but for *most* people this will side step the problem. + call "%BLENDER_DIR%\build_files\windows\svn_update.cmd" + REM Finally call the python script shared between all platforms that updates git + REM and does any other SVN work like update the tests or branch switches + REM if required. call "%BLENDER_DIR%\build_files\windows\update_sources.cmd" goto EOF ) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [3ccec478414] master: cmake/windows: Prepare for 3.4 library changes for opencollada
Commit: 3ccec478414eda8eafebaead302eadbd9453d558 Author: Ray Molenkamp Date: Fri Oct 21 07:04:21 2022 -0600 Branches: master https://developer.blender.org/rB3ccec478414eda8eafebaead302eadbd9453d558 cmake/windows: Prepare for 3.4 library changes for opencollada The opencollada dependency will be using an external xml2 library for 3.4. This change allows to build against both old and new style lib folders. As it is a C library it did not need a special debug version. === M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 5fb921fc97d..32c467b4b46 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -358,7 +358,6 @@ if(WITH_OPENCOLLADA) optimized ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAStreamWriter.lib optimized ${OPENCOLLADA}/lib/opencollada/MathMLSolver.lib optimized ${OPENCOLLADA}/lib/opencollada/GeneratedSaxParser.lib -optimized ${OPENCOLLADA}/lib/opencollada/xml.lib optimized ${OPENCOLLADA}/lib/opencollada/buffer.lib optimized ${OPENCOLLADA}/lib/opencollada/ftoa.lib @@ -368,10 +367,14 @@ if(WITH_OPENCOLLADA) debug ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAStreamWriter_d.lib debug ${OPENCOLLADA}/lib/opencollada/MathMLSolver_d.lib debug ${OPENCOLLADA}/lib/opencollada/GeneratedSaxParser_d.lib -debug ${OPENCOLLADA}/lib/opencollada/xml_d.lib debug ${OPENCOLLADA}/lib/opencollada/buffer_d.lib debug ${OPENCOLLADA}/lib/opencollada/ftoa_d.lib ) + if(EXISTS ${LIBDIR}/xml2/lib/libxml2s.lib) # 3.4 libraries +list(APPEND OPENCOLLADA_LIBRARIES ${LIBDIR}/xml2/lib/libxml2s.lib) + else() +list(APPEND OPENCOLLADA_LIBRARIES ${OPENCOLLADA}/lib/opencollada/xml.lib) + endif() list(APPEND OPENCOLLADA_LIBRARIES ${OPENCOLLADA}/lib/opencollada/UTF.lib) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [dc09cc13ea4] master: deps_builder: add missing OSLNoise library on windows
Commit: dc09cc13ea49a0de72aafcb8a48d6189d13aa6d9 Author: Ray Molenkamp Date: Thu Oct 20 18:31:15 2022 -0600 Branches: master https://developer.blender.org/rBdc09cc13ea49a0de72aafcb8a48d6189d13aa6d9 deps_builder: add missing OSLNoise library on windows OSLNoise is a new library, was missing in the debug configuration on windows. === M build_files/build_environment/cmake/osl.cmake === diff --git a/build_files/build_environment/cmake/osl.cmake b/build_files/build_environment/cmake/osl.cmake index 8bac2c5c1ab..a5d000e4f44 100644 --- a/build_files/build_environment/cmake/osl.cmake +++ b/build_files/build_environment/cmake/osl.cmake @@ -83,6 +83,7 @@ if(WIN32) COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslcomp.lib ${HARVEST_TARGET}/osl/lib/oslcomp_d.lib COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslexec.lib ${HARVEST_TARGET}/osl/lib/oslexec_d.lib COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslquery.lib ${HARVEST_TARGET}/osl/lib/oslquery_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslnoise.lib ${HARVEST_TARGET}/osl/lib/oslnoise_d.lib DEPENDEES install ) endif() ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [65151779811] master: deps_builder: OpenCollada fixes for windows
Commit: 65151779811bb68f9afa0fb5d3dfacbd9fd3d6cb Author: Ray Molenkamp Date: Thu Oct 20 18:29:59 2022 -0600 Branches: master https://developer.blender.org/rB65151779811bb68f9afa0fb5d3dfacbd9fd3d6cb deps_builder: OpenCollada fixes for windows - build and use our version of libxml - the cli tools had a linker error due to it trying to link a shared version of libxml, disabled both and zlib 1.2.3 with a patch since we do not want/need them for blender. - postfix the libraries with _d for debug automatically so we don't have to fix that during the harvest. due to this only being windows changes no rebuild needed for the other platforms. === M build_files/build_environment/CMakeLists.txt M build_files/build_environment/cmake/opencollada.cmake M build_files/build_environment/cmake/xml2.cmake M build_files/build_environment/patches/opencollada.diff === diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index 4f40f44ad18..023d113b551 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -97,6 +97,8 @@ include(cmake/embree.cmake) include(cmake/openpgl.cmake) include(cmake/fmt.cmake) include(cmake/robinmap.cmake) +include(cmake/xml2.cmake) + if(NOT APPLE) include(cmake/xr_openxr.cmake) if(NOT WIN32 OR BUILD_MODE STREQUAL Release) @@ -149,7 +151,6 @@ if(NOT WIN32 OR ENABLE_MINGW64) endif() if(UNIX) include(cmake/flac.cmake) - include(cmake/xml2.cmake) if(NOT APPLE) include(cmake/spnav.cmake) include(cmake/jemalloc.cmake) diff --git a/build_files/build_environment/cmake/opencollada.cmake b/build_files/build_environment/cmake/opencollada.cmake index b2ae1a1a351..9473aafbe88 100644 --- a/build_files/build_environment/cmake/opencollada.cmake +++ b/build_files/build_environment/cmake/opencollada.cmake @@ -4,6 +4,16 @@ if(UNIX) set(OPENCOLLADA_EXTRA_ARGS -DLIBXML2_INCLUDE_DIR=${LIBDIR}/xml2/include/libxml2 -DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2.a) +else() + set(OPENCOLLADA_EXTRA_ARGS +-DCMAKE_DEBUG_POSTFIX=_d +-DLIBXML2_INCLUDE_DIR=${LIBDIR}/xml2/include/libxml2 + ) + if(BUILD_MODE STREQUAL Release) +list(APPEND OPENCOLLADA_EXTRA_ARGS -DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2s.lib) + else() +list(APPEND OPENCOLLADA_EXTRA_ARGS -DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2sd.lib) + endif() endif() ExternalProject_Add(external_opencollada @@ -16,12 +26,11 @@ ExternalProject_Add(external_opencollada INSTALL_DIR ${LIBDIR}/opencollada ) -if(UNIX) - add_dependencies( -external_opencollada -external_xml2 - ) -endif() + +add_dependencies( + external_opencollada + external_xml2 +) if(WIN32) if(BUILD_MODE STREQUAL Release) @@ -32,17 +41,7 @@ if(WIN32) endif() if(BUILD_MODE STREQUAL Debug) ExternalProject_Add_Step(external_opencollada after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/buffer.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/buffer_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/ftoa.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/ftoa_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/GeneratedSaxParser.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/GeneratedSaxParser_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/MathMLSolver.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/MathMLSolver_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADABaseUtils.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADABaseUtils_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAFramework.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAFramework_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/pcre.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/pcre_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/UTF.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/UTF_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/xml.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/xml_d.lib + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencollada/lib ${HARVEST_TARGET
[Bf-blender-cvs] [8c361d6f66c] master: deps_builder: fix missing png harvest on windows
Commit: 8c361d6f66cf4d87f5fd220ff056ea563a7d8e07 Author: Ray Molenkamp Date: Thu Oct 20 11:46:42 2022 -0600 Branches: master https://developer.blender.org/rB8c361d6f66cf4d87f5fd220ff056ea563a7d8e07 deps_builder: fix missing png harvest on windows === M build_files/build_environment/cmake/png.cmake === diff --git a/build_files/build_environment/cmake/png.cmake b/build_files/build_environment/cmake/png.cmake index 890be673cb8..371f2608e2a 100644 --- a/build_files/build_environment/cmake/png.cmake +++ b/build_files/build_environment/cmake/png.cmake @@ -24,6 +24,14 @@ add_dependencies( external_zlib ) +if(WIN32 AND BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_png after_install +COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/png/include/ ${HARVEST_TARGET}/png/include/ +COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_static${LIBEXT} ${HARVEST_TARGET}/png/lib/libpng${LIBEXT} +DEPENDEES install + ) +endif() + if(WIN32 AND BUILD_MODE STREQUAL Debug) ExternalProject_Add_Step(external_png after_install COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_staticd${LIBEXT} ${LIBDIR}/png/lib/libpng16${LIBEXT} ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [21deba56aae] master: Build: update various libraries for 3.4, fixing bugs and security issues
Commit: 21deba56aaeccf94d83024a9de4eef49ea05984f Author: Ray Molenkamp Date: Thu Oct 20 13:25:54 2022 +0200 Branches: master https://developer.blender.org/rB21deba56aaeccf94d83024a9de4eef49ea05984f Build: update various libraries for 3.4, fixing bugs and security issues THis is bumping dependencies to fix known CVEs, with the exception of OpenImageIO which also includes bugfixes for performance and correctness with some image types. zlib 1.2.12 -> 1.2.13 freetype 2.11.1 -> 2.12.1 openimageio 2.3.13.0 -> 2.3.20.0 python 3.10.2 -> 3.10.8 openjpeg 2.4.0 -> 2.5.0 ffmpeg 5.0 -> 5.1.2 sndfile 1.0.28 -> 1.1.0 xml2 2.9.10 -> 2.10.3 expat 2.4.4 -> 2.4.9 openssl 1.1.1g/i -> 1.1.1q sqlite 3.31.1 -> 3.37.2 Notable changes: * AOM: the hack we had in place to make it not detect pthreads on windows no longer worked with a more recent cmake version. Disabled pthreads with a diff on Windows. * Python: embedded copy of zlib 2.1.12 swapped out for our 2.1.13 copy with some folder manipulation on Windows. * Freetype: was harbouring a copy of zlib 2.1.12 as well, so that had to end. * FFmpeg: patch used to fix D11796 is no longer needed. Add new patch to deal with simple_idct.asm generating an object file with no sections in it, backport from upstream commit. * TinyXML: still being downloaded but no longer used by OpenColorIO, removed. * GMP applied upstream patch to fix CVE-2021-43618, as there is no release yet. * SQLite and Libsndfile patches no longer needed. Includes contributes by Ray Molenkamp, Campbell Barton and Brecht Van Lommel. Ref T101403 Differential Revision: https://developer.blender.org/D16269 === M build_files/build_environment/cmake/aom.cmake M build_files/build_environment/cmake/download.cmake M build_files/build_environment/cmake/ffmpeg.cmake M build_files/build_environment/cmake/freetype.cmake M build_files/build_environment/cmake/gmp.cmake M build_files/build_environment/cmake/llvm.cmake M build_files/build_environment/cmake/osl.cmake M build_files/build_environment/cmake/python.cmake M build_files/build_environment/cmake/sndfile.cmake M build_files/build_environment/cmake/sqlite.cmake M build_files/build_environment/cmake/ssl.cmake M build_files/build_environment/cmake/tiff.cmake M build_files/build_environment/cmake/versions.cmake M build_files/build_environment/cmake/wayland.cmake M build_files/build_environment/dependencies.dot A build_files/build_environment/patches/aom.diff M build_files/build_environment/patches/ffmpeg.diff A build_files/build_environment/patches/gmp.diff M build_files/build_environment/patches/osl.diff D build_files/build_environment/patches/python_windows.diff D build_files/build_environment/patches/sndfile.diff D build_files/build_environment/patches/sqlite.diff A build_files/build_environment/patches/ssl.diff M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/build_environment/cmake/aom.cmake b/build_files/build_environment/cmake/aom.cmake index 9f64439771f..11c81c3f6e4 100644 --- a/build_files/build_environment/cmake/aom.cmake +++ b/build_files/build_environment/cmake/aom.cmake @@ -8,11 +8,6 @@ if(WIN32) # building with mingw, it'll have an unhappy time with that and # we need to clear them out. set(AOM_CMAKE_FLAGS ) - # CMake will correctly identify phreads being available, however - # we do not want to use them, as that gains a dependency on - # libpthreadswin.dll which we do not want. when pthreads is not - # available oam will use a pthreads emulation layer using win32 threads - set(AOM_EXTRA_ARGS_WIN32 -DCMAKE_HAVE_PTHREAD_H=OFF) else() set(AOM_GENERATOR "Unix Makefiles") set(AOM_CMAKE_FLAGS ${DEFAULT_CMAKE_FLAGS}) @@ -36,6 +31,7 @@ ExternalProject_Add(external_aom DOWNLOAD_DIR ${DOWNLOAD_DIR} URL_HASH ${AOM_HASH_TYPE}=${AOM_HASH} PREFIX ${BUILD_DIR}/aom + PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/aom/src/external_aom < ${PATCH_DIR}/aom.diff CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/aom/src/external_aom-build/ && ${CMAKE_COMMAND} -G "${AOM_GENERATOR}" -DCMAKE_INSTALL_PREFIX=${LIBDIR}/aom ${AOM_CMAKE_FLAGS} ${AOM_EXTRA_ARGS} ${BUILD_DIR}/aom/src/external_aom/ diff --git a/build_files/build_environment/cmake/download.cmake b/build_files/build_environment/cmake/download.cmake index 35bc028a1e3..8d75f0ff0ed 100644 --- a/build_files/build_environment/cmake/download.cmake +++ b/build_files/build_environment/cmake/download.cmake @@ -62,7 +62,7 @@ function(download_source dep) # since the actual build of the dep will notify the # platform maintainer if there is a problem with the # sour
[Bf-blender-cvs] [303dd263e25] master: Build: update OSL to version 1.12.6.2
Commit: 303dd263e2590f981ee1917554cd688dd951ee2c Author: Ray Molenkamp Date: Thu Oct 20 13:33:08 2022 +0200 Branches: master https://developer.blender.org/rB303dd263e2590f981ee1917554cd688dd951ee2c Build: update OSL to version 1.12.6.2 Required changes to make OSL pick up the new oslnoise library. Ref D16269, T101403 === M build_files/build_environment/cmake/versions.cmake M build_files/cmake/Modules/FindOSL.cmake M build_files/cmake/platform/platform_apple.cmake M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index bfc6d27f74d..469988dab0c 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -189,9 +189,9 @@ set(TIFF_HASH_TYPE MD5) set(TIFF_FILE tiff-${TIFF_VERSION}.tar.gz) set(TIFF_CPE "cpe:2.3:a:libtiff:libtiff:${TIFF_VERSION}:*:*:*:*:*:*:*") -set(OSL_VERSION 1.11.17.0) -set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.tar.gz) -set(OSL_HASH 63265472ce14548839ace2e21e401544) +set(OSL_VERSION 1.12.6.2) +set(OSL_URI https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/refs/tags/v${OSL_VERSION}.tar.gz) +set(OSL_HASH 6fef11548adfdd3e5b25c49d2dae96ee) set(OSL_HASH_TYPE MD5) set(OSL_FILE OpenShadingLanguage-${OSL_VERSION}.tar.gz) diff --git a/build_files/cmake/Modules/FindOSL.cmake b/build_files/cmake/Modules/FindOSL.cmake index ab5de53d3c9..a8d8344ae66 100644 --- a/build_files/cmake/Modules/FindOSL.cmake +++ b/build_files/cmake/Modules/FindOSL.cmake @@ -20,6 +20,7 @@ IF(NOT OSL_ROOT_DIR AND NOT $ENV{OSL_ROOT_DIR} STREQUAL "") ENDIF() SET(_osl_FIND_COMPONENTS + oslnoise oslcomp oslexec oslquery @@ -39,7 +40,6 @@ FIND_PATH(OSL_INCLUDE_DIR include ) -SET(_osl_LIBRARIES) FOREACH(COMPONENT ${_osl_FIND_COMPONENTS}) STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT) @@ -51,9 +51,20 @@ FOREACH(COMPONENT ${_osl_FIND_COMPONENTS}) PATH_SUFFIXES lib64 lib ) - LIST(APPEND _osl_LIBRARIES "${OSL_${UPPERCOMPONENT}_LIBRARY}") ENDFOREACH() +# Note linking order matters, and oslnoise existence depends on version. +SET(_osl_LIBRARIES ${OSL_OSLCOMP_LIBRARY}) +IF(APPLE) + list(APPEND _osl_LIBRARIES -force_load ${OSL_OSLEXEC_LIBRARY}) +ELSE() + list(APPEND _osl_LIBRARIES ${OSL_OSLEXEC_LIBRARY}) +ENDIF() +list(APPEND _osl_LIBRARIES ${OSL_OSLQUERY_LIBRARY}) +IF(OSL_OSLNOISE_LIBRARY) + list(APPEND _osl_LIBRARIES ${OSL_OSLNOISE_LIBRARY}) +ENDIF() + FIND_PROGRAM(OSL_COMPILER oslc HINTS ${_osl_SEARCH_DIRS} PATH_SUFFIXES bin) diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 04f5a312030..dbcaf9d02d3 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -331,20 +331,9 @@ if(WITH_LLVM) endif() if(WITH_CYCLES AND WITH_CYCLES_OSL) - set(CYCLES_OSL ${LIBDIR}/osl) - - find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib) - find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib) - find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib) - # WARNING! depends on correct order of OSL libs linking - list(APPEND OSL_LIBRARIES ${OSL_LIB_COMP} -force_load ${OSL_LIB_EXEC} ${OSL_LIB_QUERY}) - find_path(OSL_INCLUDE_DIR OSL/oslclosure.h PATHS ${CYCLES_OSL}/include) - find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin) - find_path(OSL_SHADER_DIR NAMES stdosl.h PATHS ${CYCLES_OSL}/share/OSL/shaders) - - if(OSL_INCLUDE_DIR AND OSL_LIBRARIES AND OSL_COMPILER AND OSL_SHADER_DIR) -set(OSL_FOUND TRUE) - else() + find_package(OSL) + + if(NOT OSL_FOUND) message(WARNING "OSL not found, disabling WITH_CYCLES_OSL") set(WITH_CYCLES_OSL OFF) endif() diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index cfb8bf34b81..4478a2f8051 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -773,9 +773,11 @@ if(WITH_CYCLES AND WITH_CYCLES_OSL) find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib) find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib) find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib) + find_library(OSL_LIB_NOISE NAMES oslnoise PATHS ${CYCLES_OSL}/lib) find_library(OSL_LIB_EXEC_DEBUG NAMES oslexec_d PATHS ${CYCLES_OSL}/lib) find_library(OSL_LIB_COMP_DEBUG NAMES oslcomp_d PATHS ${CYCLES_OSL}/lib) find_library(OSL_LIB_QUERY_DEBUG NAMES oslquery_d PATHS ${CYCLES_OSL}/lib) + find_library(OSL_LIB_NOISE_DEBUG NAMES oslnoise_d PATHS ${CYCLE
[Bf-blender-cvs] [debacbfe5c8] master: Build: update OpenPGL hash for re-tagged version without symbols conflicts
Commit: debacbfe5c8fb38a01504463b70f590386a3f62c Author: Ray Molenkamp Date: Thu Oct 20 13:37:18 2022 +0200 Branches: master https://developer.blender.org/rBdebacbfe5c8fb38a01504463b70f590386a3f62c Build: update OpenPGL hash for re-tagged version without symbols conflicts Ref D16269, T101403 === M build_files/build_environment/cmake/versions.cmake === diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index 469988dab0c..6f358fd6f86 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -564,7 +564,7 @@ set(BROTLI_CPE "cpe:2.3:a:google:brotli:${BROTLI_VERSION}:*:*:*:*:*:*:*") set(OPENPGL_VERSION v0.4.0-beta) set(OPENPGL_SHORT_VERSION 0.4.0) set(OPENPGL_URI https://github.com/OpenPathGuidingLibrary/openpgl/archive/refs/tags/${OPENPGL_VERSION}.tar.gz) -set(OPENPGL_HASH 58d5b65c533ce6cac3f7e1d51cf169a5411adf356abcd85f04049bbcaecc2e77) +set(OPENPGL_HASH 1f090f88ab2bad028e8b3619aa926f4f97cf7b2c175b904704d2fec8593dd3cd) set(OPENPGL_HASH_TYPE SHA256) set(OPENPGL_FILE openpgl-${OPENPGL_VERSION}.tar.gz) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [d17cb0f1074] tmp_libs_34: cmake: fix openjpeg version on windows.
Commit: d17cb0f1074e6972016574e21ab212feadea3b8f Author: Ray Molenkamp Date: Wed Oct 19 11:56:13 2022 -0600 Branches: tmp_libs_34 https://developer.blender.org/rBd17cb0f1074e6972016574e21ab212feadea3b8f cmake: fix openjpeg version on windows. === M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index dc112a96ce2..5fb921fc97d 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -683,7 +683,7 @@ if(WITH_IMAGE_OPENJPEG) if(NOT EXISTS "${OPENJPEG_INCLUDE_DIRS}") # when not found, could be an older lib folder with openjpeg 2.4 # to ease the transition period, fall back if 2.5 is not found. -set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.3) +set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.4) endif() set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/openjp2.lib) endif() ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [abdd0906f03] tmp_libs_34: cmake/Windows: 3.3/3.4 lib folder compatibility
Commit: abdd0906f035e34a928428176135a9ab457be123 Author: Ray Molenkamp Date: Wed Oct 19 10:44:16 2022 -0600 Branches: tmp_libs_34 https://developer.blender.org/rBabdd0906f035e34a928428176135a9ab457be123 cmake/Windows: 3.3/3.4 lib folder compatibility 3.4 will have some small changes in OSL and OpenJpeg this change allows blender to build to either the 3.4 or 3.3 libraries. === M build_files/cmake/platform/platform_win32.cmake === diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index a672ace8ab6..dc112a96ce2 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -679,10 +679,10 @@ endif() if(WITH_IMAGE_OPENJPEG) set(OPENJPEG ${LIBDIR}/openjpeg) - set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.4) + set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.5) if(NOT EXISTS "${OPENJPEG_INCLUDE_DIRS}") -# when not found, could be an older lib folder with openjpeg 2.3 -# to ease the transition period, fall back if 2.4 is not found. +# when not found, could be an older lib folder with openjpeg 2.4 +# to ease the transition period, fall back if 2.5 is not found. set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.3) endif() set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/openjp2.lib) @@ -782,13 +782,17 @@ if(WITH_CYCLES AND WITH_CYCLES_OSL) optimized ${OSL_LIB_COMP} optimized ${OSL_LIB_EXEC} optimized ${OSL_LIB_QUERY} -optimized ${OSL_LIB_NOISE} debug ${OSL_LIB_EXEC_DEBUG} debug ${OSL_LIB_COMP_DEBUG} debug ${OSL_LIB_QUERY_DEBUG} -debug ${OSL_LIB_NOISE_DEBUG} ${PUGIXML_LIBRARIES} ) + if(OSL_LIB_NOISE) +list(APPEND OSL_LIBRARIES optimized ${OSL_LIB_NOISE}) + endif() + if(OSL_LIB_NOISE_DEBUG) +list(APPEND OSL_LIBRARIES debug ${OSL_LIB_NOISE_DEBUG}) + endif() find_path(OSL_INCLUDE_DIR OSL/oslclosure.h PATHS ${CYCLES_OSL}/include) find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [e13dc57d6ab] tmp_libs_34: deps_builder: add missing zlib dep to python
Commit: e13dc57d6ab665a65b077ddb706e1aa5130a450e Author: Ray Molenkamp Date: Wed Oct 19 07:36:35 2022 -0600 Branches: tmp_libs_34 https://developer.blender.org/rBe13dc57d6ab665a65b077ddb706e1aa5130a450e deps_builder: add missing zlib dep to python caused a build error in a clean build folder on windows due to the lib not being there yet. === M build_files/build_environment/cmake/python.cmake === diff --git a/build_files/build_environment/cmake/python.cmake b/build_files/build_environment/cmake/python.cmake index b9b96457af1..61651cef7d5 100644 --- a/build_files/build_environment/cmake/python.cmake +++ b/build_files/build_environment/cmake/python.cmake @@ -38,7 +38,10 @@ if(WIN32) BUILD_COMMAND cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && call build.bat -e -p x64 -c ${BUILD_MODE} INSTALL_COMMAND ${PYTHON_BINARY_INTERNAL} ${PYTHON_SRC}/PC/layout/main.py -b ${PYTHON_SRC}/PCbuild/amd64 -s ${PYTHON_SRC} -t ${PYTHON_SRC}/tmp/ --include-stable --include-pip --include-dev --include-launchers --include-venv --include-symbols ${PYTHON_EXTRA_INSTLAL_FLAGS} --copy ${LIBDIR}/python ) - + add_dependencies( +external_python +external_zlib + ) else() if(APPLE) # Disable functions that can be in 10.13 sdk but aren't available on 10.9 target. ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [16fc021ec56] tmp_libs_34: deps_builder: cve_check small QOL tweak
Commit: 16fc021ec5614cd990df89dd3c033656111c2318 Author: Ray Molenkamp Date: Tue Oct 18 10:48:29 2022 -0600 Branches: tmp_libs_34 https://developer.blender.org/rB16fc021ec5614cd990df89dd3c033656111c2318 deps_builder: cve_check small QOL tweak Hardcoding the versions is going to be real annoying to maintain. use @DEP_ID@ to get the token with the vendor,product,version parts of the dep. === M build_files/build_environment/cmake/cve_check.cmake M build_files/build_environment/cmake/cve_check.csv.in === diff --git a/build_files/build_environment/cmake/cve_check.cmake b/build_files/build_environment/cmake/cve_check.cmake index bd8f73a1e64..ac42444aef1 100644 --- a/build_files/build_environment/cmake/cve_check.cmake +++ b/build_files/build_environment/cmake/cve_check.cmake @@ -27,9 +27,11 @@ get_cmake_property(_variableNames VARIABLES) foreach (_variableName ${_variableNames}) if(_variableName MATCHES "CPE$") string(REPLACE ":" ";" CPE_LIST ${${_variableName}}) + string(REPLACE "_CPE" "_ID" CPE_DEPNAME ${_variableName}) list(GET CPE_LIST 3 CPE_VENDOR) list(GET CPE_LIST 4 CPE_NAME) list(GET CPE_LIST 5 CPE_VERSION) + set(${CPE_DEPNAME} "${CPE_VENDOR},${CPE_NAME},${CPE_VERSION}") set(SBOMCONTENTS "${SBOMCONTENTS}${CPE_VENDOR},${CPE_NAME},${CPE_VERSION},,,\n") endif() endforeach() diff --git a/build_files/build_environment/cmake/cve_check.csv.in b/build_files/build_environment/cmake/cve_check.csv.in index bd7d8373c74..3797b7ce218 100644 --- a/build_files/build_environment/cmake/cve_check.csv.in +++ b/build_files/build_environment/cmake/cve_check.csv.in @@ -1,3 +1,3 @@ vendor,product,version,cve_number,remarks,comment -python,python,3.10.8,CVE-2009-2940,Ignored,Does not apply to Blender we do not ship pygresql +@PYTHON_ID@,CVE-2009-2940,Ignored,Does not apply to Blender we do not ship pygresql @SBOMCONTENTS@ ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [a1471e5a679] tmp_libs_34: deps_builder: add triage for cve-bin-tool reports
Commit: a1471e5a679d469f4c3c68b05a59dabe50d7358c Author: Ray Molenkamp Date: Tue Oct 18 10:15:08 2022 -0600 Branches: tmp_libs_34 https://developer.blender.org/rBa1471e5a679d469f4c3c68b05a59dabe50d7358c deps_builder: add triage for cve-bin-tool reports Add any CVE's we looked at into cve_check.csv.in with their triage status, i did CVE-2009-2940 as an example. The possible triage states are: NewFound Unexplored Confirmed Mitigated Ignored === M build_files/build_environment/cmake/cve_check.cmake M build_files/build_environment/cmake/cve_check.csv.in === diff --git a/build_files/build_environment/cmake/cve_check.cmake b/build_files/build_environment/cmake/cve_check.cmake index dfb190bcffa..bd8f73a1e64 100644 --- a/build_files/build_environment/cmake/cve_check.cmake +++ b/build_files/build_environment/cmake/cve_check.cmake @@ -30,7 +30,7 @@ foreach (_variableName ${_variableNames}) list(GET CPE_LIST 3 CPE_VENDOR) list(GET CPE_LIST 4 CPE_NAME) list(GET CPE_LIST 5 CPE_VERSION) - set(SBOMCONTENTS "${SBOMCONTENTS}${CPE_VENDOR},${CPE_NAME},${CPE_VERSION}\n") + set(SBOMCONTENTS "${SBOMCONTENTS}${CPE_VENDOR},${CPE_NAME},${CPE_VERSION},,,\n") endif() endforeach() configure_file(${CMAKE_SOURCE_DIR}/cmake/cve_check.csv.in ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv @ONLY) diff --git a/build_files/build_environment/cmake/cve_check.csv.in b/build_files/build_environment/cmake/cve_check.csv.in index 6e7e8db5609..bd7d8373c74 100644 --- a/build_files/build_environment/cmake/cve_check.csv.in +++ b/build_files/build_environment/cmake/cve_check.csv.in @@ -1,2 +1,3 @@ -vendor,product,version +vendor,product,version,cve_number,remarks,comment +python,python,3.10.8,CVE-2009-2940,Ignored,Does not apply to Blender we do not ship pygresql @SBOMCONTENTS@ ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [1c34c71bfbd] tmp_libs_34: deps_builder: add missing dependency to libtiff
Commit: 1c34c71bfbd524b8ecbb226ddb06a1e130f30d8f Author: Ray Molenkamp Date: Tue Oct 18 08:07:53 2022 -0600 Branches: tmp_libs_34 https://developer.blender.org/rB1c34c71bfbd524b8ecbb226ddb06a1e130f30d8f deps_builder: add missing dependency to libtiff Depends on external_jpeg which wasn't expressed. === M build_files/build_environment/cmake/tiff.cmake === diff --git a/build_files/build_environment/cmake/tiff.cmake b/build_files/build_environment/cmake/tiff.cmake index 1f8e9442ae5..1ac2e4c6058 100644 --- a/build_files/build_environment/cmake/tiff.cmake +++ b/build_files/build_environment/cmake/tiff.cmake @@ -25,6 +25,7 @@ ExternalProject_Add(external_tiff add_dependencies( external_tiff external_zlib + external_jpeg ) if(WIN32) if(BUILD_MODE STREQUAL Release) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] [ba4cc169311] tmp_libs_34: deps_builder: oiio / openpgl version changes
Commit: ba4cc1693111e633fcf3fa9588e8f2cbad66ffb0 Author: Ray Molenkamp Date: Mon Oct 17 18:00:05 2022 -0600 Branches: tmp_libs_34 https://developer.blender.org/rBba4cc1693111e633fcf3fa9588e8f2cbad66ffb0 deps_builder: oiio / openpgl version changes OpenPGL has done their release, so we no longer need to use a hash. OIOO had to be downgraded due to a 10x perf regression in the .hdr format === M build_files/build_environment/cmake/versions.cmake === diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index c86ada94a47..828ceda984c 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -159,9 +159,9 @@ set(OPENMP_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${ set(OPENMP_HASH_TYPE MD5) set(OPENMP_FILE openmp-${OPENMP_VERSION}.src.tar.xz) -set(OPENIMAGEIO_VERSION v2.4.4.2) +set(OPENIMAGEIO_VERSION v2.3.20.0) set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/refs/tags/${OPENIMAGEIO_VERSION}.tar.gz) -set(OPENIMAGEIO_HASH c0b4b67e4e81b21e56be66e14ebce52f) +set(OPENIMAGEIO_HASH defb1fe7c8e64bac60eb3cacaf5c3736) set(OPENIMAGEIO_HASH_TYPE MD5) set(OPENIMAGEIO_FILE OpenImageIO-${OPENIMAGEIO_VERSION}.tar.gz) @@ -558,10 +558,10 @@ set(BROTLI_HASH_TYPE SHA256) set(BROTLI_FILE brotli-v${BROTLI_VERSION}.tar.gz) set(BROTLI_CPE "cpe:2.3:a:google:brotli:${BROTLI_VERSION}:*:*:*:*:*:*:*") -set(OPENPGL_VERSION 40fa9f4ae16d0a00d9afa8bfbe95276b37f931cd) +set(OPENPGL_VERSION v0.4.0-beta) set(OPENPGL_SHORT_VERSION 0.4.0) -set(OPENPGL_URI https://github.com/OpenPathGuidingLibrary/openpgl/archive/${OPENPGL_VERSION}.tar.gz) -set(OPENPGL_HASH 46895cce761fc56ee20bedaf9ca94c7337e1e12a947d29a7a3edce0cda731571) +set(OPENPGL_URI https://github.com/OpenPathGuidingLibrary/openpgl/archive/refs/tags/${OPENPGL_VERSION}.tar.gz) +set(OPENPGL_HASH 1f090f88ab2bad028e8b3619aa926f4f97cf7b2c175b904704d2fec8593dd3cd) set(OPENPGL_HASH_TYPE SHA256) set(OPENPGL_FILE openpgl-${OPENPGL_VERSION}.tar.gz) ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs