FindFATFS.cmake 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. IF(NOT STM32Cube_DIR)
  2. SET(STM32Cube_DIR "/opt/STM32Cube_FW_F1_V1.2.0")
  3. MESSAGE(STATUS "No STM32Cube_DIR specified, using default: " ${STM32Cube_DIR})
  4. ENDIF()
  5. SET(FATFS_COMMON_SOURCES
  6. diskio.c
  7. ff.c
  8. ff_gen_drv.c
  9. )
  10. SET(FATFS_DIRVER_SOURCES
  11. sd_diskio.c
  12. sdram_diskio.c
  13. sram_diskio.c
  14. usbh_diskio.c
  15. )
  16. SET(FATFS_OPTION_SOURCES
  17. cc932.c
  18. cc936.c
  19. cc949.c
  20. cc950.c
  21. ccsbcs.c
  22. syscall.c
  23. unicode.c
  24. )
  25. SET(FATFS_COMMON_HEADERS
  26. diskio.h
  27. ff.h
  28. ff_gen_drv.h
  29. ffconf_template.h
  30. integer.h
  31. )
  32. SET(FATFS_DRIVER_HEADERS
  33. sd_diskio.h
  34. sdram_diskio.h
  35. sram_diskio.h
  36. usbh_diskio.h
  37. )
  38. FIND_PATH(FATFS_COMMON_INCLUDE_DIR ${FATFS_COMMON_HEADERS}
  39. HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src
  40. CMAKE_FIND_ROOT_PATH_BOTH
  41. )
  42. FIND_PATH(FATFS_DRIVER_INCLUDE_DIR ${FATFS_DRIVER_HEADERS}
  43. HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/drivers/
  44. CMAKE_FIND_ROOT_PATH_BOTH
  45. )
  46. SET(FATFS_INCLUDE_DIRS
  47. ${FATFS_COMMON_INCLUDE_DIR}
  48. ${FATFS_DRIVER_INCLUDE_DIR}
  49. )
  50. FOREACH(SRC ${FATFS_COMMON_SOURCES})
  51. SET(SRC_FILE SRC_FILE-NOTFOUND)
  52. FIND_FILE(SRC_FILE ${SRC}
  53. HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/
  54. CMAKE_FIND_ROOT_PATH_BOTH
  55. )
  56. LIST(APPEND FATFS_SOURCES ${SRC_FILE})
  57. ENDFOREACH()
  58. FOREACH(SRC ${FATFS_DIRVER_SOURCES})
  59. SET(SRC_FILE SRC_FILE-NOTFOUND)
  60. FIND_FILE(SRC_FILE ${SRC}
  61. HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/drivers/
  62. CMAKE_FIND_ROOT_PATH_BOTH
  63. )
  64. LIST(APPEND FATFS_SOURCES ${SRC_FILE})
  65. ENDFOREACH()
  66. FOREACH(SRC ${FATFS_OPTION_SOURCES})
  67. SET(SRC_FILE SRC_FILE-NOTFOUND)
  68. FIND_FILE(SRC_FILE ${SRC}
  69. HINTS ${STM32Cube_DIR}/Middlewares/Third_Party/FatFs/src/option/
  70. CMAKE_FIND_ROOT_PATH_BOTH
  71. )
  72. LIST(APPEND FATFS_SOURCES ${SRC_FILE})
  73. ENDFOREACH()
  74. #message(STATUS "fatfs include " ${FATFS_INCLUDE_DIRS})
  75. #message(STATUS "fatfs sources " ${FATFS_SOURCES})
  76. INCLUDE(FindPackageHandleStandardArgs)
  77. FIND_PACKAGE_HANDLE_STANDARD_ARGS(FATFS DEFAULT_MSG FATFS_INCLUDE_DIRS FATFS_SOURCES)