45 lines
1.5 KiB
CMake
45 lines
1.5 KiB
CMake
include(FindPackageHandleStandardArgs)
|
|
|
|
find_package(PkgConfig QUIET)
|
|
pkg_check_modules(PC_SNDFILE QUIET sndfile)
|
|
|
|
find_library(SndFile_LIBRARY
|
|
NAMES sndfile sndfile-1
|
|
HINTS ${PC_SNDFILE_LIBDIR}
|
|
)
|
|
|
|
find_path(SndFile_INCLUDE_PATH
|
|
NAMES sndfile.h
|
|
HINTS ${PC_SNDFILE_INCLUDEDIR}
|
|
)
|
|
|
|
if(PC_SNDFILE_FOUND)
|
|
get_flags_from_pkg_config("${SndFile_LIBRARY}" "PC_SNDFILE" "_sndfile")
|
|
endif()
|
|
|
|
set(SndFile_COMPILE_OPTIONS "${_sndfile_compile_options}" CACHE STRING "Extra compile options of libsndfile")
|
|
|
|
set(SndFile_LINK_LIBRARIES "${_sndfile_link_libraries}" CACHE STRING "Extra link libraries of libsndfile")
|
|
|
|
set(SndFile_LINK_OPTIONS "${_sndfile_link_options}" CACHE STRING "Extra link flags of libsndfile")
|
|
|
|
set(SndFile_LINK_DIRECTORIES "${_sndfile_link_directories}" CACHE PATH "Extra link directories of libsndfile")
|
|
|
|
find_package_handle_standard_args(SndFile
|
|
REQUIRED_VARS SndFile_LIBRARY SndFile_INCLUDE_PATH
|
|
)
|
|
|
|
if(SndFile_FOUND)
|
|
if(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_PATH}"
|
|
INTERFACE_COMPILE_OPTIONS "${SndFile_COMPILE_OPTIONS}"
|
|
INTERFACE_LINK_LIBRARIES "${SndFile_LINK_LIBRARIES}"
|
|
INTERFACE_LINK_OPTIONS "${SndFile_LINK_OPTIONS}"
|
|
INTERFACE_LINK_DIRECTORIES "${SndFile_LINK_DIRECTORIES}"
|
|
)
|
|
endif()
|
|
endif()
|