From d955882cb4d4c94f61a9b1df62b7f93d3c5bff7d Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Sat, 29 Aug 2020 20:48:37 +0400 Subject: [PATCH] Update webrtc packaged build for tg_owt --- external/webrtc/CMakeLists.txt | 136 ++++++++++++++++----------------- variables.cmake | 1 - 2 files changed, 68 insertions(+), 69 deletions(-) diff --git a/external/webrtc/CMakeLists.txt b/external/webrtc/CMakeLists.txt index 1273291..a354057 100644 --- a/external/webrtc/CMakeLists.txt +++ b/external/webrtc/CMakeLists.txt @@ -7,96 +7,96 @@ add_library(external_webrtc INTERFACE IMPORTED GLOBAL) add_library(desktop-app::external_webrtc ALIAS external_webrtc) -if (DESKTOP_APP_WEBRTC_LOCATION) - set(webrtc_loc ${DESKTOP_APP_WEBRTC_LOCATION}) +if (DESKTOP_APP_USE_PACKAGED) + find_package(tg_owt REQUIRED) + target_link_libraries(external_webrtc INTERFACE tg_owt::tg_owt) else() set(webrtc_loc ${libs_loc}/tg_owt/src) -endif() - -set(webrtc_build_loc ${libs_loc}/tg_owt/out/$) - -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) + set(webrtc_build_loc ${libs_loc}/tg_owt/out/$) target_compile_definitions(external_webrtc INTERFACE - WEBRTC_WIN + 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 ) -else() - set(webrtc_lib_prefix lib) - set(webrtc_lib_suffix .a) - if (APPLE) + if (WIN32) + set(webrtc_lib_prefix "") + set(webrtc_lib_suffix .lib) + target_compile_definitions(external_webrtc INTERFACE - WEBRTC_MAC + 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_LINUX + WEBRTC_POSIX ) 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}tg_owt -) -if (APPLE) 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 + ${webrtc_loc} + ${webrtc_loc}/third_party/abseil-cpp ) -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 + set(webrtc_libs + ${webrtc_lib_prefix}tg_owt ) -elseif (APPLE) + if (APPLE) + 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 + ) + elseif (APPLE) + target_link_libraries(external_webrtc + INTERFACE + -ObjC + ) + endif() + target_link_libraries(external_webrtc INTERFACE - -ObjC + ${webrtc_libs_list} + desktop-app::external_openssl ) endif() - -target_link_libraries(external_webrtc -INTERFACE - ${webrtc_libs_list} - desktop-app::external_openssl -) diff --git a/variables.cmake b/variables.cmake index 04a18bd..9e7f41f 100644 --- a/variables.cmake +++ b/variables.cmake @@ -40,7 +40,6 @@ option(DESKTOP_APP_DISABLE_AUTOUPDATE "Disable autoupdate." ${disable_autoupdate option(DESKTOP_APP_USE_HUNSPELL_ONLY "Disable system spellchecker and use bundled Hunspell only. (For debugging purposes)" OFF) option(DESKTOP_APP_USE_ENCHANT "Use Enchant instead of bundled Hunspell. (Linux only)" OFF) set(DESKTOP_APP_QTWAYLANDCLIENT_PRIVATE_HEADERS "" CACHE STRING "QtWaylandClient headers location.") -set(DESKTOP_APP_WEBRTC_LOCATION "" CACHE STRING "WebRTC source root location.") set(dont_bundle_fonts 0) if (DESKTOP_APP_USE_PACKAGED AND NOT DESKTOP_APP_USE_PACKAGED_LAZY)