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