12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- # - Find FLAC
- # Find the native FLAC includes and libraries
- #
- # FLAC_INCLUDE_DIRS - where to find FLAC headers.
- # FLAC_LIBRARIES - List of libraries when using libFLAC.
- # FLAC_FOUND - True if libFLAC found.
- # FLAC_DEFINITIONS - FLAC compile definitons
- if (FLAC_INCLUDE_DIR)
- # Already in cache, be silent
- set (FLAC_FIND_QUIETLY TRUE)
- endif ()
- find_package (Ogg QUIET)
- find_package (PkgConfig QUIET)
- pkg_check_modules(PC_FLAC QUIET flac)
- set(FLAC_VERSION ${PC_FLAC_VERSION})
- find_path (FLAC_INCLUDE_DIR FLAC/stream_decoder.h
- HINTS
- ${PC_FLAC_INCLUDEDIR}
- ${PC_FLAC_INCLUDE_DIRS}
- ${FLAC_ROOT}
- )
- # MSVC built libraries can name them *_static, which is good as it
- # distinguishes import libraries from static libraries with the same extension.
- find_library (FLAC_LIBRARY
- NAMES
- FLAC
- libFLAC
- libFLAC_dynamic
- libFLAC_static
- HINTS
- ${PC_FLAC_LIBDIR}
- ${PC_FLAC_LIBRARY_DIRS}
- ${FLAC_ROOT}
- )
- # Handle the QUIETLY and REQUIRED arguments and set FLAC_FOUND to TRUE if
- # all listed variables are TRUE.
- include (FindPackageHandleStandardArgs)
- find_package_handle_standard_args (FLAC
- REQUIRED_VARS
- FLAC_LIBRARY
- FLAC_INCLUDE_DIR
- Ogg_FOUND
- VERSION_VAR
- FLAC_VERSION
- )
- if (FLAC_FOUND)
- set (FLAC_INCLUDE_DIRS ${FLAC_INCLUDE_DIR})
- set (FLAC_LIBRARIES ${FLAC_LIBRARY} ${OGG_LIBRARIES})
- if (NOT TARGET FLAC::FLAC)
- add_library(FLAC::FLAC UNKNOWN IMPORTED)
- set_target_properties(FLAC::FLAC PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${FLAC_INCLUDE_DIR}"
- IMPORTED_LOCATION "${FLAC_LIBRARY}"
- INTERFACE_LINK_LIBRARIES Ogg::ogg
- )
- endif ()
- endif ()
- mark_as_advanced(FLAC_INCLUDE_DIR FLAC_LIBRARY)
|