70 lines
2.5 KiB
CMake
70 lines
2.5 KiB
CMake
# MimiClaw - CMake build configuration
|
|
# This file is processed by ESP-IDF's CMake build system
|
|
|
|
# ─── Core modules (always compiled) ────────────────────────────────────────
|
|
set(core_srcs
|
|
"mimi.c"
|
|
"bus/message_bus.c"
|
|
"wifi/wifi_manager.c"
|
|
"llm/llm_proxy.c"
|
|
"llm/llm_provider.c"
|
|
"agent/agent_loop.c"
|
|
"agent/context_builder.c"
|
|
"memory/memory_store.c"
|
|
"memory/session_mgr.c"
|
|
"cli/serial_cli.c"
|
|
"proxy/http_proxy.c"
|
|
"cron/cron_service.c"
|
|
"heartbeat/heartbeat.c"
|
|
"tools/tool_registry.c"
|
|
"tools/tool_cron.c"
|
|
"tools/tool_get_time.c"
|
|
"tools/tool_set_timezone.c"
|
|
"tools/tool_files.c"
|
|
"skills/skill_loader.c"
|
|
"time_sync/time_sync.c"
|
|
"nvs_safety/nvs_safety.c"
|
|
)
|
|
|
|
# ─── Channel modules ───────────────────────────────────────────────────────
|
|
if(CONFIG_MIMI_CHAN_TELEGRAM)
|
|
list(APPEND core_srcs "channels/telegram/telegram_bot.c")
|
|
endif()
|
|
|
|
if(CONFIG_MIMI_CHAN_FEISHU)
|
|
list(APPEND core_srcs "channels/feishu/feishu_bot.c")
|
|
endif()
|
|
|
|
# ─── Optional modules ───────────────────────────────────────────────────────
|
|
if(CONFIG_MIMI_WS_SERVER)
|
|
list(APPEND core_srcs "gateway/ws_server.c")
|
|
endif()
|
|
|
|
if(CONFIG_MIMI_WIFI_ONBOARD)
|
|
list(APPEND core_srcs "onboard/wifi_onboard.c")
|
|
endif()
|
|
|
|
if(CONFIG_MIMI_OTA)
|
|
list(APPEND core_srcs "ota/ota_manager.c")
|
|
endif()
|
|
|
|
# ─── Tool modules ──────────────────────────────────────────────────────────
|
|
if(CONFIG_MIMI_TOOL_WEB_SEARCH)
|
|
list(APPEND core_srcs "tools/tool_web_search.c")
|
|
endif()
|
|
|
|
if(CONFIG_MIMI_TOOL_GPIO)
|
|
list(APPEND core_srcs "tools/tool_gpio.c")
|
|
list(APPEND core_srcs "tools/gpio_policy.c")
|
|
endif()
|
|
|
|
# ─── Register component ───────────────────────────────────────────────────
|
|
idf_component_register(
|
|
SRCS ${core_srcs}
|
|
INCLUDE_DIRS "."
|
|
REQUIRES
|
|
nvs_flash esp_wifi esp_netif esp_http_client esp_http_server
|
|
esp_https_ota esp_event cjson spiffs console vfs app_update esp-tls
|
|
esp_timer esp_websocket_client esp_driver_gpio
|
|
)
|