Note: We no longer publish the latest version of our code here. We primarily use a kumc-bmi github organization. The heron ETL repository, in particular, is not public. Peers in the informatics community should see MultiSiteDev for details on requesting access.

source: webrtc/webrtc/modules/video_render/video_render.gypi @ 0:4bda6873e34c

pub_scrub_3792 tip
Last change on this file since 0:4bda6873e34c was 0:4bda6873e34c, checked in by Michael Prittie <mprittie@…>, 6 years ago

Scrubbed password for publication.

File size: 8.7 KB
Line 
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      'target_name': 'video_render_module',
13      'type': 'static_library',
14      'dependencies': [
15        'webrtc_utility',
16        '<(webrtc_root)/common_video/common_video.gyp:common_video',
17        '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
18      ],
19      'sources': [
20        'android/video_render_android_impl.cc',
21        'android/video_render_android_impl.h',
22        'android/video_render_android_native_opengl2.cc',
23        'android/video_render_android_native_opengl2.h',
24        'android/video_render_android_surface_view.cc',
25        'android/video_render_android_surface_view.h',
26        'android/video_render_opengles20.cc',
27        'android/video_render_opengles20.h',
28        'external/video_render_external_impl.cc',
29        'external/video_render_external_impl.h',
30        'i_video_render.h',
31        'include/video_render.h',
32        'include/video_render_defines.h',
33        'incoming_video_stream.cc',
34        'incoming_video_stream.h',
35        'ios/open_gles20.h',
36        'ios/open_gles20.mm',
37        'ios/video_render_ios_channel.h',
38        'ios/video_render_ios_channel.mm',
39        'ios/video_render_ios_gles20.h',
40        'ios/video_render_ios_gles20.mm',
41        'ios/video_render_ios_impl.h',
42        'ios/video_render_ios_impl.mm',
43        'ios/video_render_ios_view.h',
44        'ios/video_render_ios_view.mm',
45        'linux/video_render_linux_impl.cc',
46        'linux/video_render_linux_impl.h',
47        'linux/video_x11_channel.cc',
48        'linux/video_x11_channel.h',
49        'linux/video_x11_render.cc',
50        'linux/video_x11_render.h',
51        'mac/cocoa_full_screen_window.mm',
52        'mac/cocoa_full_screen_window.h',
53        'mac/cocoa_render_view.mm',
54        'mac/cocoa_render_view.h',
55        'mac/video_render_agl.cc',
56        'mac/video_render_agl.h',
57        'mac/video_render_mac_carbon_impl.cc',
58        'mac/video_render_mac_carbon_impl.h',
59        'mac/video_render_mac_cocoa_impl.h',
60        'mac/video_render_mac_cocoa_impl.mm',
61        'mac/video_render_nsopengl.h',
62        'mac/video_render_nsopengl.mm',
63        'video_render_frames.cc',
64        'video_render_frames.h',
65        'video_render_impl.cc',
66        'video_render_impl.h',
67        'windows/i_video_render_win.h',
68        'windows/video_render_direct3d9.cc',
69        'windows/video_render_direct3d9.h',
70        'windows/video_render_windows_impl.cc',
71        'windows/video_render_windows_impl.h',
72      ],
73      # TODO(andrew): with the proper suffix, these files will be excluded
74      # automatically.
75      'conditions': [
76        ['include_internal_video_render==1', {
77          'defines': ['WEBRTC_INCLUDE_INTERNAL_VIDEO_RENDER',],
78        }],
79        ['OS!="android" or include_internal_video_render==0', {
80          'sources!': [
81            'android/video_render_android_impl.h',
82            'android/video_render_android_native_opengl2.h',
83            'android/video_render_android_surface_view.h',
84            'android/video_render_opengles20.h',
85            'android/video_render_android_impl.cc',
86            'android/video_render_android_native_opengl2.cc',
87            'android/video_render_android_surface_view.cc',
88            'android/video_render_opengles20.cc',
89          ],
90        }],
91        ['OS!="ios" or include_internal_video_render==0', {
92          'sources!': [
93            # iOS
94            'ios/open_gles20.h',
95            'ios/open_gles20.mm',
96            'ios/video_render_ios_channel.h',
97            'ios/video_render_ios_channel.mm',
98            'ios/video_render_ios_gles20.h',
99            'ios/video_render_ios_gles20.mm',
100            'ios/video_render_ios_impl.h',
101            'ios/video_render_ios_impl.mm',
102            'ios/video_render_ios_view.h',
103            'ios/video_render_ios_view.mm',
104          ],
105        }],
106        ['OS!="linux" or include_internal_video_render==0', {
107          'sources!': [
108            'linux/video_render_linux_impl.h',
109            'linux/video_x11_channel.h',
110            'linux/video_x11_render.h',
111            'linux/video_render_linux_impl.cc',
112            'linux/video_x11_channel.cc',
113            'linux/video_x11_render.cc',
114          ],
115        }],
116        ['OS!="mac" or include_internal_video_render==0', {
117          'sources!': [
118            'mac/cocoa_full_screen_window.h',
119            'mac/cocoa_render_view.h',
120            'mac/video_render_agl.h',
121            'mac/video_render_mac_carbon_impl.h',
122            'mac/video_render_mac_cocoa_impl.h',
123            'mac/video_render_nsopengl.h',
124            'mac/video_render_nsopengl.mm',
125            'mac/video_render_mac_cocoa_impl.mm',
126            'mac/video_render_agl.cc',
127            'mac/video_render_mac_carbon_impl.cc',
128            'mac/cocoa_render_view.mm',
129            'mac/cocoa_full_screen_window.mm',
130          ],
131        }],
132        ['OS=="ios"', {
133          'all_dependent_settings': {
134            'xcode_settings': {
135              'OTHER_LDFLAGS': [
136                '-framework OpenGLES',
137                '-framework QuartzCore',
138                '-framework UIKit',
139              ],
140            },
141          },
142        }],
143        ['OS=="win" and include_internal_video_render==1', {
144          'variables': {
145            # 'directx_sdk_path' will be overridden in the condition block
146            # below, but it must not be declared as empty here since gyp
147            # will check if the first character is '/' for some reason.
148            # If it's empty, we'll get an out-of-bounds error.
149            'directx_sdk_path': 'will_be_overridden',
150            'directx_sdk_default_path': '<(DEPTH)/third_party/directxsdk/files',
151            'conditions': [
152              ['"<!(python <(DEPTH)/build/dir_exists.py <(directx_sdk_default_path))"=="True"', {
153                'directx_sdk_path': '<(DEPTH)/third_party/directxsdk/files',
154              }, {
155                'directx_sdk_path': '$(DXSDK_DIR)',
156              }],
157            ],
158          },
159
160          'include_dirs': [
161            '<(directx_sdk_path)/Include',
162          ],
163        }],
164        ['OS!="win" or include_internal_video_render==0', {
165          'sources!': [
166            'windows/i_video_render_win.h',
167            'windows/video_render_direct3d9.h',
168            'windows/video_render_windows_impl.h',
169            'windows/video_render_direct3d9.cc',
170            'windows/video_render_windows_impl.cc',
171          ],
172        }],
173      ] # conditions
174    }, # video_render_module
175  ], # targets
176
177  'conditions': [
178    ['include_internal_video_render==1', {
179      'defines': ['WEBRTC_INCLUDE_INTERNAL_VIDEO_RENDER',],
180    }],
181    ['include_tests==1', {
182      'targets': [
183        {
184          'target_name': 'video_render_tests',
185          'type': 'executable',
186          'dependencies': [
187            'video_render_module',
188            'webrtc_utility',
189            '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
190            '<(webrtc_root)/common_video/common_video.gyp:common_video',
191          ],
192          'sources': [
193            'test/testAPI/testAPI.cc',
194            'test/testAPI/testAPI.h',
195            'test/testAPI/testAPI_android.cc',
196            'test/testAPI/testAPI_mac.mm',
197          ],
198          'conditions': [
199            ['OS=="mac" or OS=="linux"', {
200              'cflags': [
201                '-Wno-write-strings',
202              ],
203              'ldflags': [
204                '-lpthread -lm',
205              ],
206            }],
207            ['OS=="linux"', {
208              'libraries': [
209                '-lrt',
210                '-lXext',
211                '-lX11',
212              ],
213            }],
214            ['OS=="mac"', {
215              'xcode_settings': {
216                'OTHER_LDFLAGS': [
217                  '-framework Foundation -framework AppKit -framework Cocoa -framework OpenGL',
218                ],
219              },
220            }],
221          ] # conditions
222        }, # video_render_module_test
223      ], # targets
224      'conditions': [
225        ['test_isolation_mode != "noop"', {
226          'targets': [
227            {
228              'target_name': 'video_render_tests_run',
229              'type': 'none',
230              'dependencies': [
231                'video_render_tests',
232              ],
233              'includes': [
234                '../../build/isolate.gypi',
235                'video_render_tests.isolate',
236              ],
237              'sources': [
238                'video_render_tests.isolate',
239              ],
240            },
241          ],
242        }],
243      ],
244    }], # include_tests==0
245  ], # conditions
246}
247
Note: See TracBrowser for help on using the repository browser.