Files
zhengxinandCursor 851e347cf5 初始提交卡包 USB 工程
纳入固件源码、屏幕组件、nand_xfer 工具和文档。忽略本机构建产物、sdkconfig,以及含本机路径的依赖锁。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 21:54:50 +08:00

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)