CMakeLists.txt 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. PROJECT(stm32cmsis)
  2. CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
  3. ENABLE_LANGUAGE(ASM)
  4. IF(NOT STM32_StdPeriphLib_DIR)
  5. SET(STM32_StdPeriphLib_DIR "/opt/STM32F10x_StdPeriph_Lib_V3.5.0")
  6. MESSAGE(STATUS "No STM32_StdPeriphLib_DIR specified, using default: " ${STM32_StdPeriphLib_DIR})
  7. ENDIF()
  8. IF(NOT CMSIS3_DIR)
  9. SET(CMSIS3_DIR "/opt/CMSIS")
  10. MESSAGE(STATUS "No CMSIS3_DIR specified, using default: " ${CMSIS3_DIR})
  11. ENDIF()
  12. INCLUDE_DIRECTORIES(
  13. ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/
  14. ${CMSIS3_DIR}/CMSIS/Include/
  15. ${CMAKE_CURRENT_SOURCE_DIR}
  16. )
  17. SET(CMSIS_SOURCES
  18. ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c
  19. )
  20. SET(STM32_STARTUP_CL ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_cl.s)
  21. SET(STM32_STARTUP_HD ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd.s)
  22. SET(STM32_STARTUP_HD_VL ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd_vl.s)
  23. SET(STM32_STARTUP_LD ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld.s)
  24. SET(STM32_STARTUP_LD_VL ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld_vl.s)
  25. SET(STM32_STARTUP_MD ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md.s)
  26. SET(STM32_STARTUP_MD_VL ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md_vl.s)
  27. SET(STM32_STARTUP_XL ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_xl.s)
  28. ADD_LIBRARY(cmsis_cl ${CMSIS_SOURCES})
  29. SET_TARGET_PROPERTIES(cmsis_cl PROPERTIES COMPILE_FLAGS "-DSTM32F10X_CL")
  30. ADD_LIBRARY(cmsis_hd ${CMSIS_SOURCES})
  31. SET_TARGET_PROPERTIES(cmsis_hd PROPERTIES COMPILE_DEFINITIONS "STM32F10X_HD")
  32. ADD_LIBRARY(cmsis_hd_vl ${CMSIS_SOURCES})
  33. SET_TARGET_PROPERTIES(cmsis_hd_vl PROPERTIES COMPILE_DEFINITIONS "STM32F10X_HD_VL")
  34. ADD_LIBRARY(cmsis_ld ${CMSIS_SOURCES})
  35. SET_TARGET_PROPERTIES(cmsis_ld PROPERTIES COMPILE_DEFINITIONS "STM32F10X_LD")
  36. ADD_LIBRARY(cmsis_ld_vl ${CMSIS_SOURCES})
  37. SET_TARGET_PROPERTIES(cmsis_ld_vl PROPERTIES COMPILE_DEFINITIONS "STM32F10X_LD_VL")
  38. ADD_LIBRARY(cmsis_md ${CMSIS_SOURCES})
  39. SET_TARGET_PROPERTIES(cmsis_md PROPERTIES COMPILE_DEFINITIONS "STM32F10X_MD")
  40. ADD_LIBRARY(cmsis_md_vl ${CMSIS_SOURCES})
  41. SET_TARGET_PROPERTIES(cmsis_md_vl PROPERTIES COMPILE_DEFINITIONS "STM32F10X_MD_VL")
  42. ADD_LIBRARY(cmsis_xl ${CMSIS_SOURCES})
  43. SET_TARGET_PROPERTIES(cmsis_xl PROPERTIES COMPILE_DEFINITIONS "STM32F10X_XL")
  44. INSTALL(TARGETS cmsis_cl cmsis_hd cmsis_hd_vl cmsis_ld cmsis_ld_vl cmsis_md cmsis_md_vl cmsis_xl
  45. RUNTIME DESTINATION bin
  46. LIBRARY DESTINATION lib
  47. ARCHIVE DESTINATION lib
  48. )
  49. INSTALL(FILES
  50. ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.h
  51. ${STM32_StdPeriphLib_DIR}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h
  52. ${CMSIS3_DIR}/CMSIS/Include/core_cm3.h
  53. ${CMSIS3_DIR}/CMSIS/Include/core_cmFunc.h
  54. ${CMSIS3_DIR}/CMSIS/Include/core_cmInstr.h
  55. DESTINATION
  56. include
  57. )
  58. INSTALL(FILES
  59. ${STM32_STARTUP_CL}
  60. ${STM32_STARTUP_HD}
  61. ${STM32_STARTUP_HD_VL}
  62. ${STM32_STARTUP_MD}
  63. ${STM32_STARTUP_MD_VL}
  64. ${STM32_STARTUP_LD}
  65. ${STM32_STARTUP_LD_VL}
  66. ${STM32_STARTUP_XL}
  67. ${CMAKE_CURRENT_SOURCE_DIR}/stm32_flash.ld.in
  68. DESTINATION
  69. share/cmsis/
  70. )