set(requires esp-tls spi_flash nvs_flash esp_event esp_netif esp_http_client esp_wifi esp_psram esp_lvgl_port)
file(GLOB SRCS "main.cpp" "*.cpp" "*.c" "**/*.cpp" "**/*.cpp" "ui/**/*.cpp" "ui/**/*.c")
# Explicitly list all source files to ensure build system picks them up
# set(SRCS
#     "main.cpp"
#     "display/display.cpp"
#     "display/eink_display_handler.cpp"
#     "info/info.cpp"
#     "io/nvs_handler.cpp"
#     "network/http_handler.cpp"
#     "network/network.cpp"
#     "network/udp_client.cpp"
#     "network/wifi_handler.cpp"
#     "ui/page_stack.cpp"
#     "ui/root_layout.cpp"
#     "ui/ui_handler.cpp"
#     "ui/apps/demo_app.cpp"
#     "ui/apps/discord_app.cpp"
#     "ui/apps/shutdown_app.cpp"
# )

idf_component_register(SRCS ${SRCS}
                       PRIV_REQUIRES ${requires}
                       INCLUDE_DIRS "." "display" "network" "ui" "ui/apps" "io" "common")
