diff --git a/build_files/build_environment/cmake/sdl.cmake b/build_files/build_environment/cmake/sdl.cmake index 1e0cab149b3..0524e44d0e7 100644 --- a/build_files/build_environment/cmake/sdl.cmake +++ b/build_files/build_environment/cmake/sdl.cmake @@ -2,6 +2,8 @@ # # SPDX-License-Identifier: GPL-2.0-or-later +set(SDL_PATCH ${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/sdl/src/external_sdl < ${PATCH_DIR}/sdl.diff) + if(WIN32) set(SDL_EXTRA_ARGS -DSDL_STATIC=Off @@ -13,6 +15,14 @@ else() -DSDL_VIDEO=OFF -DSNDIO=OFF ) + + # Core Haptics only available once macOS 11.0 becomes minimum. + if(APPLE AND NOT BLENDER_PLATFORM_ARM) + list(APPEND SDL_EXTRA_ARGS -DSDL_HAPTICS=OFF) + set(SDL_PATCH + ${SDL_PATCH} && + ${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/sdl/src/external_sdl < ${PATCH_DIR}/sdl_haptics.diff) + endif() endif() ExternalProject_Add(external_sdl @@ -20,7 +30,7 @@ ExternalProject_Add(external_sdl DOWNLOAD_DIR ${DOWNLOAD_DIR} URL_HASH ${SDL_HASH_TYPE}=${SDL_HASH} PREFIX ${BUILD_DIR}/sdl - PATCH_COMMAND ${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/sdl/src/external_sdl < ${PATCH_DIR}/sdl.diff + PATCH_COMMAND ${SDL_PATCH} CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/sdl ${DEFAULT_CMAKE_FLAGS} ${SDL_EXTRA_ARGS} INSTALL_DIR ${LIBDIR}/sdl ) diff --git a/build_files/build_environment/patches/sdl_haptics.diff b/build_files/build_environment/patches/sdl_haptics.diff new file mode 100644 index 00000000000..217cd172f4a --- /dev/null +++ b/build_files/build_environment/patches/sdl_haptics.diff @@ -0,0 +1,12 @@ +--- src/joystick/iphoneos/SDL_mfijoystick.m 2023-08-16 18:57:36 ++++ src/joystick/iphoneos/SDL_mfijoystick.m2 2023-08-16 18:57:25 +@@ -95,7 +95,8 @@ + + #if (__IPHONE_OS_VERSION_MAX_ALLOWED >= 140000) || (__APPLETV_OS_VERSION_MAX_ALLOWED >= 140000) || (__MAC_OS_VERSION_MAX_ALLOWED > 1500000) || (__MAC_OS_X_VERSION_MAX_ALLOWED > 101600) + #define ENABLE_MFI_BATTERY +-#define ENABLE_MFI_RUMBLE ++// BLENDER: disable until macOS 11.0 becomes the minimum version and Core Haptics is available. ++//#define ENABLE_MFI_RUMBLE + #define ENABLE_MFI_LIGHT + #define ENABLE_MFI_SENSORS + #define ENABLE_MFI_SYSTEM_GESTURE_STATE