summarylogtreecommitdiffstats
path: root/Update-webrtc-packaged-build-for-tg_owt.patch
blob: 1841ccf700f0bb35aede5aac2b1a3691a23044a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
From d955882cb4d4c94f61a9b1df62b7f93d3c5bff7d Mon Sep 17 00:00:00 2001
From: Ilya Fedin <fedin-ilja2010@ya.ru>
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/$<CONFIG>)
-
-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/$<CONFIG>)
 
     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)