1# Copyright (c) 2013 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  'includes': [
10    '../build/common.gypi',
11  ],
12  'targets': [
13    {
14      'target_name': 'webrtc_test_common',
15      'type': 'static_library',
16      'sources': [
17        'call_test.cc',
18        'call_test.h',
19        'configurable_frame_size_encoder.cc',
20        'configurable_frame_size_encoder.h',
21        'direct_transport.cc',
22        'direct_transport.h',
23        'encoder_settings.cc',
24        'encoder_settings.h',
25        'fake_audio_device.cc',
26        'fake_audio_device.h',
27        'fake_decoder.cc',
28        'fake_decoder.h',
29        'fake_encoder.cc',
30        'fake_encoder.h',
31        'fake_network_pipe.cc',
32        'fake_network_pipe.h',
33        'frame_generator_capturer.cc',
34        'frame_generator_capturer.h',
35        'mock_transport.h',
36        'null_transport.cc',
37        'null_transport.h',
38        'rtp_file_reader.cc',
39        'rtp_file_reader.h',
40        'rtp_rtcp_observer.h',
41        'run_loop.cc',
42        'run_loop.h',
43        'statistics.cc',
44        'statistics.h',
45        'vcm_capturer.cc',
46        'vcm_capturer.h',
47        'video_capturer.cc',
48        'video_capturer.h',
49        'win/run_loop_win.cc',
50      ],
51      'conditions': [
52        ['OS=="win"', {
53          'sources!': [
54            'run_loop.cc',
55          ],
56        }],
57      ],
58      'dependencies': [
59        '<(DEPTH)/testing/gtest.gyp:gtest',
60        '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
61        '<(webrtc_root)/modules/modules.gyp:media_file',
62        '<(webrtc_root)/modules/modules.gyp:video_capture_module_impl',
63        '<(webrtc_root)/modules/modules.gyp:video_render_module_impl',
64        '<(webrtc_root)/test/test.gyp:frame_generator',
65        '<(webrtc_root)/test/test.gyp:test_support',
66        '<(webrtc_root)/webrtc.gyp:webrtc',
67      ],
68    },
69    {
70      'target_name': 'webrtc_test_renderer',
71      'type': 'static_library',
72      'sources': [
73        'gl/gl_renderer.cc',
74        'gl/gl_renderer.h',
75        'linux/glx_renderer.cc',
76        'linux/glx_renderer.h',
77        'linux/video_renderer_linux.cc',
78        'mac/video_renderer_mac.h',
79        'mac/video_renderer_mac.mm',
80        'null_platform_renderer.cc',
81        'video_renderer.cc',
82        'video_renderer.h',
83        'win/d3d_renderer.cc',
84        'win/d3d_renderer.h',
85      ],
86      'conditions': [
87        ['OS=="linux"', {
88          'sources!': [
89            'null_platform_renderer.cc',
90          ],
91        }],
92        ['OS=="mac"', {
93          'sources!': [
94            'null_platform_renderer.cc',
95          ],
96        }],
97        ['OS!="linux" and OS!="mac"', {
98          'sources!' : [
99            'gl/gl_renderer.cc',
100            'gl/gl_renderer.h',
101          ],
102        }],
103        ['OS=="win"', {
104          'sources!': [
105            'null_platform_renderer.cc',
106          ],
107          'include_dirs': [
108            '<(directx_sdk_path)/Include',
109          ],
110        }],
111      ],
112      'dependencies': [
113        '<(DEPTH)/testing/gtest.gyp:gtest',
114        '<(webrtc_root)/modules/modules.gyp:media_file',
115        '<(webrtc_root)/test/test.gyp:frame_generator',
116        '<(webrtc_root)/test/test.gyp:test_support',
117      ],
118      'direct_dependent_settings': {
119        'conditions': [
120          ['OS=="linux"', {
121            'libraries': [
122              '-lXext',
123              '-lX11',
124              '-lGL',
125            ],
126          }],
127          ['OS=="android"', {
128            'libraries' : [
129              '-lGLESv2', '-llog',
130            ],
131          }],
132          ['OS=="mac"', {
133            'xcode_settings' : {
134              'OTHER_LDFLAGS' : [
135                '-framework Cocoa',
136                '-framework OpenGL',
137                '-framework CoreVideo',
138              ],
139            },
140          }],
141        ],
142      },
143    },
144  ],
145  'conditions': [
146    ['include_tests==1', {
147      'targets': [
148        {
149          'target_name': 'webrtc_test_common_unittests',
150          'type': '<(gtest_target_type)',
151          'dependencies': [
152            'webrtc_test_common',
153            '<(DEPTH)/testing/gtest.gyp:gtest',
154            '<(DEPTH)/testing/gmock.gyp:gmock',
155            '<(webrtc_root)/test/test.gyp:test_support_main',
156          ],
157          'sources': [
158            'fake_network_pipe_unittest.cc',
159            'rtp_file_reader_unittest.cc',
160          ],
161        },
162      ],  #targets
163    }],  # include_tests
164  ],  # conditions
165}
166