- добавлен компонент util/log - логгер - написан адаптер UART для логгера: port/log - util/log покрыт юнит-тестами
59 lines
2.6 KiB
CMake
59 lines
2.6 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
project(tft_firmware C ASM)
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Глобальные опции — управляются через пресеты
|
|
# -----------------------------------------------------------------------------
|
|
option(BUILD_TESTS_HOST "Build host unit tests" OFF)
|
|
option(BUILD_TESTS_TARGET "Build on-target tests" OFF)
|
|
option(SEGGER_RTT_ENABLED "Enable SEGGER RTT" OFF)
|
|
option(UNITY_TESTING_ENABLED "Enable Unity framework" OFF)
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Общие настройки для ARM сборки
|
|
# -----------------------------------------------------------------------------
|
|
if(NOT BUILD_TESTS_HOST)
|
|
set(CMAKE_EXECUTABLE_SUFFIX ".elf")
|
|
set(CMAKE_C_STANDARD 11)
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
set(CMAKE_C_EXTENSIONS OFF)
|
|
set(BSP_SYSCALLS_FILE
|
|
"${CMAKE_SOURCE_DIR}/bsp/generated/syscalls.c"
|
|
CACHE FILEPATH "Заглушки системных вызовов newlib")
|
|
set(BSP_GENERATED
|
|
"${CMAKE_SOURCE_DIR}/bsp/generated"
|
|
CACHE PATH "Путь до сгенерированных ConfigTools файлов")
|
|
set(BSP_STARTUP_FILE
|
|
"${BSP_GENERATED}/startup/startup_MIMXRT1052.S"
|
|
CACHE FILEPATH "Путь до стартап файла")
|
|
endif()
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# SDK и BSP — всегда подключаются, но содержат защиту от host сборки внутри
|
|
# -----------------------------------------------------------------------------
|
|
add_subdirectory(sdk)
|
|
add_subdirectory(utils)
|
|
add_subdirectory(bsp)
|
|
add_subdirectory(port)
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Сторонние и внутренние библиотеки
|
|
# -----------------------------------------------------------------------------
|
|
add_subdirectory(lib)
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Firmware проекты — только для ARM сборки
|
|
# -----------------------------------------------------------------------------
|
|
if(NOT BUILD_TESTS_HOST)
|
|
add_subdirectory(firmware/test)
|
|
# add_subdirectory(firmware/bootloader) - add_subdirectory(firmware/app) #
|
|
# Загрузчик + Основное приложение
|
|
endif()
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Тесты
|
|
# -----------------------------------------------------------------------------
|
|
if(BUILD_TESTS_HOST OR BUILD_TESTS_TARGET)
|
|
enable_testing()
|
|
add_subdirectory(tests)
|
|
endif()
|