Warning, /libraries/phonon/cmake/FindPulseAudio.cmake is written in an unsupported language. File is not indexed.
0001 # Try to find the PulseAudio library 0002 # 0003 # Once done this will define: 0004 # 0005 # PULSEAUDIO_FOUND - system has the PulseAudio library 0006 # PULSEAUDIO_INCLUDE_DIR - the PulseAudio include directory 0007 # PULSEAUDIO_LIBRARY - the libraries needed to use PulseAudio 0008 # PULSEAUDIO_MAINLOOP_LIBRARY - the libraries needed to use PulsAudio Mainloop 0009 # 0010 # The minimum required version of PulseAudio can be specified using the 0011 # standard syntax, e.g. find_package(PulseAudio 1.0) 0012 # 0013 # Copyright (c) 2008, Matthias Kretz, <kretz@kde.org> 0014 # Copyright (c) 2009, Marcus Hufgard, <Marcus.Hufgard@hufgard.de> 0015 # Copyright (c) 2011, Colin Guthrie, <colin@mageia.org> 0016 # Copyright (c) 2019, Harald Sitter, <sitter@kde.org> 0017 # 0018 # Redistribution and use is allowed according to the terms of the BSD license. 0019 # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 0020 0021 # Support PULSEAUDIO_MINIMUM_VERSION for compatibility: 0022 if(NOT PULSEAUDIO_FIND_VERSION) 0023 set(PULSEAUDIO_FIND_VERSION "${PULSEAUDIO_MINIMUM_VERSION}") 0024 endif(NOT PULSEAUDIO_FIND_VERSION) 0025 0026 # the minimum version of PulseAudio we require 0027 if(NOT PULSEAUDIO_FIND_VERSION) 0028 set(PULSEAUDIO_FIND_VERSION "0.9.9") 0029 endif(NOT PULSEAUDIO_FIND_VERSION) 0030 0031 # Newer PA's ship a PackageConfig.cmake file, so lets try and use it. 0032 find_package(PulseAudio ${PULSEAUDIO_FIND_VERSION} QUIET NO_MODULE) 0033 if (PULSEAUDIO_FOUND) 0034 return() 0035 endif() 0036 0037 if (NOT WIN32) 0038 include(FindPkgConfig) 0039 pkg_check_modules(PC_PULSEAUDIO QUIET libpulse>=${PULSEAUDIO_FIND_VERSION}) 0040 pkg_check_modules(PC_PULSEAUDIO_MAINLOOP QUIET libpulse-mainloop-glib) 0041 endif (NOT WIN32) 0042 0043 find_path(PULSEAUDIO_INCLUDE_DIR pulse/pulseaudio.h 0044 HINTS 0045 ${PC_PULSEAUDIO_INCLUDEDIR} 0046 ${PC_PULSEAUDIO_INCLUDE_DIRS} 0047 ) 0048 0049 find_library(PULSEAUDIO_LIBRARY NAMES pulse libpulse 0050 HINTS 0051 ${PC_PULSEAUDIO_LIBDIR} 0052 ${PC_PULSEAUDIO_LIBRARY_DIRS} 0053 ) 0054 0055 find_library(PULSEAUDIO_MAINLOOP_LIBRARY NAMES pulse-mainloop pulse-mainloop-glib libpulse-mainloop-glib 0056 HINTS 0057 ${PC_PULSEAUDIO_LIBDIR} 0058 ${PC_PULSEAUDIO_LIBRARY_DIRS} 0059 ) 0060 0061 if (PULSEAUDIO_VERSION) 0062 # Already in cache, be silent 0063 set(PULSEAUDIO_FIND_QUIETLY TRUE) 0064 endif (PULSEAUDIO_VERSION) 0065 0066 if (PULSEAUDIO_INCLUDE_DIR AND NOT PULSEAUDIO_VERSION) 0067 # Use the separate major, minor, micro defines as these are more reliable than the combined string 0068 # which may change if/when the minor or micro bits are dropped... 0069 file(STRINGS "${PULSEAUDIO_INCLUDE_DIR}/pulse/version.h" pulse_version_h REGEX ".*define.+PA_MAJOR.+") 0070 string(REGEX REPLACE ".*define.+PA_M[A-Z]+[^0-9]+([0-9]+).*" "\\1" PULSEAUDIO_MAJOR "${pulse_version_h}") 0071 0072 file(STRINGS "${PULSEAUDIO_INCLUDE_DIR}/pulse/version.h" pulse_version_h REGEX ".*define.+PA_MINOR.+") 0073 string(REGEX REPLACE ".*define.+PA_M[A-Z]+[^0-9]+([0-9]+).*" "\\1" PULSEAUDIO_MINOR "${pulse_version_h}") 0074 0075 file(STRINGS "${PULSEAUDIO_INCLUDE_DIR}/pulse/version.h" pulse_version_h REGEX ".*define.+PA_MICRO.+") 0076 string(REGEX REPLACE ".*define.+PA_M[A-Z]+[^0-9]+([0-9]+).*" "\\1" PULSEAUDIO_MICRO "${pulse_version_h}") 0077 0078 set(PULSEAUDIO_VERSION "${PULSEAUDIO_MAJOR}.${PULSEAUDIO_MINOR}.${PULSEAUDIO_MICRO}" CACHE STRING "Version number of PulseAudio" FORCE) 0079 endif (PULSEAUDIO_INCLUDE_DIR AND NOT PULSEAUDIO_VERSION) 0080 0081 # NB find_package_handle_standard_args seems to fail horribly and not work 0082 0083 #include(FindPackageHandleStandardArgs) 0084 #find_package_handle_standard_args(PulseAudio REQUIRED_VARS PULSEAUDIO_LIBRARY PULSEAUDIO_INCLUDE_DIR 0085 # VERSION_VAR PULSEAUDIO_VERSION ) 0086 0087 if(PULSEAUDIO_VERSION VERSION_LESS PULSEAUDIO_FIND_VERSION) 0088 message(WARNING "PulseAudio version not new enough: ${PULSEAUDIO_VERSION}") 0089 set(PULSEAUDIO_FOUND FALSE) 0090 endif() 0091 0092 if(PULSEAUDIO_INCLUDE_DIR AND PULSEAUDIO_LIBRARY) 0093 set(PULSEAUDIO_FOUND FALSE) 0094 endif() 0095 0096 if (PULSEAUDIO_FOUND) 0097 if (NOT PULSEAUDIO_FIND_QUIETLY) 0098 message(STATUS "Found PulseAudio: ${PULSEAUDIO_LIBRARY}") 0099 if (PULSEAUDIO_MAINLOOP_LIBRARY) 0100 message(STATUS "Found PulseAudio Mainloop: ${PULSEAUDIO_MAINLOOP_LIBRARY}") 0101 else (PULSAUDIO_MAINLOOP_LIBRARY) 0102 message(STATUS "Could NOT find PulseAudio Mainloop Library") 0103 endif (PULSEAUDIO_MAINLOOP_LIBRARY) 0104 endif (NOT PULSEAUDIO_FIND_QUIETLY) 0105 else (PULSEAUDIO_FOUND) 0106 message(STATUS "Could NOT find PulseAudio") 0107 endif (PULSEAUDIO_FOUND) 0108 0109 mark_as_advanced(PULSEAUDIO_INCLUDE_DIR PULSEAUDIO_LIBRARY PULSEAUDIO_MAINLOOP_LIBRARY)