# auth_sdk component wrapper — automatically selects the correct pre-compiled
# library based on IDF_TARGET (chip) and IDF version.
idf_component_register(
    INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../include"
    REQUIRES nvs_flash esp_timer esp_netif esp_wifi esp_system app_update
    PRIV_REQUIRES esp_hw_support spi_flash freertos
)

# Determine library tag from chip + IDF version
string(REGEX MATCH "([0-9]+\\.[0-9]+\\.[0-9]+)" _IDF_FULL_VER "${IDF_VER}")
set(_IDF_TAG "idf${_IDF_FULL_VER}")
set(_LIB_DIR "${CMAKE_CURRENT_LIST_DIR}/../../lib/${IDF_TARGET}-${_IDF_TAG}")

if(NOT EXISTS "${_LIB_DIR}/libauth_sdk.a")
    message(FATAL_ERROR
        "auth_sdk: no pre-compiled library for ${IDF_TARGET} + IDF ${IDF_VER}.\n"
        "  Expected path: ${_LIB_DIR}/libauth_sdk.a\n"
        "  Supported combinations: see auth-sdk-release/esp32/README.md")
endif()

target_link_libraries(${COMPONENT_LIB} INTERFACE "${_LIB_DIR}/libauth_sdk.a")
