| # Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| # file Copyright.txt or https://cmake.org/licensing for details. |
| |
| #.rst: |
| # FindALSA |
| # -------- |
| # |
| # Find alsa |
| # |
| # Find the alsa libraries (asound) |
| # |
| # IMPORTED Targets |
| # ^^^^^^^^^^^^^^^^ |
| # |
| # 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) |