OLD | NEW |
| (Empty) |
1 # Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. | |
2 # | |
3 # Use of this source code is governed by a BSD-style license | |
4 # that can be found in the LICENSE file in the root of the source | |
5 # tree. An additional intellectual property rights grant can be found | |
6 # in the file PATENTS. All contributing project authors may | |
7 # be found in the AUTHORS file in the root of the source tree. | |
8 | |
9 { | |
10 'targets': [ | |
11 { | |
12 # Note this library is missing an implementation for the video render. | |
13 # For that targets must link with 'video_render' or | |
14 # 'video_render_module_internal_impl' if they want to compile and use | |
15 # the internal render as the default renderer. | |
16 'target_name': 'video_render_module', | |
17 'type': 'static_library', | |
18 'dependencies': [ | |
19 'webrtc_utility', | |
20 '<(webrtc_root)/common.gyp:webrtc_common', | |
21 '<(webrtc_root)/common_video/common_video.gyp:common_video', | |
22 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', | |
23 ], | |
24 'sources': [ | |
25 'external/video_render_external_impl.cc', | |
26 'external/video_render_external_impl.h', | |
27 'i_video_render.h', | |
28 'video_render.h', | |
29 'video_render_defines.h', | |
30 'video_render_impl.h', | |
31 ], | |
32 }, | |
33 { | |
34 # Default video_render_module implementation that only supports external | |
35 # renders. | |
36 'target_name': 'video_render', | |
37 'type': 'static_library', | |
38 'dependencies': [ | |
39 'video_render_module', | |
40 ], | |
41 'sources': [ | |
42 'video_render_impl.cc', | |
43 ], | |
44 }, | |
45 ], # targets | |
46 | |
47 'conditions': [ | |
48 ['build_with_chromium==0', { | |
49 'targets': [ | |
50 { | |
51 # video_render_module implementation that supports the internal | |
52 # video_render implementation. | |
53 'target_name': 'video_render_module_internal_impl', | |
54 'type': 'static_library', | |
55 'dependencies': [ | |
56 '<(webrtc_root)/common.gyp:webrtc_common', | |
57 'video_render_module', | |
58 ], | |
59 'sources': [ | |
60 'video_render_internal_impl.cc', | |
61 ], | |
62 # TODO(andrew): with the proper suffix, these files will be excluded | |
63 # automatically. | |
64 'conditions': [ | |
65 ['OS=="android"', { | |
66 'sources': [ | |
67 'android/video_render_android_impl.h', | |
68 'android/video_render_android_native_opengl2.h', | |
69 'android/video_render_android_surface_view.h', | |
70 'android/video_render_opengles20.h', | |
71 'android/video_render_android_impl.cc', | |
72 'android/video_render_android_native_opengl2.cc', | |
73 'android/video_render_android_surface_view.cc', | |
74 'android/video_render_opengles20.cc', | |
75 ], | |
76 'link_settings': { | |
77 'libraries': [ | |
78 '-lGLESv2', | |
79 ], | |
80 }, | |
81 }], | |
82 ['OS=="ios"', { | |
83 'sources': [ | |
84 # iOS | |
85 'ios/open_gles20.h', | |
86 'ios/open_gles20.mm', | |
87 'ios/video_render_ios_channel.h', | |
88 'ios/video_render_ios_channel.mm', | |
89 'ios/video_render_ios_gles20.h', | |
90 'ios/video_render_ios_gles20.mm', | |
91 'ios/video_render_ios_impl.h', | |
92 'ios/video_render_ios_impl.mm', | |
93 'ios/video_render_ios_view.h', | |
94 'ios/video_render_ios_view.mm', | |
95 ], | |
96 'xcode_settings': { | |
97 'CLANG_ENABLE_OBJC_ARC': 'YES', | |
98 }, | |
99 'all_dependent_settings': { | |
100 'xcode_settings': { | |
101 'OTHER_LDFLAGS': [ | |
102 '-framework OpenGLES', | |
103 '-framework QuartzCore', | |
104 '-framework UIKit', | |
105 ], | |
106 }, | |
107 }, | |
108 }], | |
109 ['OS=="linux"', { | |
110 'sources': [ | |
111 'linux/video_render_linux_impl.h', | |
112 'linux/video_x11_channel.h', | |
113 'linux/video_x11_render.h', | |
114 'linux/video_render_linux_impl.cc', | |
115 'linux/video_x11_channel.cc', | |
116 'linux/video_x11_render.cc', | |
117 ], | |
118 'link_settings': { | |
119 'libraries': [ | |
120 '-lXext', | |
121 ], | |
122 }, | |
123 }], | |
124 ['OS=="mac"', { | |
125 'sources': [ | |
126 'mac/cocoa_full_screen_window.h', | |
127 'mac/cocoa_render_view.h', | |
128 'mac/video_render_agl.h', | |
129 'mac/video_render_mac_carbon_impl.h', | |
130 'mac/video_render_mac_cocoa_impl.h', | |
131 'mac/video_render_nsopengl.h', | |
132 'mac/video_render_nsopengl.mm', | |
133 'mac/video_render_mac_cocoa_impl.mm', | |
134 'mac/video_render_agl.cc', | |
135 'mac/video_render_mac_carbon_impl.cc', | |
136 'mac/cocoa_render_view.mm', | |
137 'mac/cocoa_full_screen_window.mm', | |
138 ], | |
139 }], | |
140 ['OS=="win"', { | |
141 'sources': [ | |
142 'windows/i_video_render_win.h', | |
143 'windows/video_render_direct3d9.h', | |
144 'windows/video_render_windows_impl.h', | |
145 'windows/video_render_direct3d9.cc', | |
146 'windows/video_render_windows_impl.cc', | |
147 ], | |
148 'include_dirs': [ | |
149 '<(directx_sdk_path)/Include', | |
150 ], | |
151 }], | |
152 ['OS=="win" and clang==1', { | |
153 'msvs_settings': { | |
154 'VCCLCompilerTool': { | |
155 'AdditionalOptions': [ | |
156 # Disable warnings failing when compiling with Clang on Wind
ows. | |
157 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366 | |
158 '-Wno-comment', | |
159 '-Wno-reorder', | |
160 '-Wno-unused-value', | |
161 '-Wno-unused-private-field', | |
162 ], | |
163 }, | |
164 }, | |
165 }], | |
166 ] # conditions | |
167 }, | |
168 ], | |
169 }], # build_with_chromium==0 | |
170 ['include_tests==1 and OS!="ios"', { | |
171 'targets': [ | |
172 { | |
173 # Does not compile on iOS: webrtc:4755. | |
174 'target_name': 'video_render_tests', | |
175 'type': 'executable', | |
176 'dependencies': [ | |
177 'video_render_module_internal_impl', | |
178 'webrtc_utility', | |
179 '<(webrtc_root)/common.gyp:webrtc_common', | |
180 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers'
, | |
181 '<(webrtc_root)/common_video/common_video.gyp:common_video', | |
182 ], | |
183 'sources': [ | |
184 'test/testAPI/testAPI.cc', | |
185 'test/testAPI/testAPI.h', | |
186 'test/testAPI/testAPI_android.cc', | |
187 'test/testAPI/testAPI_mac.mm', | |
188 ], | |
189 'conditions': [ | |
190 ['OS=="mac" or OS=="linux"', { | |
191 'cflags': [ | |
192 '-Wno-write-strings', | |
193 ], | |
194 'ldflags': [ | |
195 '-lpthread -lm', | |
196 ], | |
197 }], | |
198 ['OS=="linux"', { | |
199 'link_settings': { | |
200 'libraries': [ | |
201 '-lX11', | |
202 ], | |
203 }, | |
204 }], | |
205 ['OS=="mac"', { | |
206 'xcode_settings': { | |
207 'OTHER_LDFLAGS': [ | |
208 '-framework Foundation -framework AppKit -framework Cocoa -fra
mework OpenGL', | |
209 ], | |
210 }, | |
211 }], | |
212 ] # conditions | |
213 }, # video_render_module_test | |
214 ], # targets | |
215 }], # include_tests==1 and OS!=ios | |
216 ], # conditions | |
217 } | |
218 | |
OLD | NEW |