|
|
@@ -243,7 +243,25 @@ foreach(COMP ${HAL_FIND_COMPONENTS_FAMILIES})
|
|
|
set(STM32_CUBE_${FAMILY}_PATH /opt/STM32Cube${FAMILY} CACHE PATH "Path to STM32Cube${FAMILY}")
|
|
|
message(STATUS "Neither STM32_CUBE_${FAMILY}_PATH nor STM32_HAL_${FAMILY}_PATH specified using default STM32_CUBE_${FAMILY}_PATH: ${STM32_CUBE_${FAMILY}_PATH}")
|
|
|
endif()
|
|
|
-
|
|
|
+
|
|
|
+ #Checking HAL patch or release version
|
|
|
+ unset(VERSION_INFO)
|
|
|
+ find_file(PACKAGE_FILE NAMES package.xml PATHS ${STM32_CUBE_${FAMILY}_PATH})
|
|
|
+ if(PACKAGE_FILE)
|
|
|
+ file(READ ${PACKAGE_FILE} PACKAGE_FILE_CONTENT)
|
|
|
+ string(REGEX MATCH "PackDescription Release=\"FW.${FAMILY}.([0-9.])+\"( Patch=\"FW.${FAMILY}.([0-9.]+)\")?" VERSION_INFO ${PACKAGE_FILE_CONTENT})
|
|
|
+ if(CMAKE_MATCH_3) # This is the "Patch" revision
|
|
|
+ set(HAL_${COMP}_VERSION ${CMAKE_MATCH_3})
|
|
|
+ set(HAL_VERSION ${CMAKE_MATCH_3})
|
|
|
+ else(CMAKE_MATCH_1) #This is the "Release" version
|
|
|
+ set(HAL_${COMP}_VERSION ${CMAKE_MATCH_1})
|
|
|
+ set(HAL_VERSION ${CMAKE_MATCH_1})
|
|
|
+ endif()
|
|
|
+ endif()
|
|
|
+ if(NOT VERSION_INFO)
|
|
|
+ message(STATUS "Could not read the HAL version from package.xml for ${COMP}")
|
|
|
+ endif()
|
|
|
+
|
|
|
find_path(HAL_${FAMILY}_PATH
|
|
|
NAMES Inc/stm32${FAMILY_L}xx_hal.h
|
|
|
PATHS "${STM32_HAL_${FAMILY}_PATH}" "${STM32_CUBE_${FAMILY}_PATH}/Drivers/STM32${FAMILY}xx_HAL_Driver"
|