Browse Source

Changes to code already using STM32_SUPPORTED_FAMILIES

Hish15 5 years ago
parent
commit
649ffc19a9
2 changed files with 12 additions and 5 deletions
  1. 3 2
      cmake/FindHAL.cmake
  2. 9 3
      cmake/stm32/common.cmake

+ 3 - 2
cmake/FindHAL.cmake

@@ -158,8 +158,9 @@ set(HAL_LL_DRIVERS_L4
 )
 
 foreach(FAMILY ${STM32_SUPPORTED_FAMILIES})
-    list(APPEND HAL_DRIVERS ${HAL_DRIVERS_${FAMILY}})
-    list(APPEND HAL_LL_DRIVERS ${HAL_LL_DRIVERS_${FAMILY}})
+    string(REGEX MATCH "^([A-Z][0-9])_?(M[47])?" FAMILY ${FAMILY})
+    list(APPEND HAL_DRIVERS ${HAL_DRIVERS_${CMAKE_MATCH_1}})
+    list(APPEND HAL_LL_DRIVERS ${HAL_LL_DRIVERS_${CMAKE_MATCH_1}})
 endforeach()
 list(REMOVE_DUPLICATES HAL_DRIVERS)
 list(REMOVE_DUPLICATES HAL_LL_DRIVERS)

+ 9 - 3
cmake/stm32/common.cmake

@@ -61,11 +61,17 @@ function(stm32_get_chip_info CHIP)
     
     set(STM32_FAMILY ${CMAKE_MATCH_1})
     set(STM32_DEVICE "${CMAKE_MATCH_1}${CMAKE_MATCH_2}")
-    
-    list(FIND STM32_SUPPORTED_FAMILIES ${STM32_FAMILY} STM32_FAMILY_INDEX)
-    if (STM32_FAMILY_INDEX EQUAL -1)
+
+    foreach(FAMILY_CANDIDATE ${STM32_SUPPORTED_FAMILIES})
+        string(REGEX MATCH "^([A-Z][0-9])_?(M[47])?" FAMILY_CANDIDATE ${FAMILY})
+        if(${STM32_FAMILY} EQUAL ${CMAKE_MATCH_1})
+            set(IS_VALID_FAMILY TRUE)
+        endif()
+    endforeach()
+    if (NOT IS_VALID_FAMILY)
         message(FATAL_ERROR "Unsupported family ${STM32_FAMILY} for device ${CHIP}")
     endif()
+    unset(IS_VALID_FAMILY)
 
     stm32_get_chip_type(${STM32_FAMILY} ${STM32_DEVICE} STM32_TYPE)