cpputest: fix cmake 4.0 compatibility

In certain environments (such as Yocto), the project is built using the
latest version of CMake. CMake v4.0 has dropped support for versions
earlier than v3.5, and CppUTest fails to build.
This change introduces a patch that updates the minimum required CMake
version in CppUTest.

In addition, update the component to use git am instead of apply.

Signed-off-by: Gyorgy Szing <gyorgy.szing@arm.com>
Change-Id: I68291f4573fee3c64dd19c348bd8a30aa99b0c35
diff --git a/external/CppUTest/cpputest-cmake-fix.patch b/external/CppUTest/0001-cpputest-cmake-fix.patch
similarity index 100%
rename from external/CppUTest/cpputest-cmake-fix.patch
rename to external/CppUTest/0001-cpputest-cmake-fix.patch
diff --git a/external/CppUTest/0002-Fix-cmake-4.0-compatibility.patch b/external/CppUTest/0002-Fix-cmake-4.0-compatibility.patch
new file mode 100644
index 0000000..8aa9ff2
--- /dev/null
+++ b/external/CppUTest/0002-Fix-cmake-4.0-compatibility.patch
@@ -0,0 +1,29 @@
+From 1147a71cfa5657b13c13d10194d8a5b4c28e1709 Mon Sep 17 00:00:00 2001
+From: Gyorgy Szing <gyorgy.szing@arm.com>
+Date: Fri, 18 Jul 2025 12:17:46 +0200
+Subject: [PATCH 1/1] Fix cmake 4.0 compatibility
+
+Cmake 4.0 dropped compatibility to cmake versions below 3.5. Update the
+required version on the cmake file as a workaround.
+
+Signed-off-by: Gyorgy Szing <gyorgy.szing@arm.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d9ca865f..b30e7d77 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,7 +4,7 @@ set(CppUTest_version_major 3)
+ set(CppUTest_version_minor 8)
+ 
+ # 2.6.3 is needed for ctest support
+-cmake_minimum_required(VERSION 2.8.7)
++cmake_minimum_required(VERSION 3.8...3.31)
+ 
+ # Check for functions before setting a lot of stuff
+ include(CheckFunctionExists)
+-- 
+2.34.1
+
diff --git a/external/CppUTest/CppUTest.cmake b/external/CppUTest/CppUTest.cmake
index 7b916d5..f323ad8 100644
--- a/external/CppUTest/CppUTest.cmake
+++ b/external/CppUTest/CppUTest.cmake
@@ -16,8 +16,12 @@
 	GIT_REPOSITORY ${CPPUTEST_URL}
 	GIT_TAG ${CPPUTEST_REFSPEC}
 	GIT_SHALLOW FALSE
-	PATCH_COMMAND git stash
-	COMMAND git apply ${CMAKE_CURRENT_LIST_DIR}/cpputest-cmake-fix.patch
+	PATCH_COMMAND
+		git stash
+		COMMAND git branch -f bf-am
+		COMMAND git am ${CMAKE_CURRENT_LIST_DIR}/0001-cpputest-cmake-fix.patch
+		COMMAND git am ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-cmake-4.0-compatibility.patch
+		COMMAND git reset bf-am
 	)
 
 include(${TS_ROOT}/tools/cmake/common/LazyFetch.cmake REQUIRED)