cmake_minimum_required(VERSION 3.16)
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/stm32_gcc.cmake)

project(stm32-freertos C ASM)
set(CMAKE_INCLUDE_CURRENT_DIR TRUE)

find_package(CMSIS COMPONENTS STM32F407VG REQUIRED)
find_package(HAL COMPONENTS STM32F407VG REQUIRED)
find_package(FreeRTOS COMPONENTS ARM_CM4F REQUIRED)

set(PROJECT_SOURCES
    main.c
    FreeRTOSConfig.h
)

add_executable(stm32-freertos ${PROJECT_SOURCES} stm32f4xx_hal_conf.h)
target_link_libraries(stm32-freertos PRIVATE
    FreeRTOS::Timers
    FreeRTOS::Heap::1
    FreeRTOS::ARM_CM4F 
    HAL::STM32::F4::RCC
    HAL::STM32::F4::GPIO
    HAL::STM32::F4::CORTEX
    CMSIS::STM32::F407VG 
    STM32::NoSys
)
stm32_print_size_of_target(stm32-freertos)
