SET (RC522_REQUIRES
    esp_event
    esp_driver_gpio
    esp_driver_i2c
    esp_timer
)

if(${IDF_TARGET} STREQUAL "linux") # tests
    list(APPEND RC522_REQUIRES driver)
else()
    list(APPEND RC522_REQUIRES esp_driver_spi)
endif()

idf_component_register(
    INCLUDE_DIRS
        include
        internal
    SRCS
        src/rc522.c
        src/rc522_helpers.c
        src/rc522_pcd.c
        src/rc522_picc.c
        src/picc/rc522_mifare.c
        src/picc/rc522_nxp.c
        src/rc522_driver.c
        src/driver/rc522_spi.c
        src/driver/rc522_i2c.c
    REQUIRES
        ${RC522_REQUIRES}
)

target_compile_options(${COMPONENT_LIB} PRIVATE
    -Werror # Warning as error
    #-pedantic
    -Wextra
    -Wall
    -Wshadow
    -Wcast-qual
    -Wswitch-default
    #-Wswitch-enum
    #-Wconversion
    -Wunreachable-code
    -Wuninitialized
    -Winit-self
    -Wpointer-arith
    -Werror-implicit-function-declaration
)
