# Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. #[=======================================================================[.rst: FindALSA -------- Find Advanced Linux Sound Architecture (ALSA) Find the alsa libraries (``asound``) IMPORTED Targets ^^^^^^^^^^^^^^^^ .. versionadded:: 3.12 This module defines :prop_tgt:`IMPORTED` target ``ALSA::ALSA``, if ALSA has been found. Result Variables ^^^^^^^^^^^^^^^^ This module defines the following variables: ``ALSA_FOUND`` True if ALSA_INCLUDE_DIR & ALSA_LIBRARY are found ``ALSA_LIBRARIES`` List of libraries when using ALSA. ``ALSA_INCLUDE_DIRS`` Where to find the ALSA headers. Cache variables ^^^^^^^^^^^^^^^ The following cache variables may also be set: ``ALSA_INCLUDE_DIR`` the ALSA include directory ``ALSA_LIBRARY`` the absolute path of the asound library #]=======================================================================] find_path(ALSA_INCLUDE_DIR NAMES alsa/asoundlib.h DOC "The ALSA (asound) include directory" ) find_library(ALSA_LIBRARY NAMES asound DOC "The ALSA (asound) library" ) if(ALSA_INCLUDE_DIR AND EXISTS "${ALSA_INCLUDE_DIR}/alsa/version.h") file(STRINGS "${ALSA_INCLUDE_DIR}/alsa/version.h" alsa_version_str REGEX "^#define[\t ]+SND_LIB_VERSION_STR[\t ]+\".*\"") string(REGEX REPLACE "^.*SND_LIB_VERSION_STR[\t ]+\"([^\"]*)\".*$" "\\1" ALSA_VERSION_STRING "${alsa_version_str}") unset(alsa_version_str) endif() include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) FIND_PACKAGE_HANDLE_STANDARD_ARGS(ALSA REQUIRED_VARS ALSA_LIBRARY ALSA_INCLUDE_DIR VERSION_VAR ALSA_VERSION_STRING) if(ALSA_FOUND) set( ALSA_LIBRARIES ${ALSA_LIBRARY} ) set( ALSA_INCLUDE_DIRS ${ALSA_INCLUDE_DIR} ) if(NOT TARGET ALSA::ALSA) add_library(ALSA::ALSA UNKNOWN IMPORTED) set_target_properties(ALSA::ALSA PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${ALSA_INCLUDE_DIRS}") set_property(TARGET ALSA::ALSA APPEND PROPERTY IMPORTED_LOCATION "${ALSA_LIBRARY}") endif() endif() mark_as_advanced(ALSA_INCLUDE_DIR ALSA_LIBRARY)