# Note: LibSndFile exports targets itself with SndFileConfig.cmake,
#    However, the file is not for some reason provided in packages in some Linux distros, e.g. Ubuntu 18.04
#    Hence this Find*.cmake file.

FIND_PATH(SndFile_INCLUDE_DIR sndfile.h)
FIND_LIBRARY(SndFile_LIBRARY NAMES sndfile libsndfile sndfile-1)

find_package_handle_standard_args(
    SndFile
    DEFAULT_MSG
    SndFile_LIBRARY
    SndFile_INCLUDE_DIR
)

# Export targets
if(SndFile_FOUND AND NOT TARGET SndFile::sndfile)
    add_library(SndFile::sndfile UNKNOWN IMPORTED)
    set_target_properties(SndFile::sndfile PROPERTIES
                          IMPORTED_LOCATION "${SndFile_LIBRARY}"
                          INTERFACE_INCLUDE_DIRECTORIES "${SndFile_INCLUDE_DIR}")
    # If we want to statically link it, we also need its dependencies
    if(SNDFILE_STATIC)
        find_package(Ogg REQUIRED)
        find_package(Opus REQUIRED)
        find_package(FLAC REQUIRED)
        find_package(Vorbis REQUIRED)
        find_package(VorbisEnc REQUIRED)
        set_property(TARGET SndFile::sndfile APPEND PROPERTY
                     INTERFACE_LINK_LIBRARIES Ogg::ogg Opus::opus FLAC::FLAC Vorbis::vorbis Vorbis::VorbisEnc)
    endif()
endif()