Matthew Woehlke wrote:
Matthew Woehlke wrote:
I've had a kdemultimedia build failure for a while. The problem is that pulse-mainloop-glib is not added to the libraries to link.

How should this be fixed? Should FindPulseAudio.cmake look for it, or should there be a (mouthful!) FindPulseAudioMainloopGlib.cmake? (FWIW, there is a separate .pc for pulse-mainloop-glib.)

Apparently PA is usable without pulse-mainloop-glib, so I don't think adding that library to the generic Pulse libraries is desirable.

Currently, I have this patch,

Ahem :-).

which fixes compilation for me. I'm disinclined to use only "MAINLOOP" versus "MAINLOOP_GLIB", since that does not match the library name (and on the theory that is was named -glib for a reason, i.e. there might some day be a library named mainloop-something_else).

Please let me know if this looks like a good idea. (An alternative could be to fold FindPulseAudioMainloopGlib into FindPulseAudio, with the same variable names, and keeping them separate, i.e. PULSE_FOUND could be true but PULSE_MAINLOOP_GLIB_FOUND could be false.)

--
Matthew
Please do not quote my e-mail address unobfuscated in message bodies.
--
"Ah, yes. Control the media and you control the world."
  -- from a story by Raven Blackmane
Index: cmake/modules/FindPulseAudioMainloopGlib.cmake
===================================================================
--- cmake/modules/FindPulseAudioMainloopGlib.cmake      (revision 0)
+++ cmake/modules/FindPulseAudioMainloopGlib.cmake      (revision 0)
@@ -0,0 +1,56 @@
+# Try to find the PulseAudio library
+#
+# Once done this will define:
+#
+#  PULSEAUDIO_MAINLOOP_GLIB_FOUND - system has the PulseAudio library
+#  PULSEAUDIO_MAINLOOP_GLIB_INCLUDE_DIR - the PulseAudio include directory
+#  PULSEAUDIO_MAINLOOP_GLIB_LIBRARY - the libraries needed to use PulseAudio
+#
+# Copyright 2008 Matthias Kretz <[email protected]>
+# Copyright 2009 Matthew Woehlke <[email protected])
+#
+# 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 "0.9.9")
+endif (NOT PULSEAUDIO_MINIMUM_VERSION)
+if (NOT PULSEAUDIO_MAINLOOP_GLIB_MINIMUM_VERSION)
+  set(PULSEAUDIO_MAINLOOP_GLIB_MINIMUM_VERSION ${PULSEAUDIO_MINIMUM_VERSION})
+endif (NOT PULSEAUDIO_MAINLOOP_GLIB_MINIMUM_VERSION)
+
+if (PULSEAUDIO_MAINLOOP_GLIB_INCLUDE_DIR AND PULSEAUDIO_MAINLOOP_GLIB_LIBRARY)
+   # Already in cache, be silent
+   set(PULSEAUDIO_MAINLOOP_GLIB_FIND_QUIETLY TRUE)
+endif (PULSEAUDIO_MAINLOOP_GLIB_INCLUDE_DIR AND 
PULSEAUDIO_MAINLOOP_GLIB_LIBRARY)
+
+if (NOT WIN32)
+   include(FindPkgConfig)
+   pkg_check_modules(PULSEAUDIO_MAINLOOP_GLIB 
libpulse-mainloop-glib>=${PULSEAUDIO_MAINLOOP_GLIB_MINIMUM_VERSION})
+   if(PULSEAUDIO_MAINLOOP_GLIB_FOUND)
+      set(PULSEAUDIO_MAINLOOP_GLIB_LIBRARY 
${PULSEAUDIO_MAINLOOP_GLIB_LIBRARIES} CACHE FILEPATH "Path to the 
PulseAudio-glib2 library")
+      set(PULSEAUDIO_MAINLOOP_GLIB_INCLUDE_DIR 
${PULSEAUDIO_MAINLOOP_GLIB_INCLUDEDIR} CACHE PATH "Path to the PulseAudio-glib2 
includes")
+   endif(PULSEAUDIO_MAINLOOP_GLIB_FOUND)
+else (NOT WIN32)
+
+  if (NOT PULSEAUDIO_MAINLOOP_GLIB_INCLUDE_DIR)
+     FIND_PATH(PULSEAUDIO_MAINLOOP_GLIB_INCLUDE_DIR pulse/glib-mainloop.h)
+  endif (NOT PULSEAUDIO_MAINLOOP_GLIB_INCLUDE_DIR)
+
+  if (NOT PULSEAUDIO_MAINLOOP_GLIB_LIBRARY)
+     FIND_LIBRARY(PULSEAUDIO_MAINLOOP_GLIB_LIBRARY NAMES pulse-mainloop-glib)
+  endif (NOT PULSEAUDIO_MAINLOOP_GLIB_LIBRARY)
+
+  if (PULSEAUDIO_MAINLOOP_GLIB_INCLUDE_DIR AND 
PULSEAUDIO_MAINLOOP_GLIB_LIBRARY)
+     set(PULSEAUDIO_MAINLOOP_GLIB_FOUND TRUE)
+  else (PULSEAUDIO_MAINLOOP_GLIB_INCLUDE_DIR AND 
PULSEAUDIO_MAINLOOP_GLIB_LIBRARY)
+     set(PULSEAUDIO_MAINLOOP_GLIB_FOUND FALSE)
+  endif (PULSEAUDIO_MAINLOOP_GLIB_INCLUDE_DIR AND 
PULSEAUDIO_MAINLOOP_GLIB_LIBRARY)
+endif( NOT WIN32)
+if (PULSEAUDIO_MAINLOOP_GLIB_FOUND)
+   if (NOT PULSEAUDIO_MAINLOOP_GLIB_FIND_QUIETLY)
+      message(STATUS "Found PulseAudio-glib2: 
${PULSEAUDIO_MAINLOOP_GLIB_LIBRARY}")
+   endif (NOT PULSEAUDIO_MAINLOOP_GLIB_FIND_QUIETLY)
+else (PULSEAUDIO_MAINLOOP_GLIB_FOUND)
+   message(STATUS "Could NOT find PulseAudio-glib2")
+endif (PULSEAUDIO_MAINLOOP_GLIB_FOUND)
Index: kmix/tests/CMakeLists.txt
===================================================================
--- kmix/tests/CMakeLists.txt   (revision 910300)
+++ kmix/tests/CMakeLists.txt   (working copy)
@@ -28,7 +28,7 @@
 endif (HAVE_LIBASOUND2)
 
 if (HAVE_PULSE)
-    target_link_libraries(profiletest ${PULSEAUDIO_LIBRARY} 
${PULSEAUDIO_MAINLOOP_LIBRARY} ${GLIB2_LIBRARIES})
+    target_link_libraries(profiletest ${PULSEAUDIO_LIBRARY} 
${PULSEAUDIO_MAINLOOP_GLIB_LIBRARY} ${GLIB2_LIBRARIES})
 endif (HAVE_PULSE)
 
 ########### next target ###############
Index: kmix/CMakeLists.txt
===================================================================
--- kmix/CMakeLists.txt (revision 910300)
+++ kmix/CMakeLists.txt (working copy)
@@ -47,7 +47,7 @@
 endif (HAVE_LIBASOUND2)
 
 if (HAVE_PULSE)
-    target_link_libraries(kdeinit_kmix ${PULSEAUDIO_LIBRARY} 
${PULSEAUDIO_MAINLOOP_LIBRARY} ${GLIB2_LIBRARIES})
+    target_link_libraries(kdeinit_kmix ${PULSEAUDIO_LIBRARY} 
${PULSEAUDIO_MAINLOOP_GLIB_LIBRARY} ${GLIB2_LIBRARIES})
 endif (HAVE_PULSE)
 
 
@@ -80,7 +80,7 @@
 endif (HAVE_LIBASOUND2)
 
 if (HAVE_PULSE)
-    target_link_libraries(kdeinit_kmixctrl ${PULSEAUDIO_LIBRARY} 
${PULSEAUDIO_MAINLOOP_LIBRARY} ${GLIB2_LIBRARIES})
+    target_link_libraries(kdeinit_kmixctrl ${PULSEAUDIO_LIBRARY} 
${PULSEAUDIO_MAINLOOP_GLIB_LIBRARY} ${GLIB2_LIBRARIES})
 endif (HAVE_PULSE)
 
 install(TARGETS kdeinit_kmix  DESTINATION ${LIB_INSTALL_DIR} )
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt      (revision 910300)
+++ CMakeLists.txt      (working copy)
@@ -10,6 +10,7 @@
 
 set(PULSEAUDIO_MINIMUM_VERSION "0.9.12")
 find_package(PulseAudio)
+find_package(PulseAudioMainloopGlib)
 find_package(GLIB2)
 macro_optional_find_package(MusicBrainz)
 macro_log_feature(MUSICBRAINZ_FOUND "MusicBrainz" "A library that provides 
access to metadata lookup on the MusicBrainz server" 
"http://www.musicbrainz.org"; FALSE "" "Music metadata lookup for KDE multimedia 
applications. You need version 2.x of libmusicbrainz.")
_______________________________________________
Kde-buildsystem mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-buildsystem

Reply via email to