CMakeLists.txt 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. PROJECT(stm32stdperiph)
  2. CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
  3. ENABLE_LANGUAGE(ASM)
  4. FIND_PACKAGE(CMSIS REQUIRED)
  5. IF(NOT STM32_StdPeriphLib_DIR)
  6. SET(STM32_StdPeriphLib_DIR "/opt/STM32F10x_StdPeriph_Lib_V3.5.0")
  7. MESSAGE(STATUS "No STM32_StdPeriphLib_DIR specified, using default: " ${STM32_StdPeriphLib_DIR})
  8. ENDIF()
  9. INCLUDE_DIRECTORIES(
  10. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/
  11. ${CMAKE_CURRENT_SOURCE_DIR}
  12. ${CMSIS_INCLUDE_DIR}
  13. )
  14. SET(LIB_SOURCES
  15. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c
  16. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c
  17. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_bkp.c
  18. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_can.c
  19. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_cec.c
  20. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_crc.c
  21. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c
  22. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dbgmcu.c
  23. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c
  24. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c
  25. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c
  26. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c
  27. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c
  28. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c
  29. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_iwdg.c
  30. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c
  31. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c
  32. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rtc.c
  33. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c
  34. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c
  35. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c
  36. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c
  37. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_wwdg.c
  38. )
  39. IF(USE_ASSERT)
  40. ADD_DEFINITIONS("-D\"assert_param(expr)\"=\"((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))\"")
  41. ELSE()
  42. ADD_DEFINITIONS("-D\"assert_param(expr)\"=\"((void)0)\"")
  43. ENDIF()
  44. ADD_LIBRARY(stdperiph_cl ${LIB_SOURCES})
  45. SET_TARGET_PROPERTIES(stdperiph_cl PROPERTIES COMPILE_DEFINITIONS ${STM32_CHIP_DEF_CL})
  46. ADD_LIBRARY(stdperiph_hd ${LIB_SOURCES})
  47. SET_TARGET_PROPERTIES(stdperiph_hd PROPERTIES COMPILE_DEFINITIONS ${STM32_CHIP_DEF_HD})
  48. ADD_LIBRARY(stdperiph_hd_vl ${LIB_SOURCES})
  49. SET_TARGET_PROPERTIES(stdperiph_hd_vl PROPERTIES COMPILE_DEFINITIONS ${STM32_CHIP_DEF_HD_VL})
  50. ADD_LIBRARY(stdperiph_ld ${LIB_SOURCES})
  51. SET_TARGET_PROPERTIES(stdperiph_ld PROPERTIES COMPILE_DEFINITIONS ${STM32_CHIP_DEF_LD})
  52. ADD_LIBRARY(stdperiph_ld_vl ${LIB_SOURCES})
  53. SET_TARGET_PROPERTIES(stdperiph_ld_vl PROPERTIES COMPILE_DEFINITIONS ${STM32_CHIP_DEF_LD_VL})
  54. ADD_LIBRARY(stdperiph_md ${LIB_SOURCES})
  55. SET_TARGET_PROPERTIES(stdperiph_md PROPERTIES COMPILE_DEFINITIONS ${STM32_CHIP_DEF_MD})
  56. ADD_LIBRARY(stdperiph_md_vl ${LIB_SOURCES})
  57. SET_TARGET_PROPERTIES(stdperiph_md_vl PROPERTIES COMPILE_DEFINITIONS ${STM32_CHIP_DEF_MD_VL})
  58. ADD_LIBRARY(stdperiph_xl ${LIB_SOURCES})
  59. SET_TARGET_PROPERTIES(stdperiph_xl PROPERTIES COMPILE_DEFINITIONS ${STM32_CHIP_DEF_XL})
  60. INSTALL(TARGETS stdperiph_cl stdperiph_hd stdperiph_hd_vl stdperiph_ld stdperiph_ld_vl stdperiph_md stdperiph_md_vl stdperiph_xl
  61. RUNTIME DESTINATION bin
  62. LIBRARY DESTINATION lib
  63. ARCHIVE DESTINATION lib
  64. )
  65. INSTALL(FILES
  66. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_adc.h
  67. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_bkp.h
  68. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_can.h
  69. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_cec.h
  70. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_crc.h
  71. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dac.h
  72. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dbgmcu.h
  73. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dma.h
  74. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_exti.h
  75. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_flash.h
  76. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_fsmc.h
  77. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_gpio.h
  78. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_i2c.h
  79. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_iwdg.h
  80. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_pwr.h
  81. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rcc.h
  82. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rtc.h
  83. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_sdio.h
  84. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_spi.h
  85. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_tim.h
  86. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_usart.h
  87. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_wwdg.h
  88. DESTINATION
  89. include
  90. )
  91. INSTALL(FILES
  92. ${STM32_StdPeriphLib_DIR}/Libraries/STM32F10x_StdPeriph_Driver/inc/misc.h
  93. RENAME
  94. stm32f10x_misc.h
  95. DESTINATION
  96. include
  97. )