mirror of
https://github.com/badaix/snapcast.git
synced 2025-04-28 17:57:05 +02:00
122 lines
4.2 KiB
CMake
122 lines
4.2 KiB
CMake
set(SERVER_SOURCES
|
|
config.cpp
|
|
control_server.cpp
|
|
control_session_tcp.cpp
|
|
control_session_http.cpp
|
|
control_session_ws.cpp
|
|
snapserver.cpp
|
|
server.cpp
|
|
stream_server.cpp
|
|
stream_session.cpp
|
|
stream_session_tcp.cpp
|
|
stream_session_ws.cpp
|
|
encoder/encoder_factory.cpp
|
|
encoder/pcm_encoder.cpp
|
|
encoder/null_encoder.cpp
|
|
streamreader/base64.cpp
|
|
streamreader/control_error.cpp
|
|
streamreader/stream_control.cpp
|
|
streamreader/stream_uri.cpp
|
|
streamreader/stream_manager.cpp
|
|
streamreader/pcm_stream.cpp
|
|
streamreader/tcp_stream.cpp
|
|
streamreader/pipe_stream.cpp
|
|
streamreader/posix_stream.cpp
|
|
streamreader/file_stream.cpp
|
|
streamreader/airplay_stream.cpp
|
|
streamreader/librespot_stream.cpp
|
|
streamreader/meta_stream.cpp
|
|
streamreader/watchdog.cpp
|
|
streamreader/properties.cpp
|
|
streamreader/metadata.cpp
|
|
streamreader/process_stream.cpp)
|
|
|
|
set(SERVER_LIBRARIES
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
${ATOMIC_LIBRARY}
|
|
common)
|
|
|
|
set(SERVER_INCLUDE
|
|
${Boost_INCLUDE_DIR}
|
|
${CMAKE_SOURCE_DIR}/server
|
|
${CMAKE_SOURCE_DIR}/common)
|
|
|
|
if (ANDROID)
|
|
find_package(vorbis REQUIRED CONFIG)
|
|
list(APPEND SERVER_LIBRARIES boost::boost)
|
|
list(APPEND SERVER_LIBRARIES flac::flac)
|
|
list(APPEND SERVER_LIBRARIES opus::opus)
|
|
list(APPEND SERVER_LIBRARIES ogg::ogg)
|
|
list(APPEND SERVER_LIBRARIES vorbis::vorbis)
|
|
list(APPEND SERVER_SOURCES encoder/flac_encoder.cpp)
|
|
list(APPEND SERVER_SOURCES encoder/ogg_encoder.cpp)
|
|
list(APPEND SERVER_SOURCES encoder/opus_encoder.cpp)
|
|
|
|
else()
|
|
# Avahi
|
|
if (AVAHI_FOUND)
|
|
list(APPEND SERVER_SOURCES publishZeroConf/publish_avahi.cpp)
|
|
list(APPEND SERVER_LIBRARIES ${AVAHI_LIBRARIES})
|
|
list(APPEND SERVER_INCLUDE ${AVAHI_INCLUDE_DIRS})
|
|
endif (AVAHI_FOUND)
|
|
|
|
if (BONJOUR_FOUND)
|
|
list(APPEND SERVER_SOURCES publishZeroConf/publish_bonjour.cpp)
|
|
# list(APPEND SERVER_LIBRARIES ${BONJOUR_LIBRARIES})
|
|
# list(APPEND SERVER_INCLUDE ${BONJOUR_INCLUDE_DIRS})
|
|
endif (BONJOUR_FOUND)
|
|
|
|
if (OGG_FOUND AND VORBIS_FOUND AND VORBISENC_FOUND)
|
|
list(APPEND SERVER_SOURCES encoder/ogg_encoder.cpp)
|
|
list(APPEND SERVER_LIBRARIES
|
|
${OGG_LIBRARIES}
|
|
${VORBIS_LIBRARIES}
|
|
${VORBISENC_LIBRARIES})
|
|
list(APPEND SERVER_INCLUDE
|
|
${OGG_INCLUDE_DIRS}
|
|
${VORBIS_INCLUDE_DIRS}
|
|
${VORBISENC_INCLUDE_DIRS})
|
|
endif (OGG_FOUND AND VORBIS_FOUND AND VORBISENC_FOUND)
|
|
|
|
if (FLAC_FOUND)
|
|
list(APPEND SERVER_SOURCES encoder/flac_encoder.cpp)
|
|
list(APPEND SERVER_LIBRARIES ${FLAC_LIBRARIES})
|
|
list(APPEND SERVER_INCLUDE ${FLAC_INCLUDE_DIRS})
|
|
endif (FLAC_FOUND)
|
|
|
|
if (OPUS_FOUND)
|
|
list(APPEND SERVER_SOURCES encoder/opus_encoder.cpp)
|
|
list(APPEND SERVER_LIBRARIES ${OPUS_LIBRARIES})
|
|
list(APPEND SERVER_INCLUDE ${OPUS_INCLUDE_DIRS})
|
|
endif (OPUS_FOUND)
|
|
|
|
if (ALSA_FOUND)
|
|
list(APPEND SERVER_SOURCES streamreader/alsa_stream.cpp)
|
|
list(APPEND SERVER_LIBRARIES ${ALSA_LIBRARIES})
|
|
list(APPEND SERVER_INCLUDE ${ALSA_INCLUDE_DIRS})
|
|
endif (ALSA_FOUND)
|
|
|
|
if (EXPAT_FOUND)
|
|
list(APPEND SERVER_LIBRARIES ${EXPAT_LIBRARIES})
|
|
list(APPEND SERVER_INCLUDE ${EXPAT_INCLUDE_DIRS})
|
|
endif (EXPAT_FOUND)
|
|
endif()
|
|
|
|
#list(APPEND SERVER_LIBRARIES Boost::boost)
|
|
|
|
include_directories(${SERVER_INCLUDE})
|
|
if (ANDROID)
|
|
add_executable(libsnapserver.so ${SERVER_SOURCES})
|
|
target_link_libraries(libsnapserver.so ${SERVER_LIBRARIES} log)
|
|
else()
|
|
add_executable(snapserver ${SERVER_SOURCES})
|
|
target_link_libraries(snapserver ${SERVER_LIBRARIES})
|
|
|
|
install(TARGETS snapserver COMPONENT server DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
install(FILES snapserver.1 COMPONENT server DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
|
install(FILES etc/snapserver.conf COMPONENT server DESTINATION ${CMAKE_INSTALL_SYSCONFDIR})
|
|
install(FILES etc/index.html COMPONENT server DESTINATION ${CMAKE_INSTALL_DATADIR}/snapserver)
|
|
install(DIRECTORY etc/snapweb/ DESTINATION ${CMAKE_INSTALL_DATADIR}/snapserver/snapweb)
|
|
install(DIRECTORY etc/plug-ins/ DESTINATION ${CMAKE_INSTALL_DATADIR}/snapserver/plug-ins)
|
|
#install(FILES ../debian/snapserver.service DESTINATION ${SYSTEMD_SERVICES_INSTALL_DIR})
|
|
endif()
|