فهرست منبع

Individually cache each source file found in FindCMSIS

Ryan Pavlik 8 سال پیش
والد
کامیت
92c6c943b0
1فایلهای تغییر یافته به همراه7 افزوده شده و 6 حذف شده
  1. 7 6
      cmake/FindCMSIS.cmake

+ 7 - 6
cmake/FindCMSIS.cmake

@@ -115,23 +115,24 @@ SET(CMSIS_INCLUDE_DIRS
 )
 
 FOREACH(SRC ${CMSIS_DEVICE_SOURCES})
-    SET(SRC_FILE SRC_FILE-NOTFOUND)
-    FIND_FILE(SRC_FILE ${SRC}
+    STRING(MAKE_C_IDENTIFIER "${SRC}" SRC_CLEAN)
+    SET(CMSIS_${SRC_CLEAN}_FILE SRC_FILE-NOTFOUND)
+    FIND_FILE(CMSIS_${SRC_CLEAN}_FILE ${SRC}
         PATH_SUFFIXES src stm32${STM32_FAMILY_LOWER} cmsis
         HINTS ${STM32Cube_DIR}/Drivers/CMSIS/Device/ST/STM32${STM32_FAMILY}xx/Source/Templates/
         CMAKE_FIND_ROOT_PATH_BOTH
     )
-    LIST(APPEND CMSIS_SOURCES ${SRC_FILE})
+    LIST(APPEND CMSIS_SOURCES ${CMSIS_${SRC_CLEAN}_FILE})
 ENDFOREACH()
 
 IF(STM32_CHIP_TYPE)
-    SET(SRC_FILE SRC_FILE-NOTFOUND)
-    FIND_FILE(SRC_FILE ${CMSIS_STARTUP_SOURCE}
+    SET(CMSIS_STARTUP_SOURCE_FILE SRC_FILE-NOTFOUND)
+    FIND_FILE(CMSIS_STARTUP_SOURCE_FILE ${CMSIS_STARTUP_SOURCE}
         PATH_SUFFIXES src stm32${STM32_FAMILY_LOWER} cmsis
         HINTS ${STM32Cube_DIR}/Drivers/CMSIS/Device/ST/STM32${STM32_FAMILY}xx/Source/Templates/gcc/
         CMAKE_FIND_ROOT_PATH_BOTH
     )
-    LIST(APPEND CMSIS_SOURCES ${SRC_FILE})
+    LIST(APPEND CMSIS_SOURCES ${CMSIS_STARTUP_SOURCE_FILE})
 ENDIF()
 
 INCLUDE(FindPackageHandleStandardArgs)