فهرست منبع

add fatfs package

skt041959 10 سال پیش
والد
کامیت
83b80d1a23
1فایلهای تغییر یافته به همراه88 افزوده شده و 0 حذف شده
  1. 88 0
      cmake/FindFATFS.cmake

+ 88 - 0
cmake/FindFATFS.cmake

@@ -0,0 +1,88 @@
+IF(NOT STM32Cube_DIR)
+    SET(STM32Cube_DIR "/opt/STM32Cube_FW_F1_V1.2.0")
+    MESSAGE(STATUS "No STM32Cube_DIR specified, using default: " ${STM32Cube_DIR})
+ENDIF()
+
+SET(FATFS_COMMON_SOURCES
+    diskio.c
+    ff.c
+    ff_gen_drv.c
+)
+SET(FATFS_DIRVER_SOURCES
+    sd_diskio.c
+    sdram_diskio.c
+    sram_diskio.c
+    usbh_diskio.c
+)
+SET(FATFS_OPTION_SOURCES
+    cc932.c
+    cc936.c
+    cc949.c
+    cc950.c
+    ccsbcs.c
+    syscall.c
+    unicode.c
+)
+
+SET(FATFS_COMMON_HEADERS
+    diskio.h
+    ff.h
+    ff_gen_drv.h
+    ffconf_template.h
+    integer.h
+)
+
+SET(FATFS_DRIVER_HEADERS
+    sd_diskio.h
+    sdram_diskio.h
+    sram_diskio.h
+    usbh_diskio.h
+)
+
+FIND_PATH(FATFS_COMMON_INCLUDE_DIR ${FATFS_COMMON_HEADERS}
+    HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src
+    CMAKE_FIND_ROOT_PATH_BOTH
+)
+
+FIND_PATH(FATFS_DRIVER_INCLUDE_DIR ${FATFS_DRIVER_HEADERS}
+    HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/drivers/
+    CMAKE_FIND_ROOT_PATH_BOTH
+)
+
+SET(FATFS_INCLUDE_DIRS
+    ${FATFS_COMMON_INCLUDE_DIR}
+    ${FATFS_DRIVER_INCLUDE_DIR}
+)
+
+FOREACH(SRC ${FATFS_COMMON_SOURCES})
+    SET(SRC_FILE SRC_FILE-NOTFOUND)
+    FIND_FILE(SRC_FILE ${SRC}
+        HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/
+        CMAKE_FIND_ROOT_PATH_BOTH
+    )
+    LIST(APPEND FATFS_SOURCES ${SRC_FILE})
+ENDFOREACH()
+
+FOREACH(SRC ${FATFS_DIRVER_SOURCES})
+    SET(SRC_FILE SRC_FILE-NOTFOUND)
+    FIND_FILE(SRC_FILE ${SRC}
+        HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/drivers/
+        CMAKE_FIND_ROOT_PATH_BOTH
+    )
+    LIST(APPEND FATFS_SOURCES ${SRC_FILE})
+ENDFOREACH()
+
+FOREACH(SRC ${FATFS_OPTION_SOURCES})
+    SET(SRC_FILE SRC_FILE-NOTFOUND)
+    FIND_FILE(SRC_FILE ${SRC}
+        HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/option/
+        CMAKE_FIND_ROOT_PATH_BOTH
+    )
+    LIST(APPEND FATFS_SOURCES ${SRC_FILE})
+ENDFOREACH()
+#message(STATUS "fatfs include " ${FATFS_INCLUDE_DIRS})
+#message(STATUS "fatfs sources " ${FATFS_SOURCES})
+
+INCLUDE(FindPackageHandleStandardArgs)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(FATFS DEFAULT_MSG FATFS_INCLUDE_DIRS FATFS_SOURCES)