#[=======================================================================[.rst: Findmpg123 ------- Finds the mpg123 library. Imported Targets ^^^^^^^^^^^^^^^^ This module provides the following imported targets, if found: ``MPG123::libmpg123`` The mpg123 library Result Variables ^^^^^^^^^^^^^^^^ This will define the following variables: ``mpg123_FOUND`` True if the system has the mpg123 package. ``mpg123_VERSION`` The version of mpg123 that was found on the system. Cache Variables ^^^^^^^^^^^^^^^ The following cache variables may also be set: ``mpg123_INCLUDE_DIR`` The directory containing ``mpg123.h``. ``mpg123_LIBRARY`` The path to the mpg123 library. #]=======================================================================] if (mpg123_INCLUDE_DIR) # Already in cache, be silent set(mpg123_FIND_QUIETLY TRUE) endif () find_package (PkgConfig QUIET) pkg_check_modules(PC_MPG123 QUIET libmpg123>=1.25.10) find_path (mpg123_INCLUDE_DIR mpg123.h HINTS ${PC_MPG123_INCLUDEDIR} ${PC_MPG123_INCLUDE_DIRS} ${mpg123_ROOT} ) # MSVC built mpg123 may be named mpg123_static. # The provided project files name the library with the lib prefix. find_library (mpg123_LIBRARY NAMES mpg123 mpg123_static libmpg123 libmpg123_static HINTS ${PC_MPG123_LIBDIR} ${PC_MPG123_LIBRARY_DIRS} ${mpg123_ROOT} ) if (PC_MPG123_FOUND) set (mpg123_VERSION ${PC_MPG123_VERSION}) elseif (mpg123_INCLUDE_DIR) file (READ "${mpg123_INCLUDE_DIR}/mpg123.h" _mpg123_h) string (REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" _mpg123_version_re "${_mpg123_h}") set (mpg123_VERSION "${_mpg123_version_re}") endif () # Handle the QUIETLY and REQUIRED arguments and set mpg123_FOUND # to TRUE if all listed variables are TRUE. include(FindPackageHandleStandardArgs) find_package_handle_standard_args (mpg123 REQUIRED_VARS mpg123_LIBRARY mpg123_INCLUDE_DIR VERSION_VAR mpg123_VERSION ) if (mpg123_FOUND AND NOT TARGET MPG123::libmpg123) add_library (MPG123::libmpg123 UNKNOWN IMPORTED) set_target_properties (MPG123::libmpg123 PROPERTIES IMPORTED_LOCATION "${mpg123_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${mpg123_INCLUDE_DIR}" ) endif () mark_as_advanced(mpg123_INCLUDE_DIR mpg123_LIBRARY)