FindStdPeriphLib.cmake 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. IF(NOT STM32_CHIP_TYPE)
  2. MESSAGE(FATAL_ERROR "Select your stm32 chip using STM32_CHIP_TYPE variable. (HD, HD_VL, MD, MD_VL, LD, LD_VL, XD, CL)")
  3. ENDIF()
  4. IF(STM32_CHIP_TYPE STREQUAL "HD")
  5. SET(StdPeriphLib_LIB_NAME stdperiph_hd)
  6. ELSEIF(STM32_CHIP_TYPE STREQUAL "HD_VL")
  7. SET(StdPeriphLib_LIB_NAME stdperiph_hd_vl)
  8. ELSEIF(STM32_CHIP_TYPE STREQUAL "MD")
  9. SET(StdPeriphLib_LIB_NAME stdperiph_md)
  10. ELSEIF(STM32_CHIP_TYPE STREQUAL "MD_VL")
  11. SET(StdPeriphLib_LIB_NAME stdperiph_md_vl)
  12. ELSEIF(STM32_CHIP_TYPE STREQUAL "LD")
  13. SET(StdPeriphLib_LIB_NAME stdperiph_ld)
  14. ELSEIF(STM32_CHIP_TYPE STREQUAL "LD_VL")
  15. SET(StdPeriphLib_LIB_NAME stdperiph_ld_vl)
  16. ELSEIF(STM32_CHIP_TYPE STREQUAL "XD")
  17. SET(StdPeriphLib_LIB_NAME stdperiph_xd)
  18. ELSEIF(STM32_CHIP_TYPE STREQUAL "CL")
  19. SET(StdPeriphLib_LIB_NAME stdperiph_cl)
  20. ELSE()
  21. MESSAGE(FATAL_ERROR "Invalid stm32 chip type.")
  22. ENDIF()
  23. FIND_PATH(StdPeriphLib_INCLUDE_DIR
  24. stm32f10x_adc.h
  25. stm32f10x_bkp.h
  26. stm32f10x_can.h
  27. stm32f10x_cec.h
  28. stm32f10x_crc.h
  29. stm32f10x_dac.h
  30. stm32f10x_dbgmcu.h
  31. stm32f10x_dma.h
  32. stm32f10x_exti.h
  33. stm32f10x_flash.h
  34. stm32f10x_fsmc.h
  35. stm32f10x_gpio.h
  36. stm32f10x_i2c.h
  37. stm32f10x_iwdg.h
  38. stm32f10x_pwr.h
  39. stm32f10x_rcc.h
  40. stm32f10x_rtc.h
  41. stm32f10x_sdio.h
  42. stm32f10x_spi.h
  43. stm32f10x_tim.h
  44. stm32f10x_usart.h
  45. stm32f10x_wwdg.h
  46. stm32f10x_misc.h
  47. PATH_SUFFIXES include stm32
  48. )
  49. FIND_LIBRARY(StdPeriphLib_LIBRARIES
  50. NAMES ${StdPeriphLib_LIB_NAME}
  51. PATH_SUFFIXES lib
  52. )
  53. SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_STDPERIPH_DRIVER")
  54. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_STDPERIPH_DRIVER")
  55. INCLUDE(FindPackageHandleStandardArgs)
  56. FIND_PACKAGE_HANDLE_STANDARD_ARGS(StdPeriphLib DEFAULT_MSG StdPeriphLib_LIBRARIES StdPeriphLib_INCLUDE_DIR)