Merge pull request #1837 from wasphin/feature/cmake-fix-sctp

修正启用 SCTP 后编译问题
This commit is contained in:
Xiaofeng Wang 2022-07-29 08:05:14 +08:00 committed by GitHub
commit 9ea98642c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 5 deletions

View File

@ -14,7 +14,7 @@ jobs:
run: mv -f .gitmodules_github .gitmodules && git submodule sync && git submodule update --init
- name: apt-get安装依赖库(非必选)
run: sudo apt-get update && sudo apt-get install -y cmake libssl-dev libsdl-dev libavcodec-dev libavutil-dev libswscale-dev libresample-dev
run: sudo apt-get update && sudo apt-get install -y cmake libssl-dev libsdl-dev libavcodec-dev libavutil-dev libswscale-dev libresample-dev libusrsctp-dev
- name: 下载 SRTP
uses: actions/checkout@v2

View File

@ -35,12 +35,17 @@ include_directories(SYSTEM ${SRTP_INCLUDE_DIRS})
set(LINK_LIBRARIES ${SRTP_LIBRARIES})
set(COMPILE_DEFINITIONS)
set(INCLUDE_DIRECTORIES)
find_package(SCTP QUIET)
if(SCTP_FOUND)
message(STATUS "found library: ${SCTP_INCLUDE_DIRS} ${SCTP_LIBRARIES}")
include_directories(SYSTEM ${SCTP_INCLUDE_DIRS})
update_cached_list(MK_COMPILE_DEFINITIONS ENABLE_SCTP)
update_cached_list(LINK_LIBRARIES ${SCTP_LIBRARIES})
# TODO: SCTP WebRTC
list(APPEND COMPILE_DEFINITIONS ENABLE_SCTP)
list(APPEND INCLUDE_DIRECTORIES ${SCTP_INCLUDE_DIRS})
list(APPEND LINK_LIBRARIES ${SCTP_LIBRARIES})
message(STATUS "WebRTC datachannel 功能已打开")
endif()
@ -50,19 +55,22 @@ file(GLOB WEBRTC_SRC_LIST
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
add_library(webrtc ${WEBRTC_SRC_LIST})
add_library(ZLMediaKit::WebRTC ALIAS webrtc)
target_compile_definitions(webrtc
# ENABLE_SCTP
PUBLIC ${COMPILE_DEFINITIONS})
target_compile_options(webrtc
PRIVATE ${COMPILE_OPTIONS_DEFAULT})
target_link_libraries(webrtc
PRIVATE
ZLMediaKit::MediaKit
ZLMediaKit::ToolKit
PUBLIC
${LINK_LIBRARIES})
target_include_directories(webrtc
PRIVATE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>")
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>"
${INCLUDE_DIRECTORIES})
message(STATUS "WebRTC 功能已开启")