blob: 038fb4f1ae0722846b7d93ec5874f355ee8eb371 [file] [log] [blame]
henrike@webrtc.org28e20752013-07-10 00:45:36 +00001#
2# libjingle
3# Copyright 2012, Google Inc.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are met:
7#
8# 1. Redistributions of source code must retain the above copyright notice,
9# this list of conditions and the following disclaimer.
10# 2. Redistributions in binary form must reproduce the above copyright notice,
11# this list of conditions and the following disclaimer in the documentation
12# and/or other materials provided with the distribution.
13# 3. The name of the author may not be used to endorse or promote products
14# derived from this software without specific prior written permission.
15#
16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
19# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
22# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26#
27
28{
29 'includes': ['build/common.gypi'],
30 'targets': [
31 {
32 # TODO(ronghuawu): Use gtest.gyp from chromium.
33 'target_name': 'gunit',
34 'type': 'static_library',
35 'sources': [
henrike@webrtc.org723d6832013-07-12 16:04:50 +000036 '<(DEPTH)/testing/gtest/src/gtest-all.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +000037 ],
38 'include_dirs': [
henrike@webrtc.org723d6832013-07-12 16:04:50 +000039 '<(DEPTH)/testing/gtest/include',
40 '<(DEPTH)/testing/gtest',
henrike@webrtc.org28e20752013-07-10 00:45:36 +000041 ],
pbos@webrtc.orgea1c5ad2014-02-06 13:17:20 +000042 'defines': ['_VARIADIC_MAX=10'],
henrike@webrtc.org28e20752013-07-10 00:45:36 +000043 'direct_dependent_settings': {
pbos@webrtc.orgea1c5ad2014-02-06 13:17:20 +000044 'defines': [
45 '_VARIADIC_MAX=10',
46 ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +000047 'include_dirs': [
henrike@webrtc.org723d6832013-07-12 16:04:50 +000048 '<(DEPTH)/testing/gtest/include',
henrike@webrtc.org28e20752013-07-10 00:45:36 +000049 ],
50 },
51 'conditions': [
52 ['OS=="android"', {
53 'include_dirs': [
54 '<(android_ndk_include)',
55 ]
56 }],
57 ],
58 }, # target gunit
59 {
60 'target_name': 'libjingle_unittest_main',
61 'type': 'static_library',
62 'dependencies': [
63 '<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv',
64 'gunit',
65 ],
66 'direct_dependent_settings': {
67 'include_dirs': [
68 '<(DEPTH)/third_party/libyuv/include',
69 ],
70 },
71 'sources': [
72 'base/unittest_main.cc',
73 # Also use this as a convenient dumping ground for misc files that are
74 # included by multiple targets below.
75 'base/fakecpumonitor.h',
76 'base/fakenetwork.h',
77 'base/fakesslidentity.h',
78 'base/faketaskrunner.h',
79 'base/gunit.h',
80 'base/testbase64.h',
81 'base/testechoserver.h',
82 'base/win32toolhelp.h',
83 'media/base/fakecapturemanager.h',
84 'media/base/fakemediaengine.h',
85 'media/base/fakemediaprocessor.h',
86 'media/base/fakenetworkinterface.h',
87 'media/base/fakertp.h',
88 'media/base/fakevideocapturer.h',
89 'media/base/fakevideorenderer.h',
90 'media/base/nullvideoframe.h',
91 'media/base/nullvideorenderer.h',
92 'media/base/testutils.cc',
93 'media/base/testutils.h',
94 'media/devices/fakedevicemanager.h',
wu@webrtc.org9caf2762013-12-11 18:25:07 +000095 'media/webrtc/dummyinstantiation.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +000096 'media/webrtc/fakewebrtccommon.h',
97 'media/webrtc/fakewebrtcdeviceinfo.h',
98 'media/webrtc/fakewebrtcvcmfactory.h',
99 'media/webrtc/fakewebrtcvideocapturemodule.h',
100 'media/webrtc/fakewebrtcvideoengine.h',
101 'media/webrtc/fakewebrtcvoiceengine.h',
102 ],
103 }, # target libjingle_unittest_main
104 {
105 'target_name': 'libjingle_unittest',
106 'type': 'executable',
107 'dependencies': [
108 'gunit',
109 'libjingle.gyp:libjingle',
110 'libjingle_unittest_main',
111 ],
112 'sources': [
113 'base/asynchttprequest_unittest.cc',
114 'base/atomicops_unittest.cc',
115 'base/autodetectproxy_unittest.cc',
116 'base/bandwidthsmoother_unittest.cc',
117 'base/base64_unittest.cc',
118 'base/basictypes_unittest.cc',
119 'base/bind_unittest.cc',
120 'base/buffer_unittest.cc',
121 'base/bytebuffer_unittest.cc',
122 'base/byteorder_unittest.cc',
sergeyu@chromium.org9cf037b2014-02-07 19:03:26 +0000123 'base/callback_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000124 'base/cpumonitor_unittest.cc',
125 'base/crc32_unittest.cc',
126 'base/event_unittest.cc',
127 'base/filelock_unittest.cc',
128 'base/fileutils_unittest.cc',
129 'base/helpers_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000130 'base/httpbase_unittest.cc',
131 'base/httpcommon_unittest.cc',
132 'base/httpserver_unittest.cc',
133 'base/ipaddress_unittest.cc',
134 'base/logging_unittest.cc',
135 'base/md5digest_unittest.cc',
136 'base/messagedigest_unittest.cc',
137 'base/messagequeue_unittest.cc',
138 'base/multipart_unittest.cc',
139 'base/nat_unittest.cc',
140 'base/network_unittest.cc',
141 'base/nullsocketserver_unittest.cc',
142 'base/optionsfile_unittest.cc',
143 'base/pathutils_unittest.cc',
144 'base/physicalsocketserver_unittest.cc',
145 'base/profiler_unittest.cc',
146 'base/proxy_unittest.cc',
147 'base/proxydetect_unittest.cc',
148 'base/ratelimiter_unittest.cc',
149 'base/ratetracker_unittest.cc',
150 'base/referencecountedsingletonfactory_unittest.cc',
151 'base/rollingaccumulator_unittest.cc',
sergeyu@chromium.org9cf037b2014-02-07 19:03:26 +0000152 'base/scopedptrcollection_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000153 'base/sha1digest_unittest.cc',
154 'base/sharedexclusivelock_unittest.cc',
155 'base/signalthread_unittest.cc',
156 'base/sigslot_unittest.cc',
157 'base/socket_unittest.cc',
158 'base/socket_unittest.h',
159 'base/socketaddress_unittest.cc',
160 'base/stream_unittest.cc',
161 'base/stringencode_unittest.cc',
162 'base/stringutils_unittest.cc',
163 # TODO(ronghuawu): Reenable this test.
164 # 'base/systeminfo_unittest.cc',
165 'base/task_unittest.cc',
166 'base/testclient_unittest.cc',
167 'base/thread_unittest.cc',
168 'base/timeutils_unittest.cc',
169 'base/urlencode_unittest.cc',
170 'base/versionparsing_unittest.cc',
171 'base/virtualsocket_unittest.cc',
172 # TODO(ronghuawu): Reenable this test.
173 # 'base/windowpicker_unittest.cc',
174 'xmllite/qname_unittest.cc',
175 'xmllite/xmlbuilder_unittest.cc',
176 'xmllite/xmlelement_unittest.cc',
177 'xmllite/xmlnsstack_unittest.cc',
178 'xmllite/xmlparser_unittest.cc',
179 'xmllite/xmlprinter_unittest.cc',
180 'xmpp/fakexmppclient.h',
181 'xmpp/hangoutpubsubclient_unittest.cc',
182 'xmpp/jid_unittest.cc',
183 'xmpp/mucroomconfigtask_unittest.cc',
184 'xmpp/mucroomdiscoverytask_unittest.cc',
185 'xmpp/mucroomlookuptask_unittest.cc',
186 'xmpp/mucroomuniquehangoutidtask_unittest.cc',
187 'xmpp/pingtask_unittest.cc',
188 'xmpp/pubsubclient_unittest.cc',
189 'xmpp/pubsubtasks_unittest.cc',
190 'xmpp/util_unittest.cc',
191 'xmpp/util_unittest.h',
192 'xmpp/xmppengine_unittest.cc',
193 'xmpp/xmpplogintask_unittest.cc',
194 'xmpp/xmppstanzaparser_unittest.cc',
195 ], # sources
196 'conditions': [
197 ['OS=="linux"', {
198 'sources': [
199 'base/latebindingsymboltable_unittest.cc',
200 # TODO(ronghuawu): Reenable this test.
201 # 'base/linux_unittest.cc',
202 'base/linuxfdwalk_unittest.cc',
203 ],
204 }],
205 ['OS=="win"', {
206 'sources': [
207 'base/win32_unittest.cc',
208 'base/win32regkey_unittest.cc',
209 'base/win32socketserver_unittest.cc',
210 'base/win32toolhelp_unittest.cc',
211 'base/win32window_unittest.cc',
212 'base/win32windowpicker_unittest.cc',
213 'base/winfirewall_unittest.cc',
214 ],
215 'sources!': [
216 # TODO(ronghuawu): Fix TestUdpReadyToSendIPv6 on windows bot
217 # then reenable these tests.
218 'base/physicalsocketserver_unittest.cc',
219 'base/socket_unittest.cc',
220 'base/win32socketserver_unittest.cc',
221 'base/win32windowpicker_unittest.cc',
222 ],
223 }],
224 ['OS=="mac"', {
225 'sources': [
226 'base/macsocketserver_unittest.cc',
227 'base/macutils_unittest.cc',
228 'base/macwindowpicker_unittest.cc',
229 ],
230 }],
231 ['os_posix==1', {
232 'sources': [
233 'base/sslidentity_unittest.cc',
henrike@webrtc.org9de257d2013-07-17 14:42:53 +0000234 'base/sslstreamadapter_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000235 ],
236 }],
237 ], # conditions
238 }, # target libjingle_unittest
239 {
240 'target_name': 'libjingle_sound_unittest',
241 'type': 'executable',
242 'dependencies': [
243 'gunit',
244 'libjingle.gyp:libjingle_sound',
245 'libjingle_unittest_main',
246 ],
247 'sources': [
248 'sound/automaticallychosensoundsystem_unittest.cc',
249 ],
250 }, # target libjingle_sound_unittest
251 {
252 'target_name': 'libjingle_media_unittest',
253 'type': 'executable',
254 'dependencies': [
255 'gunit',
256 'libjingle.gyp:libjingle_media',
257 'libjingle_unittest_main',
258 ],
259 # TODO(ronghuawu): Avoid the copies.
260 # https://code.google.com/p/libjingle/issues/detail?id=398
261 'copies': [
262 {
263 'destination': '<(DEPTH)/../talk/media/testdata',
264 'files': [
265 'media/testdata/1.frame_plus_1.byte',
266 'media/testdata/captured-320x240-2s-48.frames',
267 'media/testdata/h264-svc-99-640x360.rtpdump',
268 'media/testdata/video.rtpdump',
269 'media/testdata/voice.rtpdump',
270 ],
271 },
272 ],
273 'sources': [
274 # TODO(ronghuawu): Reenable this test.
275 # 'media/base/capturemanager_unittest.cc',
276 'media/base/codec_unittest.cc',
277 'media/base/filemediaengine_unittest.cc',
278 'media/base/rtpdataengine_unittest.cc',
279 'media/base/rtpdump_unittest.cc',
280 'media/base/rtputils_unittest.cc',
281 'media/base/testutils.cc',
282 'media/base/testutils.h',
283 'media/base/videocapturer_unittest.cc',
284 'media/base/videocommon_unittest.cc',
285 'media/base/videoengine_unittest.h',
286 'media/devices/dummydevicemanager_unittest.cc',
287 'media/devices/filevideocapturer_unittest.cc',
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000288 # TODO(jiayl): Enable the SCTP test once the memcheck and tsan bots
289 # failures are fixed (issue 2846).
290 #'media/sctp/sctpdataengine_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000291 'media/webrtc/webrtcpassthroughrender_unittest.cc',
292 'media/webrtc/webrtcvideocapturer_unittest.cc',
293 # Omitted because depends on non-open-source testdata files.
294 # 'media/base/videoframe_unittest.h',
295 # 'media/webrtc/webrtcvideoframe_unittest.cc',
296
297 # Disabled because some tests fail.
298 # TODO(ronghuawu): Reenable these tests.
299 # 'media/devices/devicemanager_unittest.cc',
wu@webrtc.orgca5ff992014-01-24 17:37:46 +0000300 'media/webrtc/webrtcvideoengine_unittest.cc',
301 'media/webrtc/webrtcvoiceengine_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000302 ],
303 'conditions': [
304 ['OS=="win"', {
305 'msvs_settings': {
306 'VCLinkerTool': {
307 'AdditionalDependencies': [
308 # TODO(ronghuawu): Since we've included strmiids in
309 # libjingle_media target, we shouldn't need this here.
310 # Find out why it doesn't work without this.
311 'strmiids.lib',
312 ],
313 },
314 },
315 }],
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000316 ['OS=="ios"', {
317 'sources!': [
318 'media/sctp/sctpdataengine_unittest.cc',
319 ],
320 }],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000321 ],
322 }, # target libjingle_media_unittest
323 {
324 'target_name': 'libjingle_p2p_unittest',
325 'type': 'executable',
326 'dependencies': [
327 '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp',
328 'gunit',
329 'libjingle.gyp:libjingle',
330 'libjingle.gyp:libjingle_p2p',
331 'libjingle_unittest_main',
332 ],
333 'include_dirs': [
334 '<(DEPTH)/third_party/libsrtp/srtp',
335 ],
336 'sources': [
337 'p2p/base/dtlstransportchannel_unittest.cc',
338 'p2p/base/fakesession.h',
339 'p2p/base/p2ptransportchannel_unittest.cc',
340 'p2p/base/port_unittest.cc',
341 'p2p/base/portallocatorsessionproxy_unittest.cc',
342 'p2p/base/pseudotcp_unittest.cc',
343 'p2p/base/relayport_unittest.cc',
344 'p2p/base/relayserver_unittest.cc',
345 'p2p/base/session_unittest.cc',
346 'p2p/base/stun_unittest.cc',
347 'p2p/base/stunport_unittest.cc',
348 'p2p/base/stunrequest_unittest.cc',
349 'p2p/base/stunserver_unittest.cc',
350 'p2p/base/testrelayserver.h',
351 'p2p/base/teststunserver.h',
352 'p2p/base/testturnserver.h',
353 'p2p/base/transport_unittest.cc',
354 'p2p/base/transportdescriptionfactory_unittest.cc',
355 'p2p/client/connectivitychecker_unittest.cc',
356 'p2p/client/fakeportallocator.h',
357 'p2p/client/portallocator_unittest.cc',
358 'session/media/channel_unittest.cc',
359 'session/media/channelmanager_unittest.cc',
360 'session/media/currentspeakermonitor_unittest.cc',
361 'session/media/mediarecorder_unittest.cc',
362 'session/media/mediamessages_unittest.cc',
363 'session/media/mediasession_unittest.cc',
364 'session/media/mediasessionclient_unittest.cc',
365 'session/media/rtcpmuxfilter_unittest.cc',
366 'session/media/srtpfilter_unittest.cc',
367 'session/media/ssrcmuxfilter_unittest.cc',
368 ],
369 'conditions': [
370 ['OS=="win"', {
371 'msvs_settings': {
372 'VCLinkerTool': {
373 'AdditionalDependencies': [
374 'strmiids.lib',
375 ],
376 },
377 },
378 }],
379 ],
380 }, # target libjingle_p2p_unittest
381 {
382 'target_name': 'libjingle_peerconnection_unittest',
383 'type': 'executable',
384 'dependencies': [
385 'gunit',
386 'libjingle.gyp:libjingle',
387 'libjingle.gyp:libjingle_p2p',
388 'libjingle.gyp:libjingle_peerconnection',
389 'libjingle_unittest_main',
390 ],
391 # TODO(ronghuawu): Reenable below unit tests that require gmock.
392 'sources': [
sergeyu@chromium.org183c7272013-11-13 22:59:20 +0000393 # 'app/webrtc/datachannel_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000394 'app/webrtc/dtmfsender_unittest.cc',
395 'app/webrtc/jsepsessiondescription_unittest.cc',
396 'app/webrtc/localaudiosource_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000397 # 'app/webrtc/mediastream_unittest.cc',
398 # 'app/webrtc/mediastreamhandler_unittest.cc',
399 'app/webrtc/mediastreamsignaling_unittest.cc',
400 'app/webrtc/peerconnection_unittest.cc',
wu@webrtc.org364f2042013-11-20 21:49:41 +0000401 'app/webrtc/peerconnectionendtoend_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000402 'app/webrtc/peerconnectionfactory_unittest.cc',
403 'app/webrtc/peerconnectioninterface_unittest.cc',
404 # 'app/webrtc/peerconnectionproxy_unittest.cc',
wu@webrtc.org967bfff2013-09-19 05:49:50 +0000405 'app/webrtc/remotevideocapturer_unittest.cc',
henrika@webrtc.orgaebb1ad2014-01-14 10:00:58 +0000406 'app/webrtc/sctputils.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000407 'app/webrtc/test/fakeaudiocapturemodule.cc',
408 'app/webrtc/test/fakeaudiocapturemodule.h',
409 'app/webrtc/test/fakeaudiocapturemodule_unittest.cc',
410 'app/webrtc/test/fakeconstraints.h',
wu@webrtc.orgcecfd182013-10-30 05:18:12 +0000411 'app/webrtc/test/fakedatachannelprovider.h',
wu@webrtc.org91053e72013-08-10 07:18:04 +0000412 'app/webrtc/test/fakedtlsidentityservice.h',
413 'app/webrtc/test/fakemediastreamsignaling.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000414 'app/webrtc/test/fakeperiodicvideocapturer.h',
415 'app/webrtc/test/fakevideotrackrenderer.h',
416 'app/webrtc/test/mockpeerconnectionobservers.h',
wu@webrtc.org364f2042013-11-20 21:49:41 +0000417 'app/webrtc/test/peerconnectiontestwrapper.h',
418 'app/webrtc/test/peerconnectiontestwrapper.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000419 'app/webrtc/test/testsdpstrings.h',
wu@webrtc.org967bfff2013-09-19 05:49:50 +0000420 'app/webrtc/videosource_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000421 'app/webrtc/videotrack_unittest.cc',
422 'app/webrtc/webrtcsdp_unittest.cc',
423 'app/webrtc/webrtcsession_unittest.cc',
424 ],
425 }, # target libjingle_peerconnection_unittest
426 ],
427 'conditions': [
wu@webrtc.org9dba5252013-08-05 20:36:57 +0000428 ['OS=="linux"', {
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000429 'targets': [
430 {
431 'target_name': 'libjingle_peerconnection_test_jar',
432 'type': 'none',
433 'actions': [
434 {
435 'variables': {
436 'java_src_dir': 'app/webrtc/javatests/src',
437 'java_files': [
438 'app/webrtc/javatests/src/org/webrtc/PeerConnectionTest.java',
439 ],
440 },
441 'action_name': 'create_jar',
442 'inputs': [
443 'build/build_jar.sh',
444 '<@(java_files)',
445 '<(PRODUCT_DIR)/libjingle_peerconnection.jar',
446 '<(DEPTH)/third_party/junit/junit-4.11.jar',
447 ],
448 'outputs': [
449 '<(PRODUCT_DIR)/libjingle_peerconnection_test.jar',
450 ],
451 'action': [
fischman@webrtc.org85f07f52013-07-30 18:11:07 +0000452 'build/build_jar.sh', '<(java_home)', '<@(_outputs)',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000453 '<(INTERMEDIATE_DIR)',
454 '<(java_src_dir):<(PRODUCT_DIR)/libjingle_peerconnection.jar:<(DEPTH)/third_party/junit/junit-4.11.jar',
455 '<@(java_files)'
456 ],
457 },
458 ],
459 },
460 {
461 'target_name': 'libjingle_peerconnection_java_unittest',
462 'type': 'none',
463 'actions': [
464 {
465 'action_name': 'copy libjingle_peerconnection_java_unittest',
466 'inputs': [
467 'app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh',
468 '<(PRODUCT_DIR)/libjingle_peerconnection_test_jar',
469 '<(DEPTH)/third_party/junit/junit-4.11.jar',
470 ],
471 'outputs': [
472 '<(PRODUCT_DIR)/libjingle_peerconnection_java_unittest',
473 ],
474 'action': [
475 'bash', '-c',
476 'rm -f <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest && '
477 'sed -e "s@GYP_JAVA_HOME@<(java_home)@" '
478 '< app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh '
479 '> <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest && '
480 'cp <(DEPTH)/third_party/junit/junit-4.11.jar <(PRODUCT_DIR) && '
481 'chmod u+x <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest'
482 ],
483 },
484 ],
485 },
486 ],
487 }],
fischman@webrtc.orge3de6b12013-08-26 19:31:21 +0000488 ['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', {
489 # The >=10.7 above is required to make ARC link cleanly (e.g. as
490 # opposed to _compile_ cleanly, which the library under test
491 # does just fine on 10.6 too).
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000492 'targets': [
493 {
fischman@webrtc.orge3de6b12013-08-26 19:31:21 +0000494 'target_name': 'libjingle_peerconnection_objc_test',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000495 'variables': {
496 'infoplist_file': './app/webrtc/objctests/Info.plist',
497 },
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000498 'type': 'executable',
499 'mac_bundle': 1,
500 'mac_bundle_resources': [
501 '<(infoplist_file)',
502 ],
503 # The plist is listed above so that it appears in XCode's file list,
504 # but we don't actually want to bundle it.
505 'mac_bundle_resources!': [
506 '<(infoplist_file)',
507 ],
508 'xcode_settings': {
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000509 'CLANG_ENABLE_OBJC_ARC': 'YES',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000510 'INFOPLIST_FILE': '<(infoplist_file)',
511 },
512 'dependencies': [
513 'gunit',
514 'libjingle.gyp:libjingle_peerconnection_objc',
515 ],
516 'FRAMEWORK_SEARCH_PATHS': [
517 '$(inherited)',
518 '$(SDKROOT)/Developer/Library/Frameworks',
519 '$(DEVELOPER_LIBRARY_DIR)/Frameworks',
520 ],
521 'sources': [
522 'app/webrtc/objctests/RTCPeerConnectionSyncObserver.h',
523 'app/webrtc/objctests/RTCPeerConnectionSyncObserver.m',
524 'app/webrtc/objctests/RTCPeerConnectionTest.mm',
525 'app/webrtc/objctests/RTCSessionDescriptionSyncObserver.h',
526 'app/webrtc/objctests/RTCSessionDescriptionSyncObserver.m',
527 ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000528 'conditions': [
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000529 ['OS=="mac" or OS=="ios"', {
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000530 'sources': [
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000531 # TODO(fischman): figure out if this works for ios or if it
532 # needs a GUI driver.
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000533 'app/webrtc/objctests/mac/main.mm',
534 ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000535 }],
536 ],
fischman@webrtc.orge3de6b12013-08-26 19:31:21 +0000537 }, # target libjingle_peerconnection_objc_test
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000538 ],
539 }],
kjellander@webrtc.orge6938182013-10-04 19:31:27 +0000540 ['test_isolation_mode != "noop"', {
541 'targets': [
542 {
543 'target_name': 'libjingle_media_unittest_run',
544 'type': 'none',
545 'dependencies': [
546 'libjingle_media_unittest',
547 ],
548 'includes': [
549 'build/isolate.gypi',
550 'libjingle_media_unittest.isolate',
551 ],
552 'sources': [
553 'libjingle_media_unittest.isolate',
554 ],
555 },
556 {
557 'target_name': 'libjingle_p2p_unittest_run',
558 'type': 'none',
559 'dependencies': [
560 'libjingle_p2p_unittest',
561 ],
562 'includes': [
563 'build/isolate.gypi',
564 'libjingle_p2p_unittest.isolate',
565 ],
566 'sources': [
567 'libjingle_p2p_unittest.isolate',
568 ],
569 },
570 {
571 'target_name': 'libjingle_peerconnection_unittest_run',
572 'type': 'none',
573 'dependencies': [
574 'libjingle_peerconnection_unittest',
575 ],
576 'includes': [
577 'build/isolate.gypi',
578 'libjingle_peerconnection_unittest.isolate',
579 ],
580 'sources': [
581 'libjingle_peerconnection_unittest.isolate',
582 ],
583 },
584 {
585 'target_name': 'libjingle_sound_unittest_run',
586 'type': 'none',
587 'dependencies': [
588 'libjingle_sound_unittest',
589 ],
590 'includes': [
591 'build/isolate.gypi',
592 'libjingle_sound_unittest.isolate',
593 ],
594 'sources': [
595 'libjingle_sound_unittest.isolate',
596 ],
597 },
598 {
599 'target_name': 'libjingle_unittest_run',
600 'type': 'none',
601 'dependencies': [
602 'libjingle_unittest',
603 ],
604 'includes': [
605 'build/isolate.gypi',
606 'libjingle_unittest.isolate',
607 ],
608 'sources': [
609 'libjingle_unittest.isolate',
610 ],
611 },
612 ],
613 }],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000614 ],
615}