#ШАБЛОН
cmake_minimum_required(VERSION 3.20)

set(ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../..)
set(SYSTEM_DIR ${ROOT_DIR}/devices/eliot1)
set(ARM_GCC_DIR ${ROOT_DIR}/devices/eliot1/gcc)
set(DRIVERS_DIR ${ROOT_DIR}/devices/eliot1/drivers)
set(BOARD_CFG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../..)

project(bsp_core0)

enable_language(ASM)

set(SOURCE_FILES
    ${ARM_GCC_DIR}/startup_eliot1_cm33.S
    ${SYSTEM_DIR}/system_ELIOT1_core0.c
    ${DRIVERS_DIR}/hal_common.c	
    ${DRIVERS_DIR}/hal_clkctr.c
    ${DRIVERS_DIR}/hal_gpio.c
    ${DRIVERS_DIR}/hal_rwc.c
    ${DRIVERS_DIR}/hal_ioim.c
    ${DRIVERS_DIR}/hal_uart.c
    ${DRIVERS_DIR}/hal_timer.c
    ${DRIVERS_DIR}/hal_flash.c
    ${DRIVERS_DIR}/hal_power.c
    ${DRIVERS_DIR}/hal_jtm.c
    ${DRIVERS_DIR}/hal_qspi.c
    ${DRIVERS_DIR}/hal_qspi_nor_flash.c
    ${BOARD_CFG_DIR}/eliot1_config.c
    ${BOARD_CFG_DIR}/eliot1_board.c
)

include_directories(
    ${ROOT_DIR}/CMSIS/Include
    ${SYSTEM_DIR}
    ${DRIVERS_DIR}
    ${DRIVERS_DIR}/private
    ${BOARD_CFG_DIR}
)

set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} \
     -DBOARD -DELIOT1M \
     -DCPU_ELIOT1M_cm33_core0 \
     -mfloat-abi=soft -g")

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
     -DBOARD -DELIOT1M \
     -DCPU_ELIOT1M_cm33_core0 \
     -mfloat-abi=soft -MMD -MP \
     -Os -g -fdata-sections -ffunction-sections")

add_library(${PROJECT_NAME} STATIC ${SOURCE_FILES})
