CMakeLists.txt 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. cmake_minimum_required(VERSION 3.13)
  2. set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/stm32_gcc.cmake)
  3. project(stm32-blinky C ASM)
  4. set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
  5. # F4 example enabled by default
  6. option(F4_EXAMPLE "Compile F4 example" ON)
  7. option(F1_EXAMPLE "Compile F1 example" OFF)
  8. option(L0_EXAMPLE "Compile L0 example" OFF)
  9. find_package(CMSIS COMPONENTS STM32F4 REQUIRED)
  10. find_package(HAL COMPONENTS STM32F4 RCC GPIO CORTEX REQUIRED)
  11. if(L0_EXAMPLE)
  12. find_package(CMSIS COMPONENTS STM32L0 REQUIRED)
  13. find_package(HAL COMPONENTS STM32L0 REQUIRED)
  14. endif()
  15. if(F1_EXAMPLE)
  16. find_package(CMSIS COMPONENTS STM32F1 REQUIRED)
  17. find_package(HAL COMPONENTS STM32F1 REQUIRED)
  18. endif()
  19. # Find all device specific drivers:
  20. #find_package(HAL COMPONENTS STM32L0 STM32F1 STM32F4 REQUIRED)
  21. # Find drivers for all families:
  22. #find_package(HAL COMPONENTS RCC GPIO CORTEX REQUIRED)
  23. # Find LL driver:
  24. #find_package(HAL COMPONENTS LL_GPIO REQUIRED)
  25. # Find everything:
  26. #find_package(HAL REQUIRED)
  27. # STM32F4-Discovery
  28. add_executable(stm32-blinky-f4 blinky.c stm32f4xx_hal_conf.h)
  29. target_link_libraries(stm32-blinky-f4
  30. HAL::STM32::F4::RCC
  31. HAL::STM32::F4::GPIO
  32. HAL::STM32::F4::CORTEX
  33. CMSIS::STM32::F407VG
  34. STM32::NoSys
  35. )
  36. stm32_print_size_of_target(stm32-blinky-f4)
  37. # STM32VL-Discovery
  38. if(F1_EXAMPLE)
  39. add_executable(stm32-blinky-f1 blinky.c stm32f1xx_hal_conf.h)
  40. target_link_libraries(stm32-blinky-f1
  41. HAL::STM32::F1::RCC
  42. HAL::STM32::F1::GPIO
  43. HAL::STM32::F1::CORTEX
  44. CMSIS::STM32::F100RB
  45. STM32::NoSys
  46. )
  47. stm32_print_size_of_target(stm32-blinky-f1)
  48. endif()
  49. # STM32L0538-Discovery
  50. if(L0_EXAMPLE)
  51. add_executable(stm32-blinky-l0 blinky.c stm32l0xx_hal_conf.h)
  52. target_link_libraries(stm32-blinky-l0
  53. HAL::STM32::L0::RCC
  54. HAL::STM32::L0::GPIO
  55. HAL::STM32::L0::CORTEX
  56. CMSIS::STM32::L053C8
  57. STM32::NoSys
  58. )
  59. stm32_print_size_of_target(stm32-blinky-l0)
  60. endif()