idf_build_get_property(target IDF_TARGET)

set(srcs)
set(public_include "include")

if(CONFIG_SOC_LEDC_SUPPORTED)
    list(APPEND srcs "src/ledc.c")

    if(CONFIG_SOC_ETM_SUPPORTED AND CONFIG_SOC_LEDC_SUPPORT_ETM)
        list(APPEND srcs "src/ledc_etm.c")
    endif()
endif()

if(${target} STREQUAL "linux")
    set(priv_requires "")
else()
    set(priv_requires esp_pm esp_driver_gpio)
endif()

idf_component_register(
    SRCS ${srcs}
    INCLUDE_DIRS ${public_include}
    REQUIRES esp_hal_ledc
    PRIV_REQUIRES "${priv_requires}"
    LDFRAGMENTS "linker.lf"
)
