Add PipeWire driver to the build system

Signed-off-by: E. Melucci <eli@meluc.ci>
This commit is contained in:
Eli M 2021-09-16 17:06:26 +02:00 committed by E. Melucci
parent c831deb81c
commit 6292e2c04d
4 changed files with 26 additions and 0 deletions

View file

@ -88,6 +88,7 @@ option ( enable-winmidi "compile Windows MIDI support (if it is available)" on )
option ( enable-sdl2 "compile SDL2 audio support (if it is available)" on ) option ( enable-sdl2 "compile SDL2 audio support (if it is available)" on )
option ( enable-pkgconfig "use pkg-config to locate fluidsynth's (mostly optional) dependencies" on ) option ( enable-pkgconfig "use pkg-config to locate fluidsynth's (mostly optional) dependencies" on )
option ( enable-pulseaudio "compile PulseAudio support (if it is available)" on ) option ( enable-pulseaudio "compile PulseAudio support (if it is available)" on )
option ( enable-pipewire "compile PipeWire support (if it is available)" on )
option ( enable-readline "compile readline lib line editing (if it is available)" on ) option ( enable-readline "compile readline lib line editing (if it is available)" on )
option ( enable-threads "enable multi-threading support (such as parallel voice synthesis)" on ) option ( enable-threads "enable multi-threading support (such as parallel voice synthesis)" on )
option ( enable-openmp "enable OpenMP support (parallelization of soundfont decoding, vectorization of voice mixing, etc.)" on ) option ( enable-openmp "enable OpenMP support (parallelization of soundfont decoding, vectorization of voice mixing, etc.)" on )
@ -595,6 +596,14 @@ else(NOT enable-pkgconfig)
unset_pkg_config ( JACK ) unset_pkg_config ( JACK )
endif ( enable-jack ) endif ( enable-jack )
unset ( PIPEWIRE_SUPPORT CACHE )
if ( enable-pipewire )
pkg_check_modules ( PIPEWIRE libpipewire-0.3 )
set ( PIPEWIRE_SUPPORT ${PIPEWIRE_FOUND} )
else ( enable-pipewire )
unset_pkg_config ( PIPEWIRE )
endif ( enable-pipewire )
unset ( LASH_SUPPORT CACHE ) unset ( LASH_SUPPORT CACHE )
if ( enable-lash ) if ( enable-lash )
pkg_check_modules ( LASH lash-1.0>=0.3 ) pkg_check_modules ( LASH lash-1.0>=0.3 )
@ -830,6 +839,7 @@ link_directories (
${GLIB_LIBRARY_DIRS} ${GLIB_LIBRARY_DIRS}
${LASH_LIBRARY_DIRS} ${LASH_LIBRARY_DIRS}
${JACK_LIBRARY_DIRS} ${JACK_LIBRARY_DIRS}
${PIPEWIRE_LIBRARY_DIRS}
${ALSA_LIBRARY_DIRS} ${ALSA_LIBRARY_DIRS}
${PULSE_LIBRARY_DIRS} ${PULSE_LIBRARY_DIRS}
${PORTAUDIO_LIBRARY_DIRS} ${PORTAUDIO_LIBRARY_DIRS}

View file

@ -31,6 +31,12 @@ else ( JACK_SUPPORT )
set ( AUDIO_MIDI_REPORT "${AUDIO_MIDI_REPORT} JACK: no\n" ) set ( AUDIO_MIDI_REPORT "${AUDIO_MIDI_REPORT} JACK: no\n" )
endif ( JACK_SUPPORT ) endif ( JACK_SUPPORT )
if ( PIPEWIRE_SUPPORT )
set ( AUDIO_MIDI_REPORT "${AUDIO_MIDI_REPORT} PipeWire: yes\n" )
else ( PIPEWIRE_SUPPORT )
set ( AUDIO_MIDI_REPORT "${AUDIO_MIDI_REPORT} PipeWire: no\n" )
endif ( PIPEWIRE_SUPPORT )
if ( MIDISHARE_SUPPORT ) if ( MIDISHARE_SUPPORT )
set ( AUDIO_MIDI_REPORT "${AUDIO_MIDI_REPORT} MidiShare: yes\n" ) set ( AUDIO_MIDI_REPORT "${AUDIO_MIDI_REPORT} MidiShare: yes\n" )
else ( MIDISHARE_SUPPORT ) else ( MIDISHARE_SUPPORT )

View file

@ -75,6 +75,11 @@ if ( JACK_SUPPORT )
include_directories ( ${JACK_INCLUDE_DIRS} ) include_directories ( ${JACK_INCLUDE_DIRS} )
endif ( JACK_SUPPORT ) endif ( JACK_SUPPORT )
if ( PIPEWIRE_SUPPORT )
set ( fluid_pipewire_SOURCES drivers/fluid_pipewire.c )
include_directories ( SYSTEM ${PIPEWIRE_INCLUDE_DIRS} )
endif ( PIPEWIRE_SUPPORT )
if ( PORTAUDIO_SUPPORT ) if ( PORTAUDIO_SUPPORT )
set ( fluid_portaudio_SOURCES drivers/fluid_portaudio.c ) set ( fluid_portaudio_SOURCES drivers/fluid_portaudio.c )
include_directories ( ${PORTAUDIO_INCLUDE_DIRS} ) include_directories ( ${PORTAUDIO_INCLUDE_DIRS} )
@ -277,6 +282,7 @@ add_library ( libfluidsynth-OBJ OBJECT
${fluid_dart_SOURCES} ${fluid_dart_SOURCES}
${fluid_dbus_SOURCES} ${fluid_dbus_SOURCES}
${fluid_jack_SOURCES} ${fluid_jack_SOURCES}
${fluid_pipewire_SOURCES}
${fluid_lash_SOURCES} ${fluid_lash_SOURCES}
${fluid_midishare_SOURCES} ${fluid_midishare_SOURCES}
${fluid_opensles_SOURCES} ${fluid_opensles_SOURCES}
@ -353,6 +359,7 @@ target_link_libraries ( libfluidsynth
${GMODULE_LIBRARIES} ${GMODULE_LIBRARIES}
${LASH_LIBRARIES} ${LASH_LIBRARIES}
${JACK_LIBRARIES} ${JACK_LIBRARIES}
${PIPEWIRE_LIBRARIES}
${ALSA_LIBRARIES} ${ALSA_LIBRARIES}
${PULSE_LIBRARIES} ${PULSE_LIBRARIES}
${PORTAUDIO_LIBRARIES} ${PORTAUDIO_LIBRARIES}

View file

@ -130,6 +130,9 @@
/* Define to enable JACK driver */ /* Define to enable JACK driver */
#cmakedefine JACK_SUPPORT @JACK_SUPPORT@ #cmakedefine JACK_SUPPORT @JACK_SUPPORT@
/* Define to enable PipeWire driver */
#cmakedefine PIPEWIRE_SUPPORT @PIPEWIRE_SUPPORT@
/* Include the LADSPA Fx unit */ /* Include the LADSPA Fx unit */
#cmakedefine LADSPA @LADSPA_SUPPORT@ #cmakedefine LADSPA @LADSPA_SUPPORT@