Add build options for libtgvoip backends
libtgvoip has options to disbale some backends, but they never were exposed via tdesktop's cmake Since libtgvoip autoconf build system doesn't work anymore, it's worth to have these options in tdesktop's cmake.
This commit is contained in:
parent
3d1cddaca5
commit
3f25e92afd
|
@ -65,6 +65,8 @@ jobs:
|
||||||
- "DESKTOP_APP_DISABLE_X11_INTEGRATION"
|
- "DESKTOP_APP_DISABLE_X11_INTEGRATION"
|
||||||
- "DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION"
|
- "DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION"
|
||||||
- "DESKTOP_APP_DISABLE_GTK_INTEGRATION"
|
- "DESKTOP_APP_DISABLE_GTK_INTEGRATION"
|
||||||
|
- "LIBTGVOIP_DISABLE_ALSA"
|
||||||
|
- "LIBTGVOIP_DISABLE_PULSEAUDIO"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
UPLOAD_ARTIFACT: "false"
|
UPLOAD_ARTIFACT: "false"
|
||||||
|
|
|
@ -27,6 +27,9 @@ if (NOT TGVOIP_FOUND)
|
||||||
init_target(lib_tgvoip_bundled cxx_std_14) # Can't use std::optional::value on macOS.
|
init_target(lib_tgvoip_bundled cxx_std_14) # Can't use std::optional::value on macOS.
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
option(LIBTGVOIP_DISABLE_ALSA "Disable libtgvoip's ALSA backend (Linux only)." OFF)
|
||||||
|
option(LIBTGVOIP_DISABLE_PULSEAUDIO "Disable libtgvoip's PulseAudio backend (Linux only)." OFF)
|
||||||
|
|
||||||
set(tgvoip_loc ${third_party_loc}/libtgvoip)
|
set(tgvoip_loc ${third_party_loc}/libtgvoip)
|
||||||
|
|
||||||
nice_target_sources(lib_tgvoip_bundled ${tgvoip_loc}
|
nice_target_sources(lib_tgvoip_bundled ${tgvoip_loc}
|
||||||
|
@ -180,16 +183,37 @@ if (NOT TGVOIP_FOUND)
|
||||||
)
|
)
|
||||||
|
|
||||||
if (LINUX)
|
if (LINUX)
|
||||||
find_package(PkgConfig REQUIRED)
|
if (NOT LIBTGVOIP_DISABLE_ALSA)
|
||||||
find_package(ALSA REQUIRED)
|
find_package(ALSA REQUIRED)
|
||||||
pkg_check_modules(PULSE REQUIRED libpulse)
|
target_include_directories(lib_tgvoip_bundled PRIVATE ${ALSA_INCLUDE_DIRS})
|
||||||
|
else()
|
||||||
target_include_directories(lib_tgvoip_bundled
|
remove_target_sources(lib_tgvoip_bundled ${tgvoip_loc}
|
||||||
PRIVATE
|
os/linux/AudioInputALSA.cpp
|
||||||
${ALSA_INCLUDE_DIRS}
|
os/linux/AudioInputALSA.h
|
||||||
${PULSE_INCLUDE_DIRS}
|
os/linux/AudioOutputALSA.cpp
|
||||||
|
os/linux/AudioOutputALSA.h
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_compile_definitions(lib_tgvoip_bundled PRIVATE WITHOUT_ALSA)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT LIBTGVOIP_DISABLE_PULSEAUDIO)
|
||||||
|
find_package(PkgConfig REQUIRED)
|
||||||
|
pkg_check_modules(PULSE REQUIRED libpulse)
|
||||||
|
target_include_directories(lib_tgvoip_bundled PRIVATE ${PULSE_INCLUDE_DIRS})
|
||||||
|
else()
|
||||||
|
remove_target_sources(lib_tgvoip_bundled ${tgvoip_loc}
|
||||||
|
os/linux/AudioOutputPulse.cpp
|
||||||
|
os/linux/AudioOutputPulse.h
|
||||||
|
os/linux/AudioInputPulse.cpp
|
||||||
|
os/linux/AudioInputPulse.h
|
||||||
|
os/linux/AudioPulse.cpp
|
||||||
|
os/linux/AudioPulse.h
|
||||||
|
)
|
||||||
|
|
||||||
|
target_compile_definitions(lib_tgvoip_bundled PRIVATE WITHOUT_PULSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_link_libraries(lib_tgvoip_bundled
|
target_link_libraries(lib_tgvoip_bundled
|
||||||
PRIVATE
|
PRIVATE
|
||||||
${CMAKE_DL_LIBS}
|
${CMAKE_DL_LIBS}
|
||||||
|
|
Loading…
Reference in New Issue