FindStdPeriphLib.cmake 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. IF(STM32_FAMILY STREQUAL "F1")
  2. SET(STDPERIPH_HEADERS
  3. stm32f10x_adc.h
  4. stm32f10x_bkp.h
  5. stm32f10x_can.h
  6. stm32f10x_cec.h
  7. stm32f10x_crc.h
  8. stm32f10x_dac.h
  9. stm32f10x_dbgmcu.h
  10. stm32f10x_dma.h
  11. stm32f10x_exti.h
  12. stm32f10x_flash.h
  13. stm32f10x_fsmc.h
  14. stm32f10x_gpio.h
  15. stm32f10x_i2c.h
  16. stm32f10x_iwdg.h
  17. stm32f10x_pwr.h
  18. stm32f10x_rcc.h
  19. stm32f10x_rtc.h
  20. stm32f10x_sdio.h
  21. stm32f10x_spi.h
  22. stm32f10x_tim.h
  23. stm32f10x_usart.h
  24. stm32f10x_wwdg.h
  25. stm32f10x_misc.h
  26. )
  27. ELSEIF(STM32_FAMILY STREQUAL "F4")
  28. SET(STDPERIPH_HEADERS
  29. stm32f4xx_adc.h
  30. stm32f4xx_can.h
  31. stm32f4xx_crc.h
  32. stm32f4xx_cryp.h
  33. stm32f4xx_dac.h
  34. stm32f4xx_dbgmcu.h
  35. stm32f4xx_dcmi.h
  36. stm32f4xx_dma.h
  37. stm32f4xx_dma2d.h
  38. stm32f4xx_exti.h
  39. stm32f4xx_flash.h
  40. stm32f4xx_fmc.h
  41. stm32f4xx_fsmc.h
  42. stm32f4xx_gpio.h
  43. stm32f4xx_hash.h
  44. stm32f4xx_i2c.h
  45. stm32f4xx_iwdg.h
  46. stm32f4xx_ltdc.h
  47. stm32f4xx_pwr.h
  48. stm32f4xx_rcc.h
  49. stm32f4xx_rng.h
  50. stm32f4xx_rtc.h
  51. stm32f4xx_sai.h
  52. stm32f4xx_sdio.h
  53. stm32f4xx_spi.h
  54. stm32f4xx_syscfg.h
  55. stm32f4xx_tim.h
  56. stm32f4xx_usart.h
  57. stm32f4xx_wwdg.h
  58. )
  59. ENDIF()
  60. STRING(TOLOWER ${STM32_FAMILY} STM32_FAMILY_LOWER)
  61. IF(NOT STM32_CHIP_TYPE)
  62. FOREACH(CHIP_TYPE ${STM32_CHIP_TYPES})
  63. STRING(TOLOWER ${CHIP_TYPE} CHIP_TYPE_LOWER)
  64. LIST(APPEND STDPERIPH_FIND_LIBS stdperiph_${STM32_FAMILY_LOWER}_${CHIP_TYPE_LOWER})
  65. ENDFOREACH()
  66. ELSE()
  67. STRING(TOLOWER ${STM32_CHIP_TYPE} STM32_CHIP_TYPE_LOWER)
  68. SET(STDPERIPH_FIND_LIBS stdperiph_${STM32_FAMILY_LOWER}_${STM32_CHIP_TYPE_LOWER})
  69. ENDIF()
  70. FIND_PATH(StdPeriphLib_INCLUDE_DIR ${STDPERIPH_HEADERS}
  71. PATH_SUFFIXES include stm32${STM32_FAMILY_LOWER}
  72. )
  73. FOREACH(STDPERIPH_LIB_NAME ${STDPERIPH_FIND_LIBS})
  74. SET(StdPeriphLib_LIBRARY STDPERIPH_LIBRARY-NOTFOUND)
  75. FIND_LIBRARY(StdPeriphLib_LIBRARY
  76. NAMES ${STDPERIPH_LIB_NAME}
  77. PATH_SUFFIXES lib
  78. )
  79. LIST(APPEND StdPeriphLib_LIBRARIES ${StdPeriphLib_LIBRARY})
  80. ENDFOREACH()
  81. INCLUDE(FindPackageHandleStandardArgs)
  82. FIND_PACKAGE_HANDLE_STANDARD_ARGS(StdPeriphLib DEFAULT_MSG StdPeriphLib_LIBRARIES StdPeriphLib_INCLUDE_DIR)
  83. SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_STDPERIPH_DRIVER")
  84. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_STDPERIPH_DRIVER")