find_package(Ebur128 QUIET)

if(NOT Ebur128_FOUND)
    message(STATUS "Ebur128 not found; ebur128 scanner will not be available.")
else()
    set(HAVE_EBUR128 TRUE)
endif()

create_fooyin_plugin_internal(
    rgscanner
    DEPENDS #
        Fooyin::CorePrivate
        Fooyin::Gui
        ${FFMPEG_LIBRARIES}
    SOURCES
        ffmpegscanner.cpp
        ffmpegscanner.h
        opusheadergaindialog.cpp
        opusheadergaindialog.h
        opusreplaygainutils.cpp
        opusreplaygainutils.h
        rgscanner.cpp
        rgscanner.h
        rgscannerdefs.h
        rgscannerpage.cpp
        rgscannerpage.h
        rgscannerplugin.cpp
        rgscannerplugin.h
        rgscanresults.cpp
        rgscanresults.h
        rgscanresultsmodel.cpp
        rgscanresultsmodel.h
)

target_include_directories(rgscanner SYSTEM PRIVATE ${FFMPEG_INCLUDE_DIRS})

if(HAVE_EBUR128)
    target_link_libraries(rgscanner PRIVATE Ebur128::Ebur128)
    target_sources(rgscanner PRIVATE ebur128scanner.cpp ebur128scanner.h)
    target_compile_definitions(rgscanner PRIVATE HAVE_EBUR128)
endif()
