summaryrefslogtreecommitdiffstats
path: root/kdelibs/FindPulseAudio.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'kdelibs/FindPulseAudio.cmake')
-rw-r--r--kdelibs/FindPulseAudio.cmake76
1 files changed, 76 insertions, 0 deletions
diff --git a/kdelibs/FindPulseAudio.cmake b/kdelibs/FindPulseAudio.cmake
new file mode 100644
index 000000000..d0392420b
--- /dev/null
+++ b/kdelibs/FindPulseAudio.cmake
@@ -0,0 +1,76 @@
+# Try to find the PulseAudio library
+#
+# Once done this will define:
+#
+# PULSEAUDIO_FOUND - system has the PulseAudio library
+# PULSEAUDIO_INCLUDE_DIR - the PulseAudio include directory
+# PULSEAUDIO_LIBRARY - the libraries needed to use PulseAudio
+# PULSEAUDIO_MAINLOOP_LIBRARY - the libraries needed to use PulsAudio Mailoop
+#
+# Copyright (c) 2008, Matthias Kretz, <kretz@kde.org>
+# Copyright (c) 2009, Marcus Hufgard, <Marcus.Hufgard@hufgard.de>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if (NOT PULSEAUDIO_MINIMUM_VERSION)
+ set(PULSEAUDIO_MINIMUM_VERSION "1.0")
+endif (NOT PULSEAUDIO_MINIMUM_VERSION)
+
+if (PULSEAUDIO_INCLUDE_DIR AND PULSEAUDIO_LIBRARY AND PULSEAUDIO_MAINLOOP_LIBRARY)
+ # Already in cache, be silent
+ set(PULSEAUDIO_FIND_QUIETLY TRUE)
+endif (PULSEAUDIO_INCLUDE_DIR AND PULSEAUDIO_LIBRARY AND PULSEAUDIO_MAINLOOP_LIBRARY)
+
+if (NOT WIN32)
+ include(FindPkgConfig)
+ pkg_check_modules(PC_PULSEAUDIO libpulse>=${PULSEAUDIO_MINIMUM_VERSION})
+ pkg_check_modules(PC_PULSEAUDIO_MAINLOOP libpulse-mainloop-glib)
+endif (NOT WIN32)
+
+FIND_PATH(PULSEAUDIO_INCLUDE_DIR pulse/pulseaudio.h
+ HINTS
+ ${PC_PULSEAUDIO_INCLUDEDIR}
+ ${PC_PULSEAUDIO_INCLUDE_DIRS}
+ )
+
+FIND_LIBRARY(PULSEAUDIO_LIBRARY NAMES pulse libpulse
+ HINTS
+ ${PC_PULSEAUDIO_LIBDIR}
+ ${PC_PULSEAUDIO_LIBRARY_DIRS}
+ )
+
+FIND_LIBRARY(PULSEAUDIO_MAINLOOP_LIBRARY NAMES pulse-mainloop pulse-mainloop-glib libpulse-mainloop-glib
+ HINTS
+ ${PC_PULSEAUDIO_LIBDIR}
+ ${PC_PULSEAUDIO_LIBRARY_DIRS}
+ )
+
+if (PULSEAUDIO_INCLUDE_DIR AND PULSEAUDIO_LIBRARY)
+ include(MacroEnsureVersion)
+
+ # get PulseAudio's version from its version.h, and compare it with our minimum version
+ file(STRINGS "${PULSEAUDIO_INCLUDE_DIR}/pulse/version.h" pulse_version_h
+ REGEX ".*pa_get_headers_version\\(\\).*"
+ )
+ string(REGEX REPLACE ".*pa_get_headers_version\\(\\)\ \\(\"([0-9]+\\.[0-9]+)\"\\).*" "\\1"
+ PULSEAUDIO_VERSION "${pulse_version_h}")
+ macro_ensure_version("${PULSEAUDIO_MINIMUM_VERSION}" "${PULSEAUDIO_VERSION}" PULSEAUDIO_FOUND)
+else (PULSEAUDIO_INCLUDE_DIR AND PULSEAUDIO_LIBRARY)
+ set(PULSEAUDIO_FOUND FALSE)
+endif (PULSEAUDIO_INCLUDE_DIR AND PULSEAUDIO_LIBRARY)
+
+if (PULSEAUDIO_FOUND)
+ if (NOT PULSEAUDIO_FIND_QUIETLY)
+ message(STATUS "Found PulseAudio: ${PULSEAUDIO_LIBRARY}")
+ if (PULSEAUDIO_MAINLOOP_LIBRARY)
+ message(STATUS "Found PulseAudio Mainloop: ${PULSEAUDIO_MAINLOOP_LIBRARY}")
+ else (PULSAUDIO_MAINLOOP_LIBRARY)
+ message(STATUS "Could NOT find PulseAudio Mainloop Library")
+ endif (PULSEAUDIO_MAINLOOP_LIBRARY)
+ endif (NOT PULSEAUDIO_FIND_QUIETLY)
+else (PULSEAUDIO_FOUND)
+ message(STATUS "Could NOT find PulseAudio")
+endif (PULSEAUDIO_FOUND)
+
+mark_as_advanced(PULSEAUDIO_INCLUDE_DIR PULSEAUDIO_LIBRARY PULSEAUDIO_MAINLOOP_LIBRARY)