# 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)