Files
OGX-Mini/Firmware/external/patch_libs.cmake
wiredopposite aabb00f2b5 v1.0.0-alpha
2024-12-19 23:15:27 -07:00

43 lines
1.6 KiB
CMake

function(apply_lib_patches EXTERNAL_DIR)
set(BTSTACK_PATCH "${EXTERNAL_DIR}/patches/btstack_l2cap.diff")
set(BTSTACK_PATH "${EXTERNAL_DIR}/bluepad32/external/btstack")
message(STATUS "Applying BTStack patch: ${BTSTACK_PATCH}")
execute_process(
COMMAND git apply --ignore-whitespace ${BTSTACK_PATCH}
WORKING_DIRECTORY ${BTSTACK_PATH}
RESULT_VARIABLE BTSTACK_PATCH_RESULT
OUTPUT_VARIABLE BTSTACK_PATCH_OUTPUT
ERROR_VARIABLE BTSTACK_PATCH_ERROR
)
if (BTSTACK_PATCH_RESULT EQUAL 0)
message(STATUS "BTStack patch applied successfully.")
elseif (BTSTACK_PATCH_ERROR MATCHES "patch does not apply")
message(STATUS "BTStack patch already applied.")
else ()
message(FATAL_ERROR "Failed to apply BTStack patch: ${BTSTACK_PATCH_ERROR}")
endif ()
set(BLUEPAD32_PATCH "${EXTERNAL_DIR}/patches/bluepad32_uni.diff")
set(BLUEPAD32_PATH "${EXTERNAL_DIR}/bluepad32")
message(STATUS "Applying Bluepad32 patch: ${BLUEPAD32_PATCH}")
execute_process(
COMMAND git apply --ignore-whitespace ${BLUEPAD32_PATCH}
WORKING_DIRECTORY ${BLUEPAD32_PATH}
RESULT_VARIABLE BLUEPAD32_PATCH_RESULT
OUTPUT_VARIABLE BLUEPAD32_PATCH_OUTPUT
ERROR_VARIABLE BLUEPAD32_PATCH_ERROR
)
if (BLUEPAD32_PATCH_RESULT EQUAL 0)
message(STATUS "Bluepad32 patch applied successfully.")
elseif (BLUEPAD32_PATCH_ERROR MATCHES "patch does not apply")
message(STATUS "Bluepad32 patch already applied.")
else ()
message(FATAL_ERROR "Failed to apply Bluepad32 patch: ${BLUEPAD32_PATCH_ERROR}")
endif ()
endfunction()