FindStdPeriphLib.cmake 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. ENDIF()
  28. STRING(TOLOWER ${STM32_FAMILY} STM32_FAMILY_LOWER)
  29. IF(NOT STM32_CHIP_TYPE)
  30. FOREACH(CHIP_TYPE ${STM32_CHIP_TYPES})
  31. STRING(TOLOWER ${CHIP_TYPE} CHIP_TYPE_LOWER)
  32. LIST(APPEND STDPERIPH_FIND_LIBS stdperiph_${STM32_FAMILY_LOWER}_${CHIP_TYPE_LOWER})
  33. ENDFOREACH()
  34. ELSE()
  35. STRING(TOLOWER ${STM32_CHIP_TYPE} STM32_CHIP_TYPE_LOWER)
  36. SET(STDPERIPH_FIND_LIBS stdperiph_${STM32_FAMILY_LOWER}_${STM32_CHIP_TYPE_LOWER})
  37. ENDIF()
  38. FIND_PATH(StdPeriphLib_INCLUDE_DIR ${STDPERIPH_HEADERS}
  39. PATH_SUFFIXES include stm32${STM32_FAMILY_LOWER}
  40. )
  41. FOREACH(STDPERIPH_LIB_NAME ${STDPERIPH_FIND_LIBS})
  42. SET(StdPeriphLib_LIBRARY STDPERIPH_LIBRARY-NOTFOUND)
  43. FIND_LIBRARY(StdPeriphLib_LIBRARY
  44. NAMES ${STDPERIPH_LIB_NAME}
  45. PATH_SUFFIXES lib
  46. )
  47. LIST(APPEND StdPeriphLib_LIBRARIES ${StdPeriphLib_LIBRARY})
  48. ENDFOREACH()
  49. INCLUDE(FindPackageHandleStandardArgs)
  50. FIND_PACKAGE_HANDLE_STANDARD_ARGS(StdPeriphLib DEFAULT_MSG StdPeriphLib_LIBRARIES StdPeriphLib_INCLUDE_DIR)
  51. SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_STDPERIPH_DRIVER")
  52. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_STDPERIPH_DRIVER")