CMakeLists.txt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  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(hal-test C ASM)
  7. set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
  8. find_package(CMSIS REQUIRED)
  9. find_package(HAL REQUIRED)
  10. set(SOURCES main.c)
  11. foreach(FAMILY ${TEST_FAMILIES})
  12. stm32_get_devices_by_family(${FAMILY} DEVICES)
  13. list(GET DEVICES 0 DEVICE)
  14. add_executable(hal-test-${FAMILY} ${SOURCES})
  15. foreach(DRIVER ${HAL_DRIVERS_${FAMILY}})
  16. string(TOUPPER ${DRIVER} DRIVER)
  17. target_link_libraries(hal-test-${FAMILY} HAL::STM32::${FAMILY}::${DRIVER})
  18. endforeach()
  19. foreach(DRIVER ${HAL_EX_DRIVERS_${FAMILY}})
  20. string(TOUPPER ${DRIVER} DRIVER)
  21. target_link_libraries(hal-test-${FAMILY} HAL::STM32::${FAMILY}::${DRIVER}Ex)
  22. endforeach()
  23. foreach(DRIVER ${HAL_LL_DRIVERS_${FAMILY}})
  24. string(TOUPPER ${DRIVER} DRIVER)
  25. target_link_libraries(hal-test-${FAMILY} HAL::STM32::${FAMILY}::LL_${DRIVER})
  26. endforeach()
  27. target_link_libraries(hal-test-${FAMILY} STM32::NoSys CMSIS::STM32::${DEVICE})
  28. endforeach()