CMakeLists.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. cmake_minimum_required(VERSION 3.8)
  2. set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/stm32_gcc.cmake)
  3. if(NOT TEST_FAMILIES)
  4. set(TEST_FAMILIES F0)
  5. endif()
  6. set(TEST_F0_BOARDS
  7. STM32F0xx_Nucleo_32 STM32F0xx_Nucleo STM32F072B_Discovery
  8. STM32F0308_Discovery STM32072B_EVAL STM32091C_EVAL
  9. )
  10. set(TEST_F0_COMPONENTS
  11. HX8347D L3GD20 SPFD5408 ST7735 STLM75
  12. )
  13. set(DEVICE_STM32F0xx_Nucleo_32 F031K6)
  14. set(DEVICE_STM32F0xx_Nucleo F030R8)
  15. set(DEVICE_STM32F072B_Discovery F072RB)
  16. set(DEVICE_STM32F0308_Discovery F030R8)
  17. set(DEVICE_STM32072B_EVAL F072VB)
  18. set(DEVICE_STM32091C_EVAL F091VC)
  19. project(bsp-test C ASM)
  20. set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
  21. find_package(CMSIS REQUIRED)
  22. find_package(HAL REQUIRED)
  23. find_package(BSP COMPONENTS STM32F0 REQUIRED)
  24. set(SOURCES main.c)
  25. foreach(FAMILY ${TEST_FAMILIES})
  26. foreach(BOARD ${TEST_${FAMILY}_BOARDS})
  27. add_executable(bsp-test-${BOARD} ${SOURCES})
  28. target_link_libraries(bsp-test-${BOARD}
  29. BSP::STM32::${BOARD}
  30. HAL::STM32::${FAMILY}
  31. CMSIS::STM32::${DEVICE_${BOARD}}
  32. STM32::NoSys
  33. )
  34. foreach(COMP ${TEST_${FAMILY}_COMPONENTS})
  35. target_link_libraries(bsp-test-${BOARD} BSP::STM32::${FAMILY}::${COMP})
  36. endforeach()
  37. endforeach()
  38. endforeach()