mirror of
https://github.com/gnif/LookingGlass.git
synced 2025-08-09 20:24:14 +00:00
[client] audio: initial addition of PipeWire audio support via SPICE
This commit is contained in:
43
client/audiodevs/CMakeLists.txt
Normal file
43
client/audiodevs/CMakeLists.txt
Normal file
@@ -0,0 +1,43 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(audiodevs LANGUAGES C)
|
||||
|
||||
set(AUDIODEV_H "${CMAKE_BINARY_DIR}/include/dynamic/audiodev.h")
|
||||
set(AUDIODEV_C "${CMAKE_BINARY_DIR}/src/audiodev.c")
|
||||
|
||||
file(WRITE ${AUDIODEV_H} "#include \"interface/audiodev.h\"\n\n")
|
||||
file(APPEND ${AUDIODEV_H} "extern struct LG_AudioDevOps * LG_AudioDevs[];\n\n")
|
||||
|
||||
file(WRITE ${AUDIODEV_C} "#include \"interface/audiodev.h\"\n\n")
|
||||
file(APPEND ${AUDIODEV_C} "#include <stddef.h>\n\n")
|
||||
|
||||
set(AUDIODEVS "_")
|
||||
set(AUDIODEVS_LINK "_")
|
||||
function(add_audiodev name)
|
||||
set(AUDIODEVS "${AUDIODEVS};${name}" PARENT_SCOPE)
|
||||
set(AUDIODEVS_LINK "${AUDIODEVS_LINK};audiodev_${name}" PARENT_SCOPE)
|
||||
add_subdirectory(${name})
|
||||
endfunction()
|
||||
|
||||
# Add/remove audiodevs here!
|
||||
if(ENABLE_PIPEWIRE)
|
||||
add_audiodev(PipeWire)
|
||||
endif()
|
||||
|
||||
list(REMOVE_AT AUDIODEVS 0)
|
||||
list(REMOVE_AT AUDIODEVS_LINK 0)
|
||||
|
||||
list(LENGTH AUDIODEVS AUDIODEV_COUNT)
|
||||
file(APPEND ${AUDIODEV_H} "#define LG_AUDIODEV_COUNT ${AUDIODEV_COUNT}\n")
|
||||
|
||||
foreach(audiodev ${AUDIODEVS})
|
||||
file(APPEND ${AUDIODEV_C} "extern struct LG_AudioDevOps LGAD_${audiodev};\n")
|
||||
endforeach()
|
||||
|
||||
file(APPEND ${AUDIODEV_C} "\nconst struct LG_AudioDevOps * LG_AudioDevs[] =\n{\n")
|
||||
foreach(audiodev ${AUDIODEVS})
|
||||
file(APPEND ${AUDIODEV_C} " &LGAD_${audiodev},\n")
|
||||
endforeach()
|
||||
file(APPEND ${AUDIODEV_C} " NULL\n};")
|
||||
|
||||
add_library(audiodevs STATIC ${AUDIODEV_C})
|
||||
target_link_libraries(audiodevs ${AUDIODEVS_LINK})
|
Reference in New Issue
Block a user