cmake_minimum_required(VERSION 3.16) set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/cmake/stm32_gcc.cmake) project(stm32-blinky C CXX ASM) set(MAIN_SOURCE_FILE main.cpp) set(CMAKE_INCLUDE_CURRENT_DIR TRUE) set(HAL_COMP_LIST RCC GPIO CORTEX UART SPI DMA) set(CMSIS_COMP_LIST "") list(APPEND CMSIS_COMP_LIST STM32F1) list(APPEND HAL_COMP_LIST STM32F1) find_package(CMSIS COMPONENTS STM32F1 REQUIRED) find_package(HAL COMPONENTS "${HAL_COMP_LIST}" REQUIRED) # Find all device specific drivers: #find_package(HAL COMPONENTS STM32L0 STM32F1 STM32F4 REQUIRED) # Find drivers for all families: #find_package(HAL COMPONENTS RCC GPIO CORTEX REQUIRED) # Find LL driver: #find_package(HAL COMPONENTS LL_GPIO REQUIRED) # Find everything: #find_package(HAL REQUIRED) # STM32VL-Discovery add_executable(stm32-blinky-f1 ${MAIN_SOURCE_FILE} logging.cpp uart_handler.cpp spi.cpp rfm95.cpp commons.cpp stm32f1xx_it.c stm32f1xx_hal_conf.h ) set_property(TARGET stm32-blinky-f1 PROPERTY CXX_STANDARD 20) target_link_libraries(stm32-blinky-f1 HAL::STM32::F1::UART HAL::STM32::F1::RCC HAL::STM32::F1::GPIO HAL::STM32::F1::CORTEX HAL::STM32::F1::SPI HAL::STM32::F1::DMA CMSIS::STM32::F100RB STM32::NoSys ) stm32_print_size_of_target(stm32-blinky-f1) #add_executable(stm32-blinky-f1 # test/main.c # test/gpio.c # test/usart.c # test/stm32f1xx_hal_conf.h # ) #target_link_libraries(stm32-blinky-f1 # HAL::STM32::F1::UART # HAL::STM32::F1::RCC # HAL::STM32::F1::GPIO # HAL::STM32::F1::CORTEX # CMSIS::STM32::F100RB # STM32::NoSys #) #stm32_print_size_of_target(stm32-blinky-f1)