Fix cmake CMAKE_SYSTEM_PROCESSOR string matches

To avoid unwanted matches of regexps, example: "cortex-m3" matches
string "cortex-m33", several string MATCHES have been reworked.

Change-Id: Ib923fbed9edbfba7de0af005c67b5527acdf40f9
diff --git a/cmsis.cmake b/cmsis.cmake
index c7922c4..f8a916f 100644
--- a/cmsis.cmake
+++ b/cmsis.cmake
@@ -25,11 +25,11 @@
 string(TOUPPER "ARMCM${CPU_NUMBER}" ARM_CPU)
 
 # Set CPU specific features
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m33")
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m33(\\+|$)")
     set(ARM_FEATURES "_DSP_FP")
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES  "cortex-m4")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m4(\\+|$)")
     set(ARM_FEATURES "_FP")
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES  "cortex-m7")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m7(\\+|$)")
     set(ARM_FEATURES "_DP")
 else()
     set(ARM_FEATURES "")
diff --git a/rtos/CMakeLists.txt b/rtos/CMakeLists.txt
index 6c91a83..3266c14 100644
--- a/rtos/CMakeLists.txt
+++ b/rtos/CMakeLists.txt
@@ -24,7 +24,7 @@
 
 # Include ThreadX
 # Only enable cortex-m55 until cortex-m33 is sorted out upstream
-if((CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55") AND
+if((CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55(\\+|$)") AND
     (CORE_SOFTWARE_RTOS_LOWER STREQUAL "threadx" OR CORE_SOFTWARE_RTOS_LOWER STREQUAL "all"))
     #threadx build requires 2 defines: THREADX_ARCH (format: cortex_m4) and THREADX_TOOLCHAIN (ac5/ac6/gnu).
     #set them according to existing defines CMAKE_SYSTEM_PROCESSOR and CMAKE_CXX_COMPILER_ID:
diff --git a/rtos/freertos_config/CMakeLists.txt b/rtos/freertos_config/CMakeLists.txt
index 554a492..86958c5 100644
--- a/rtos/freertos_config/CMakeLists.txt
+++ b/rtos/freertos_config/CMakeLists.txt
@@ -16,23 +16,23 @@
 # limitations under the License.
 #
 
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m3")
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m3(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M3)
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m33")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m33(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M33)
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m4")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m4(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M4)
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M55)
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m7")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m7(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M7)
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m85")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m85(\\+|$)")
     add_compile_definitions(CPU_CORTEX_M85)
 else()
     message(FATAL_ERROR "Unsupported compiler ${CMAKE_SYSTEM_PROCESSOR}.")
 endif()
 
-if((${TARGET} STREQUAL "mps2") OR (${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m55"))
+if((${TARGET} STREQUAL "mps2") OR (${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m55(\\+|$)"))
     set("SYSTEM_CORE_CLOCK" "25000000")
 else()
     set("SYSTEM_CORE_CLOCK" "32000000")
@@ -66,28 +66,28 @@
 target_sources(freertos_kernel PRIVATE
     ${FREERTOS_KERNEL_PATH}/portable/MemMang/heap_3.c)
 
-if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m3")
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m3(\\+|$)")
 target_sources(freertos_kernel PRIVATE
     ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM3/port.c
 )
 target_include_directories(freertos_kernel PUBLIC
     ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM3
 )
-elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m4")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m4(\\+|$)")
     target_sources(freertos_kernel PRIVATE
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM4F/port.c
     )
     target_include_directories(freertos_kernel PUBLIC
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM4F
     )
-elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m7")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m7(\\+|$)")
     target_sources(freertos_kernel PRIVATE
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM7/r0p1/port.c
     )
     target_include_directories(freertos_kernel PUBLIC
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM7/r0p1
     )
-elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m33")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m33(\\+|$)")
     target_sources(freertos_kernel PRIVATE
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure/port.c
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c
@@ -95,7 +95,7 @@
     target_include_directories(freertos_kernel PUBLIC
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure
     )
-elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m55")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m55(\\+|$)")
 # TODO: using the same port files as Cortex-M33. Update for Cortex-M55.
     target_sources(freertos_kernel PRIVATE
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure/port.c
@@ -104,7 +104,7 @@
     target_include_directories(freertos_kernel PUBLIC
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure
     )
-elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "cortex-m85")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "cortex-m85(\\+|$)")
 # TODO: using the same port files as Cortex-M33. Update for Cortex-M85.
     target_sources(freertos_kernel PRIVATE
         ${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM33_NTZ/non_secure/port.c