From 1ea70c3e3e960fecfcb03fe4c69d5188101fa418 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 24 Jun 2024 20:02:20 +0200 Subject: [PATCH] Fix: macOS x265 libraries have wrong deployment target Pull Request: https://projects.blender.org/blender/blender/pulls/123694 --- build_files/build_environment/cmake/x265.cmake | 17 ++++++++++++----- .../build_environment/patches/x265_apple.diff | 15 +++++++++++++++ lib/macos_arm64 | 2 +- lib/macos_x64 | 2 +- 4 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 build_files/build_environment/patches/x265_apple.diff diff --git a/build_files/build_environment/cmake/x265.cmake b/build_files/build_environment/cmake/x265.cmake index 566e1c7f84c..d6f4ecf4a47 100644 --- a/build_files/build_environment/cmake/x265.cmake +++ b/build_files/build_environment/cmake/x265.cmake @@ -11,7 +11,7 @@ else() endif() if(BLENDER_PLATFORM_WINDOWS_ARM) - set(X265_WINDOWS_ARM64_ARGS + set(X265_COMMON_ARGS -DCMAKE_C_COMPILER=${LIBDIR}/llvm/bin/clang-cl.exe -DCMAKE_CXX_COMPILER=${LIBDIR}/llvm/bin/clang-cl.exe -DCMAKE_C_FLAGS_INIT="--target=arm64-pc-windows-msvc" @@ -22,8 +22,13 @@ if(BLENDER_PLATFORM_WINDOWS_ARM) set(X265_12_PATCH_COMMAND COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/x265_12/src/external_x265_12 < ${PATCH_DIR}/x265_windows_arm.diff) set(X265_10_PATCH_COMMAND COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/x265_10/src/external_x265_10 < ${PATCH_DIR}/x265_windows_arm.diff) set(X265_PATCH_COMMAND COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/x265/src/external_x265 < ${PATCH_DIR}/x265_windows_arm.diff) +elseif(APPLE) + set(X265_COMMON_ARGS) + set(X265_12_PATCH_COMMAND COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/x265_12/src/external_x265_12 < ${PATCH_DIR}/x265_apple.diff) + set(X265_10_PATCH_COMMAND COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/x265_10/src/external_x265_10 < ${PATCH_DIR}/x265_apple.diff) + set(X265_PATCH_COMMAND COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/x265/src/external_x265 < ${PATCH_DIR}/x265_apple.diff) else() - set(X265_WINDOWS_ARM64_ARGS) + set(X265_COMMON_ARGS) set(X265_12_PATCH_COMMAND) set(X265_10_PATCH_COMMAND) set(X265_PATCH_COMMAND) @@ -34,6 +39,7 @@ set(X265_12_EXTRA_ARGS -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF + -DENABLE_PIC=ON -DENABLE_CLI=OFF -DMAIN12=ON ) @@ -43,6 +49,7 @@ set(X265_10_EXTRA_ARGS -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF + -DENABLE_PIC=ON -DENABLE_CLI=OFF ) @@ -77,7 +84,7 @@ ExternalProject_Add(external_x265_12 CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR} SOURCE_SUBDIR source PATCH_COMMAND ${X265_12_PATCH_COMMAND} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/x265_12 ${DEFAULT_CMAKE_FLAGS} ${X265_WINDOWS_ARM64_ARGS} ${X265_12_EXTRA_ARGS} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/x265_12 ${DEFAULT_CMAKE_FLAGS} ${X265_COMMON_ARGS} ${X265_12_EXTRA_ARGS} INSTALL_DIR ${LIBDIR}/x265_12 ) @@ -89,7 +96,7 @@ ExternalProject_Add(external_x265_10 CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR} SOURCE_SUBDIR source PATCH_COMMAND ${X265_10_PATCH_COMMAND} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/x265_10 ${DEFAULT_CMAKE_FLAGS} ${X265_WINDOWS_ARM64_ARGS} ${X265_10_EXTRA_ARGS} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/x265_10 ${DEFAULT_CMAKE_FLAGS} ${X265_COMMON_ARGS} ${X265_10_EXTRA_ARGS} INSTALL_DIR ${LIBDIR}/x265_10 ) @@ -102,7 +109,7 @@ ExternalProject_Add(external_x265 SOURCE_SUBDIR source PATCH_COMMAND ${X265_PATCH_COMMAND} LIST_SEPARATOR ^^ - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/x265 ${DEFAULT_CMAKE_FLAGS} ${X265_WINDOWS_ARM64_ARGS} ${X265_EXTRA_ARGS} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/x265 ${DEFAULT_CMAKE_FLAGS} ${X265_COMMON_ARGS} ${X265_EXTRA_ARGS} INSTALL_DIR ${LIBDIR}/x265 ) diff --git a/build_files/build_environment/patches/x265_apple.diff b/build_files/build_environment/patches/x265_apple.diff new file mode 100644 index 00000000000..acba101e1f0 --- /dev/null +++ b/build_files/build_environment/patches/x265_apple.diff @@ -0,0 +1,15 @@ +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index ab5ddfe..50e9a05 100755 +--- a/source/CMakeLists.txt +--- b/source/CMakeLists.txt +@@ -478,6 +478,10 @@ if(ARM64) + endif() + endif(ARM64) + ++if(APPLE) ++ list(APPEND ASM_FLAGS -isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}) ++endif() ++ + option(WARNINGS_AS_ERRORS "Stop compiles on first warning" OFF) + if(WARNINGS_AS_ERRORS) + if(GCC) diff --git a/lib/macos_arm64 b/lib/macos_arm64 index 51156893b68..76e09733438 160000 --- a/lib/macos_arm64 +++ b/lib/macos_arm64 @@ -1 +1 @@ -Subproject commit 51156893b687357d4427186520841db6e3ad7a6b +Subproject commit 76e09733438638d61123e8ffbe892b3232180340 diff --git a/lib/macos_x64 b/lib/macos_x64 index 6e5ad8679fa..265d4afd0ac 160000 --- a/lib/macos_x64 +++ b/lib/macos_x64 @@ -1 +1 @@ -Subproject commit 6e5ad8679faca7aa82306c7941ce5b0ef1388b65 +Subproject commit 265d4afd0ac8bbb63f65f4d17050409e3423eb69