CMakeLists.txt 945 B

12345678910111213141516171819202122232425262728
  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 F1 F2 F3 F4 F7 G0 G4 H7 L0 L1 L4)
  5. endif()
  6. project(cmsis-test C ASM)
  7. find_package(CMSIS REQUIRED)
  8. set(SOURCES main.c)
  9. include(stm32/devices)
  10. foreach(FAMILY ${TEST_FAMILIES})
  11. stm32_get_devices_by_family(${FAMILY} DEVICES)
  12. foreach(DEVICE ${DEVICES})
  13. stm32_get_chip_type(${FAMILY} ${DEVICE} TYPE)
  14. stm32_get_memory_info(${FAMILY} ${DEVICE}
  15. FLASH_SIZE RAM_SIZE CCRAM_SIZE STACK_SIZE HEAP_SIZE
  16. FLASH_ORIGIN RAM_ORIGIN CCRAM_ORIGIN
  17. )
  18. message(STATUS "STM32${DEVICE}: ${FAMILY} family, type ${TYPE}, ${FLASH_SIZE} flash, ${RAM_SIZE} RAM")
  19. add_executable(cmsis-test-${DEVICE} ${SOURCES})
  20. target_link_libraries(cmsis-test-${DEVICE} CMSIS::STM32::${DEVICE} STM32::NoSys)
  21. endforeach()
  22. endforeach()