Files
snoop_device/CMakeLists.txt
2025-09-08 14:36:31 +03:00

40 lines
1.3 KiB
CMake

cmake_minimum_required( VERSION 3.22 )
project( snoop_device )
set( CMAKE_CXX_STANDARD 23 )
add_subdirectory( third_party/portaudio )
add_subdirectory( third_party/opus )
add_subdirectory( third_party/cpp-httplib )
add_subdirectory( third_party/nlohmann_json )
add_subdirectory( third_party/spdlog )
add_subdirectory( third_party/libogg )
add_subdirectory( third_party/socket.io-client-cpp )
option(USE_ALSA_ADAPTER "Use ALSA Adapter" OFF)
if(USE_ALSA_ADAPTER)
message(STATUS "Using ALSA Adapter")
add_definitions(-DUSE_ALSA_ADAPTER)
endif()
set( SOURCES
src/main.cpp
)
set( HEADERS
src/Concepts/AudioAdapterConcept.h
src/Concepts/AudioEncderConcept.h
src/Concepts/AudioWriterConcept.h
src/AudioAdapters/PortAudioAdapter.h
src/AudioAdapters/AlsaAudioAdapter.h
src/AudioEncoders/OpusEncoder.h
src/AudioWriters/OggAudioWriter.h
src/Services/AudioStreamService.h
src/Services/AudioWriterService.h
src/Services/ConfigService.h
)
add_executable( ${PROJECT_NAME} ${SOURCES} ${HEADERS} )
target_include_directories( ${PROJECT_NAME} PRIVATE src )
target_link_libraries( ${PROJECT_NAME} PRIVATE portaudio_static opus sioclient_tls nlohmann_json spdlog::spdlog_header_only Ogg::ogg httplib::httplib )