Build: Refine RTX library selection
1. Only select one basing on CPU/Arch if it's not defined (by platforms)
2. Add checking library existence
Change-Id: Ibd4e5651f8e66173d0b07c881f4b4cba9d4d0216
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/lib/ext/CMSIS/CMakeLists.txt b/lib/ext/CMSIS/CMakeLists.txt
index 94365b3..b52f7f8 100644
--- a/lib/ext/CMSIS/CMakeLists.txt
+++ b/lib/ext/CMSIS/CMakeLists.txt
@@ -39,33 +39,34 @@
message(FATAL_ERROR "${CMAKE_C_COMPILER_ID} does not have CMSIS RTX static libraries set up")
endif()
-# Select RTX library according to cpu/arch type
-if(TFM_SYSTEM_ARCHITECTURE STREQUAL "armv6-m")
- set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_CM3")
-elseif(TFM_SYSTEM_ARCHITECTURE STREQUAL "armv8-m.base")
- set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V8MBN")
-elseif(TFM_SYSTEM_ARCHITECTURE STREQUAL "armv8-m.main")
- if(CONFIG_TFM_ENABLE_FP OR CONFIG_TFM_ENABLE_MVE_FP)
- set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V8MMFN")
- else()
- set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V8MMN")
- endif()
-elseif(TFM_SYSTEM_ARCHITECTURE STREQUAL "armv8.1-m.main")
- if("${CMAKE_C_COMPILER_ID}" STREQUAL "IAR")
- set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V81MMN")
- elseif(CONFIG_TFM_ENABLE_FP OR CONFIG_TFM_ENABLE_MVE_FP)
- set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V8MMFN")
- else()
- set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V8MMN")
- endif()
-elseif(TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m4")
- set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_CM3")
-endif()
-
if(NOT DEFINED CMSIS_5_RTX_LIB)
- message(FATAL_ERROR
- "Unable to select CMSIS RTX library."
- "Unsupported processor ${TFM_SYSTEM_PROCESSOR} or architecture ${TFM_SYSTEM_ARCHITECTURE}")
+ # Select RTX library according to cpu/arch if platform does not select one.
+ if(TFM_SYSTEM_ARCHITECTURE STREQUAL "armv6-m")
+ set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_CM3")
+ elseif(TFM_SYSTEM_ARCHITECTURE STREQUAL "armv8-m.base")
+ set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V8MBN")
+ elseif(TFM_SYSTEM_ARCHITECTURE STREQUAL "armv8-m.main")
+ if(CONFIG_TFM_ENABLE_FP OR CONFIG_TFM_ENABLE_MVE_FP)
+ set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V8MMFN")
+ else()
+ set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V8MMN")
+ endif()
+ elseif(TFM_SYSTEM_ARCHITECTURE STREQUAL "armv8.1-m.main")
+ if("${CMAKE_C_COMPILER_ID}" STREQUAL "IAR")
+ set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V81MMN")
+ elseif(CONFIG_TFM_ENABLE_FP OR CONFIG_TFM_ENABLE_MVE_FP)
+ set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V8MMFN")
+ else()
+ set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_V8MMN")
+ endif()
+ elseif(TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m4")
+ set(CMSIS_5_RTX_LIB "CMSIS_5_RTX_CM3")
+ else()
+ message(FATAL_ERROR
+ "CMSIS_5_RTX_LIB library is NOT defined."
+ "Unsupported processor ${TFM_SYSTEM_PROCESSOR} or architecture ${TFM_SYSTEM_ARCHITECTURE}."
+ "Specify it in build command or update TFM_SYSTEM_PROCESSOR/TFM_SYSTEM_ARCHITECTURE.")
+ endif()
endif()
add_library(RTX_OS INTERFACE)