纳入固件源码、屏幕组件、nand_xfer 工具和文档。忽略本机构建产物、sdkconfig,以及含本机路径的依赖锁。 Co-authored-by: Cursor <[email protected]>
122 lines
3.2 KiB
CMake
122 lines
3.2 KiB
CMake
# 1. 自动搜索 ui 目录下所有的 .c 文件 (包含子目录)
|
|
file(GLOB_RECURSE GUI_SOURCES "${CMAKE_CURRENT_LIST_DIR}/ui/*.c")
|
|
file(GLOB GUIDER_FONT_SOURCES "${CMAKE_CURRENT_LIST_DIR}/ui/generated/guider_fonts/*.c")
|
|
# 下列文件已在 SRCS 中显式列出,避免 GLOB 与显式重复导致同一 .c 编译/链接两次
|
|
list(REMOVE_ITEM GUI_SOURCES
|
|
"${CMAKE_CURRENT_LIST_DIR}/ui/ui_events.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/ui/ui_nav.c"
|
|
"${CMAKE_CURRENT_LIST_DIR}/ui/ui_test_page.c"
|
|
)
|
|
# 注释内置 guider_fonts:改为运行时外部字体
|
|
list(REMOVE_ITEM GUI_SOURCES ${GUIDER_FONT_SOURCES})
|
|
|
|
# 2. 定义头文件路径
|
|
set(GUI_INCLUDES
|
|
"ui/custom"
|
|
"ui/generated"
|
|
"ui/generated/guider_customer_fonts"
|
|
)
|
|
|
|
# 3. 注册组件
|
|
idf_component_register(
|
|
SRCS
|
|
"main.c"
|
|
"OTA/ota_upgrade.c"
|
|
"ota_trigger.c"
|
|
"MQTT/mqtt.c"
|
|
"FLASH/flash.c"
|
|
"ZIP_EXTRACTOR/zip_extractor.c"
|
|
"MINIZ/miniz.c"
|
|
"MOTOR/motor.c"
|
|
"MOTOR/step_motor_init.c"
|
|
"MOTOR/foc.c"
|
|
"MOTOR/motor_timer.c"
|
|
"MOTOR/motor_control.c"
|
|
"MOTOR/motor_io.c"
|
|
"BLE/ble.c"
|
|
"BLE/ble_data_ansy.c"
|
|
"BLE/ble_send.c"
|
|
"WIFI/wifi.c"
|
|
"SC7U22/SC7U22.c"
|
|
"EVENT/event.c"
|
|
"ES7243E/ES7243E.c"
|
|
"SPEECH/speech_app.c"
|
|
"SPEECH/speech_init.c"
|
|
"SCREEN/screen_init.c"
|
|
"SCREEN/screen_brightness.c"
|
|
"SCREEN/screen_sleep.c"
|
|
"UI_DISPATCH/ui_dispatch.c"
|
|
"PET/pet_init.c"
|
|
"NS4168/ns4168.c"
|
|
"NS4168/wav_demux.c"
|
|
"NS4168/ogg_demux.c"
|
|
"NS4168/micro_decoder_wrapper.cpp"
|
|
"NS4168/AudioSourceFile.cpp"
|
|
"UI_DISPATCH/almanac_service.c"
|
|
"ui_cmd.c"
|
|
"ALGORITHM/crc.c"
|
|
"SYSTEM/system.c"
|
|
"EMOJI_STORAGE/emoji_storage.c"
|
|
"LVGL/lvgl_src.c"
|
|
"LVGL/lvgl_init.c"
|
|
"LVGL/lvgl_lottie.c"
|
|
"LVGL/lvgl_lottie_logic.c"
|
|
"remapping.c"
|
|
"ui/ui_events.c"
|
|
"ui/ui_nav.c"
|
|
"ui/ui_test_page.c"
|
|
${GUI_SOURCES}
|
|
|
|
INCLUDE_DIRS
|
|
"."
|
|
"EVENT"
|
|
"ui"
|
|
${GUI_INCLUDES}
|
|
|
|
EMBED_TXTFILES
|
|
"UI_DISPATCH/yiji_data_2026_2030.json"
|
|
|
|
REQUIRES
|
|
# --- GUI & Screen ---
|
|
lvgl
|
|
esp_lcd_qspi_amoled
|
|
esp_lcd_touch_cst820
|
|
|
|
# --- 系统基础 ---
|
|
nvs_flash
|
|
esp_event
|
|
esp_wifi
|
|
esp_netif
|
|
driver
|
|
log
|
|
freertos
|
|
spi_flash
|
|
# --- 网络与通信 ---
|
|
mqtt
|
|
esp_http_client
|
|
esp_https_ota
|
|
bt
|
|
|
|
# --- 存储与文件系统 ---
|
|
app_update
|
|
esp_partition
|
|
fatfs
|
|
spiffs
|
|
sdmmc
|
|
|
|
# --- 其他 ---
|
|
json
|
|
mbedtls
|
|
)
|
|
|
|
# 内置 guider_fonts 已不参与编译,保留以下属性配置作为历史参考
|
|
# set_source_files_properties(
|
|
# ${GUIDER_FONT_SOURCES}
|
|
# PROPERTIES COMPILE_OPTIONS
|
|
# -DLV_LVGL_H_INCLUDE_SIMPLE
|
|
# )
|
|
|
|
# 5. 生成分区镜像(storage 已废弃,表情已迁移至 /extflash)
|
|
# spiffs_create_partition_image(storage lottie_files FLASH_IN_PROJECT)
|
|
|