# This file is part of Desktop App Toolkit, # a set of libraries for developing nice desktop applications. # # For license and copyright information please follow this link: # https://github.com/desktop-app/legal/blob/master/LEGAL add_library(external_webrtc INTERFACE IMPORTED GLOBAL) add_library(desktop-app::external_webrtc ALIAS external_webrtc) set(webrtc_loc ${libs_loc}/webrtc/src) set(webrtc_build_loc ${webrtc_loc}/out/$/obj) target_compile_definitions(external_webrtc INTERFACE WEBRTC_ENABLE_PROTOBUF=0 WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE RTC_ENABLE_VP9 HAVE_SCTP WEBRTC_USE_H264 WEBRTC_LIBRARY_IMPL WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=1 ABSL_ALLOCATOR_NOTHROW=1 ) if (WIN32) set(webrtc_lib_prefix "") set(webrtc_lib_suffix .lib) target_compile_definitions(external_webrtc INTERFACE WEBRTC_WIN ) else() set(webrtc_lib_prefix lib) set(webrtc_lib_suffix .a) if (APPLE) target_compile_definitions(external_webrtc INTERFACE WEBRTC_MAC ) else() target_compile_definitions(external_webrtc INTERFACE WEBRTC_LINUX ) endif() target_compile_definitions(external_webrtc INTERFACE WEBRTC_POSIX ) endif() target_include_directories(external_webrtc INTERFACE ${webrtc_loc} ${webrtc_loc}/third_party/abseil-cpp ) set(webrtc_libs ${webrtc_lib_prefix}webrtc ) if (WIN32) list(APPEND webrtc_libs test/${webrtc_lib_prefix}platform_video_capturer test/${webrtc_lib_prefix}video_test_common ) elseif (APPLE) list(APPEND webrtc_libs sdk/${webrtc_lib_prefix}native_video sdk/${webrtc_lib_prefix}videoframebuffer_objc sdk/${webrtc_lib_prefix}videocapture_objc sdk/${webrtc_lib_prefix}videocodec_objc sdk/${webrtc_lib_prefix}videotoolbox_objc sdk/${webrtc_lib_prefix}video_toolbox_cc sdk/${webrtc_lib_prefix}vpx_codec_constants sdk/${webrtc_lib_prefix}native_api sdk/${webrtc_lib_prefix}vp8 sdk/${webrtc_lib_prefix}vp9 sdk/${webrtc_lib_prefix}wrapped_native_codec_objc ) target_include_directories(external_webrtc INTERFACE ${webrtc_loc}/sdk/objc ${webrtc_loc}/sdk/objc/base ${webrtc_loc}/sdk/objc/components/video_codec ${webrtc_loc}/third_party/libyuv/include ) endif() foreach (lib ${webrtc_libs}) list(APPEND webrtc_libs_list "${webrtc_build_loc}/${lib}${webrtc_lib_suffix}") endforeach() if (WIN32) target_link_libraries(external_webrtc INTERFACE Secur32.lib # Required for rtc_base/http_common.cc dmoguids.lib # Required for the built-in WASAPI AEC, see modules/audio_device/BUILD.gn wmcodecdspuuid.lib amstrmid.lib msdmo.lib ) endif() target_link_libraries(external_webrtc INTERFACE ${webrtc_libs_list} desktop-app::external_openssl )