mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-07-16 10:03:35 -07:00
99 lines
2.5 KiB
CMake
99 lines
2.5 KiB
CMake
|
|
set(HEADER_FILES
|
|
include/chiaki/session.h
|
|
include/chiaki/common.h
|
|
include/chiaki/thread.h
|
|
include/chiaki/base64.h
|
|
include/chiaki/http.h
|
|
include/chiaki/log.h
|
|
include/chiaki/ctrl.h
|
|
include/chiaki/rpcrypt.h
|
|
include/chiaki/takion.h
|
|
include/chiaki/senkusha.h
|
|
include/chiaki/streamconnection.h
|
|
include/chiaki/ecdh.h
|
|
include/chiaki/launchspec.h
|
|
include/chiaki/random.h
|
|
include/chiaki/gkcrypt.h
|
|
include/chiaki/audio.h
|
|
include/chiaki/audioreceiver.h
|
|
include/chiaki/video.h
|
|
include/chiaki/videoreceiver.h
|
|
include/chiaki/frameprocessor.h
|
|
include/chiaki/seqnum.h
|
|
include/chiaki/discovery.h
|
|
include/chiaki/congestioncontrol.h
|
|
include/chiaki/stoppipe.h
|
|
include/chiaki/reorderqueue.h
|
|
include/chiaki/discoveryservice.h
|
|
include/chiaki/feedback.h
|
|
include/chiaki/feedbacksender.h
|
|
include/chiaki/controller.h
|
|
include/chiaki/takionsendbuffer.h
|
|
include/chiaki/time.h
|
|
include/chiaki/fec.h
|
|
include/chiaki/regist.h)
|
|
|
|
set(SOURCE_FILES
|
|
src/common.c
|
|
src/session.c
|
|
src/thread.c
|
|
src/base64.c
|
|
src/http.c
|
|
src/sessionlog.c
|
|
src/ctrl.c
|
|
src/rpcrypt.c
|
|
src/takion.c
|
|
src/senkusha.c
|
|
src/utils.h
|
|
src/pb_utils.h
|
|
src/streamconnection.c
|
|
src/ecdh.c
|
|
src/launchspec.c
|
|
src/random.c
|
|
src/gkcrypt.c
|
|
src/audio.c
|
|
src/audioreceiver.c
|
|
src/videoreceiver.c
|
|
src/frameprocessor.c
|
|
src/discovery.c
|
|
src/congestioncontrol.c
|
|
src/stoppipe.c
|
|
src/reorderqueue.c
|
|
src/discoveryservice.c
|
|
src/feedback.c
|
|
src/feedbacksender.c
|
|
src/controller.c
|
|
src/takionsendbuffer.c
|
|
src/time.c
|
|
src/fec
|
|
src/regist.c)
|
|
|
|
add_subdirectory(protobuf)
|
|
include_directories("${NANOPB_SOURCE_DIR}")
|
|
set_source_files_properties(${CHIAKI_LIB_PROTO_SOURCE_FILES} ${CHIAKI_LIB_PROTO_HEADER_FILES} PROPERTIES GENERATED TRUE)
|
|
include_directories("${CHIAKI_LIB_PROTO_INCLUDE_DIR}")
|
|
|
|
find_package(Opus REQUIRED)
|
|
include_directories(${Opus_INCLUDE_DIRS})
|
|
|
|
add_library(chiaki-lib ${HEADER_FILES} ${SOURCE_FILES} ${CHIAKI_LIB_PROTO_SOURCE_FILES} ${CHIAKI_LIB_PROTO_HEADER_FILES})
|
|
add_dependencies(chiaki-lib chiaki-pb)
|
|
set_target_properties(chiaki-lib PROPERTIES OUTPUT_NAME chiaki)
|
|
|
|
if(WIN32)
|
|
target_link_libraries(chiaki-lib wsock32 ws2_32 bcrypt)
|
|
endif()
|
|
|
|
target_include_directories(chiaki-lib PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
|
|
|
find_package(Threads REQUIRED)
|
|
target_link_libraries(chiaki-lib Threads::Threads)
|
|
|
|
find_package(OpenSSL REQUIRED)
|
|
target_link_libraries(chiaki-lib OpenSSL::Crypto)
|
|
|
|
target_link_libraries(chiaki-lib protobuf-nanopb-static)
|
|
target_link_libraries(chiaki-lib jerasure)
|
|
|
|
target_link_libraries(chiaki-lib ${Opus_LIBRARIES})
|