idf_component_register(
    SRCS
        "main.c"
        "ili9341.c"
        "touch.c"
        "display.c"
        "uart_transport.c"
        "buttons.c"
        "ui.c"
        "bech32.c"
        "mnemonic.c"
        "key_derivation.c"
        "pq_crypto_firmware.c"
        "secure_mem.c"
        "../../../resources/nostr_core_lib/nostr_core/nip004.c"
        "../../../resources/nostr_core_lib/nostr_core/nip044.c"
        "../../../resources/nostr_core_lib/nostr_core/nostr_common.c"
        "../../../resources/nostr_core_lib/nostr_core/utils.c"
        "../../../resources/nostr_core_lib/nostr_core/crypto/nostr_aes.c"
        "../../../resources/nostr_core_lib/nostr_core/crypto/nostr_chacha20.c"
        "../../../resources/nostr_core_lib/nostr_core/crypto/nostr_secp256k1.c"
        "../../../resources/nostr_core_lib/platform/esp32/nostr_platform_esp32.c"
    INCLUDE_DIRS
        "."
        "../../../resources/nostr_core_lib/nostr_core"
    REQUIRES
        lvgl
        esp_timer
        esp_driver_gpio
        esp_driver_ledc
        esp_driver_spi
        esp_driver_uart
        mbedtls
        secp256k1
        pqclean
        json)

target_compile_definitions(${COMPONENT_LIB} PUBLIC LV_CONF_INCLUDE_SIMPLE=1)
