blob: f700261bc6a3c527641063111a232e5633c061f5 [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',
fischman@webrtc.orga86c42c2014-04-29 18:37:29 +0000107 'includes': [ 'build/ios_tests.gypi', ],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000108 'dependencies': [
109 'gunit',
110 'libjingle.gyp:libjingle',
111 'libjingle_unittest_main',
112 ],
113 'sources': [
114 'base/asynchttprequest_unittest.cc',
115 'base/atomicops_unittest.cc',
116 'base/autodetectproxy_unittest.cc',
117 'base/bandwidthsmoother_unittest.cc',
118 'base/base64_unittest.cc',
119 'base/basictypes_unittest.cc',
120 'base/bind_unittest.cc',
121 'base/buffer_unittest.cc',
122 'base/bytebuffer_unittest.cc',
123 'base/byteorder_unittest.cc',
sergeyu@chromium.org9cf037b2014-02-07 19:03:26 +0000124 'base/callback_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000125 'base/cpumonitor_unittest.cc',
126 'base/crc32_unittest.cc',
henrike@webrtc.org704bf9e2014-02-27 17:52:04 +0000127 'base/criticalsection_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000128 'base/event_unittest.cc',
129 'base/filelock_unittest.cc',
130 'base/fileutils_unittest.cc',
131 'base/helpers_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000132 'base/httpbase_unittest.cc',
133 'base/httpcommon_unittest.cc',
134 'base/httpserver_unittest.cc',
135 'base/ipaddress_unittest.cc',
136 'base/logging_unittest.cc',
137 'base/md5digest_unittest.cc',
138 'base/messagedigest_unittest.cc',
139 'base/messagequeue_unittest.cc',
140 'base/multipart_unittest.cc',
141 'base/nat_unittest.cc',
142 'base/network_unittest.cc',
143 'base/nullsocketserver_unittest.cc',
144 'base/optionsfile_unittest.cc',
145 'base/pathutils_unittest.cc',
146 'base/physicalsocketserver_unittest.cc',
147 'base/profiler_unittest.cc',
148 'base/proxy_unittest.cc',
149 'base/proxydetect_unittest.cc',
150 'base/ratelimiter_unittest.cc',
151 'base/ratetracker_unittest.cc',
152 'base/referencecountedsingletonfactory_unittest.cc',
153 'base/rollingaccumulator_unittest.cc',
sergeyu@chromium.org9cf037b2014-02-07 19:03:26 +0000154 'base/scopedptrcollection_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000155 'base/sha1digest_unittest.cc',
156 'base/sharedexclusivelock_unittest.cc',
157 'base/signalthread_unittest.cc',
158 'base/sigslot_unittest.cc',
159 'base/socket_unittest.cc',
160 'base/socket_unittest.h',
161 'base/socketaddress_unittest.cc',
162 'base/stream_unittest.cc',
163 'base/stringencode_unittest.cc',
164 'base/stringutils_unittest.cc',
165 # TODO(ronghuawu): Reenable this test.
166 # 'base/systeminfo_unittest.cc',
167 'base/task_unittest.cc',
168 'base/testclient_unittest.cc',
169 'base/thread_unittest.cc',
170 'base/timeutils_unittest.cc',
171 'base/urlencode_unittest.cc',
172 'base/versionparsing_unittest.cc',
173 'base/virtualsocket_unittest.cc',
174 # TODO(ronghuawu): Reenable this test.
175 # 'base/windowpicker_unittest.cc',
176 'xmllite/qname_unittest.cc',
177 'xmllite/xmlbuilder_unittest.cc',
178 'xmllite/xmlelement_unittest.cc',
179 'xmllite/xmlnsstack_unittest.cc',
180 'xmllite/xmlparser_unittest.cc',
181 'xmllite/xmlprinter_unittest.cc',
182 'xmpp/fakexmppclient.h',
183 'xmpp/hangoutpubsubclient_unittest.cc',
184 'xmpp/jid_unittest.cc',
185 'xmpp/mucroomconfigtask_unittest.cc',
186 'xmpp/mucroomdiscoverytask_unittest.cc',
187 'xmpp/mucroomlookuptask_unittest.cc',
188 'xmpp/mucroomuniquehangoutidtask_unittest.cc',
189 'xmpp/pingtask_unittest.cc',
190 'xmpp/pubsubclient_unittest.cc',
191 'xmpp/pubsubtasks_unittest.cc',
192 'xmpp/util_unittest.cc',
193 'xmpp/util_unittest.h',
194 'xmpp/xmppengine_unittest.cc',
195 'xmpp/xmpplogintask_unittest.cc',
196 'xmpp/xmppstanzaparser_unittest.cc',
197 ], # sources
198 'conditions': [
199 ['OS=="linux"', {
200 'sources': [
201 'base/latebindingsymboltable_unittest.cc',
202 # TODO(ronghuawu): Reenable this test.
203 # 'base/linux_unittest.cc',
204 'base/linuxfdwalk_unittest.cc',
205 ],
206 }],
207 ['OS=="win"', {
208 'sources': [
209 'base/win32_unittest.cc',
210 'base/win32regkey_unittest.cc',
211 'base/win32socketserver_unittest.cc',
212 'base/win32toolhelp_unittest.cc',
213 'base/win32window_unittest.cc',
214 'base/win32windowpicker_unittest.cc',
215 'base/winfirewall_unittest.cc',
216 ],
217 'sources!': [
218 # TODO(ronghuawu): Fix TestUdpReadyToSendIPv6 on windows bot
219 # then reenable these tests.
220 'base/physicalsocketserver_unittest.cc',
221 'base/socket_unittest.cc',
222 'base/win32socketserver_unittest.cc',
223 'base/win32windowpicker_unittest.cc',
224 ],
225 }],
226 ['OS=="mac"', {
227 'sources': [
228 'base/macsocketserver_unittest.cc',
229 'base/macutils_unittest.cc',
230 'base/macwindowpicker_unittest.cc',
231 ],
232 }],
233 ['os_posix==1', {
234 'sources': [
235 'base/sslidentity_unittest.cc',
henrike@webrtc.org9de257d2013-07-17 14:42:53 +0000236 'base/sslstreamadapter_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000237 ],
238 }],
239 ], # conditions
240 }, # target libjingle_unittest
241 {
242 'target_name': 'libjingle_sound_unittest',
243 'type': 'executable',
244 'dependencies': [
245 'gunit',
246 'libjingle.gyp:libjingle_sound',
247 'libjingle_unittest_main',
248 ],
249 'sources': [
250 'sound/automaticallychosensoundsystem_unittest.cc',
251 ],
252 }, # target libjingle_sound_unittest
253 {
254 'target_name': 'libjingle_media_unittest',
255 'type': 'executable',
256 'dependencies': [
257 'gunit',
258 'libjingle.gyp:libjingle_media',
259 'libjingle_unittest_main',
260 ],
261 # TODO(ronghuawu): Avoid the copies.
262 # https://code.google.com/p/libjingle/issues/detail?id=398
263 'copies': [
264 {
265 'destination': '<(DEPTH)/../talk/media/testdata',
266 'files': [
267 'media/testdata/1.frame_plus_1.byte',
268 'media/testdata/captured-320x240-2s-48.frames',
269 'media/testdata/h264-svc-99-640x360.rtpdump',
270 'media/testdata/video.rtpdump',
271 'media/testdata/voice.rtpdump',
272 ],
273 },
274 ],
275 'sources': [
276 # TODO(ronghuawu): Reenable this test.
277 # 'media/base/capturemanager_unittest.cc',
278 'media/base/codec_unittest.cc',
279 'media/base/filemediaengine_unittest.cc',
280 'media/base/rtpdataengine_unittest.cc',
281 'media/base/rtpdump_unittest.cc',
282 'media/base/rtputils_unittest.cc',
283 'media/base/testutils.cc',
284 'media/base/testutils.h',
285 'media/base/videocapturer_unittest.cc',
286 'media/base/videocommon_unittest.cc',
287 'media/base/videoengine_unittest.h',
288 'media/devices/dummydevicemanager_unittest.cc',
289 'media/devices/filevideocapturer_unittest.cc',
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000290 # TODO(jiayl): Enable the SCTP test once the memcheck and tsan bots
291 # failures are fixed (issue 2846).
292 #'media/sctp/sctpdataengine_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000293 'media/webrtc/webrtcpassthroughrender_unittest.cc',
294 'media/webrtc/webrtcvideocapturer_unittest.cc',
295 # Omitted because depends on non-open-source testdata files.
296 # 'media/base/videoframe_unittest.h',
297 # 'media/webrtc/webrtcvideoframe_unittest.cc',
298
299 # Disabled because some tests fail.
300 # TODO(ronghuawu): Reenable these tests.
301 # 'media/devices/devicemanager_unittest.cc',
wu@webrtc.orgca5ff992014-01-24 17:37:46 +0000302 'media/webrtc/webrtcvideoengine_unittest.cc',
303 'media/webrtc/webrtcvoiceengine_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000304 ],
305 'conditions': [
306 ['OS=="win"', {
307 'msvs_settings': {
308 'VCLinkerTool': {
309 'AdditionalDependencies': [
310 # TODO(ronghuawu): Since we've included strmiids in
311 # libjingle_media target, we shouldn't need this here.
312 # Find out why it doesn't work without this.
313 'strmiids.lib',
314 ],
315 },
316 },
317 }],
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000318 ['OS=="ios"', {
319 'sources!': [
320 'media/sctp/sctpdataengine_unittest.cc',
321 ],
322 }],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000323 ],
324 }, # target libjingle_media_unittest
325 {
326 'target_name': 'libjingle_p2p_unittest',
327 'type': 'executable',
328 'dependencies': [
329 '<(DEPTH)/third_party/libsrtp/libsrtp.gyp:libsrtp',
330 'gunit',
331 'libjingle.gyp:libjingle',
332 'libjingle.gyp:libjingle_p2p',
333 'libjingle_unittest_main',
334 ],
335 'include_dirs': [
336 '<(DEPTH)/third_party/libsrtp/srtp',
337 ],
338 'sources': [
339 'p2p/base/dtlstransportchannel_unittest.cc',
340 'p2p/base/fakesession.h',
341 'p2p/base/p2ptransportchannel_unittest.cc',
342 'p2p/base/port_unittest.cc',
343 'p2p/base/portallocatorsessionproxy_unittest.cc',
344 'p2p/base/pseudotcp_unittest.cc',
345 'p2p/base/relayport_unittest.cc',
346 'p2p/base/relayserver_unittest.cc',
347 'p2p/base/session_unittest.cc',
348 'p2p/base/stun_unittest.cc',
349 'p2p/base/stunport_unittest.cc',
350 'p2p/base/stunrequest_unittest.cc',
351 'p2p/base/stunserver_unittest.cc',
352 'p2p/base/testrelayserver.h',
353 'p2p/base/teststunserver.h',
354 'p2p/base/testturnserver.h',
355 'p2p/base/transport_unittest.cc',
356 'p2p/base/transportdescriptionfactory_unittest.cc',
357 'p2p/client/connectivitychecker_unittest.cc',
358 'p2p/client/fakeportallocator.h',
359 'p2p/client/portallocator_unittest.cc',
buildbot@webrtc.org5ee0f052014-05-05 20:18:08 +0000360 'session/media/bundlefilter_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000361 'session/media/channel_unittest.cc',
362 'session/media/channelmanager_unittest.cc',
363 'session/media/currentspeakermonitor_unittest.cc',
364 'session/media/mediarecorder_unittest.cc',
365 'session/media/mediamessages_unittest.cc',
366 'session/media/mediasession_unittest.cc',
367 'session/media/mediasessionclient_unittest.cc',
368 'session/media/rtcpmuxfilter_unittest.cc',
369 'session/media/srtpfilter_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000370 ],
371 'conditions': [
372 ['OS=="win"', {
373 'msvs_settings': {
374 'VCLinkerTool': {
375 'AdditionalDependencies': [
376 'strmiids.lib',
377 ],
378 },
379 },
380 }],
381 ],
382 }, # target libjingle_p2p_unittest
383 {
384 'target_name': 'libjingle_peerconnection_unittest',
385 'type': 'executable',
386 'dependencies': [
387 'gunit',
388 'libjingle.gyp:libjingle',
389 'libjingle.gyp:libjingle_p2p',
390 'libjingle.gyp:libjingle_peerconnection',
391 'libjingle_unittest_main',
392 ],
393 # TODO(ronghuawu): Reenable below unit tests that require gmock.
394 'sources': [
sergeyu@chromium.org183c7272013-11-13 22:59:20 +0000395 # 'app/webrtc/datachannel_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000396 'app/webrtc/dtmfsender_unittest.cc',
397 'app/webrtc/jsepsessiondescription_unittest.cc',
398 'app/webrtc/localaudiosource_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000399 # 'app/webrtc/mediastream_unittest.cc',
400 # 'app/webrtc/mediastreamhandler_unittest.cc',
401 'app/webrtc/mediastreamsignaling_unittest.cc',
402 'app/webrtc/peerconnection_unittest.cc',
wu@webrtc.org364f2042013-11-20 21:49:41 +0000403 'app/webrtc/peerconnectionendtoend_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000404 'app/webrtc/peerconnectionfactory_unittest.cc',
405 'app/webrtc/peerconnectioninterface_unittest.cc',
406 # 'app/webrtc/peerconnectionproxy_unittest.cc',
wu@webrtc.org967bfff2013-09-19 05:49:50 +0000407 'app/webrtc/remotevideocapturer_unittest.cc',
henrika@webrtc.orgaebb1ad2014-01-14 10:00:58 +0000408 'app/webrtc/sctputils.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000409 'app/webrtc/test/fakeaudiocapturemodule.cc',
410 'app/webrtc/test/fakeaudiocapturemodule.h',
411 'app/webrtc/test/fakeaudiocapturemodule_unittest.cc',
412 'app/webrtc/test/fakeconstraints.h',
wu@webrtc.orgcecfd182013-10-30 05:18:12 +0000413 'app/webrtc/test/fakedatachannelprovider.h',
wu@webrtc.org91053e72013-08-10 07:18:04 +0000414 'app/webrtc/test/fakedtlsidentityservice.h',
415 'app/webrtc/test/fakemediastreamsignaling.h',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000416 'app/webrtc/test/fakeperiodicvideocapturer.h',
417 'app/webrtc/test/fakevideotrackrenderer.h',
418 'app/webrtc/test/mockpeerconnectionobservers.h',
wu@webrtc.org364f2042013-11-20 21:49:41 +0000419 'app/webrtc/test/peerconnectiontestwrapper.h',
420 'app/webrtc/test/peerconnectiontestwrapper.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000421 'app/webrtc/test/testsdpstrings.h',
wu@webrtc.org967bfff2013-09-19 05:49:50 +0000422 'app/webrtc/videosource_unittest.cc',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000423 'app/webrtc/videotrack_unittest.cc',
424 'app/webrtc/webrtcsdp_unittest.cc',
425 'app/webrtc/webrtcsession_unittest.cc',
426 ],
427 }, # target libjingle_peerconnection_unittest
428 ],
429 'conditions': [
wu@webrtc.org9dba5252013-08-05 20:36:57 +0000430 ['OS=="linux"', {
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000431 'targets': [
432 {
433 'target_name': 'libjingle_peerconnection_test_jar',
434 'type': 'none',
435 'actions': [
436 {
437 'variables': {
438 'java_src_dir': 'app/webrtc/javatests/src',
439 'java_files': [
440 'app/webrtc/javatests/src/org/webrtc/PeerConnectionTest.java',
441 ],
442 },
443 'action_name': 'create_jar',
444 'inputs': [
445 'build/build_jar.sh',
446 '<@(java_files)',
447 '<(PRODUCT_DIR)/libjingle_peerconnection.jar',
448 '<(DEPTH)/third_party/junit/junit-4.11.jar',
449 ],
450 'outputs': [
451 '<(PRODUCT_DIR)/libjingle_peerconnection_test.jar',
452 ],
453 'action': [
fischman@webrtc.org85f07f52013-07-30 18:11:07 +0000454 'build/build_jar.sh', '<(java_home)', '<@(_outputs)',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000455 '<(INTERMEDIATE_DIR)',
456 '<(java_src_dir):<(PRODUCT_DIR)/libjingle_peerconnection.jar:<(DEPTH)/third_party/junit/junit-4.11.jar',
457 '<@(java_files)'
458 ],
459 },
460 ],
461 },
462 {
463 'target_name': 'libjingle_peerconnection_java_unittest',
464 'type': 'none',
465 'actions': [
466 {
467 'action_name': 'copy libjingle_peerconnection_java_unittest',
468 'inputs': [
469 'app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh',
470 '<(PRODUCT_DIR)/libjingle_peerconnection_test_jar',
471 '<(DEPTH)/third_party/junit/junit-4.11.jar',
472 ],
473 'outputs': [
474 '<(PRODUCT_DIR)/libjingle_peerconnection_java_unittest',
475 ],
476 'action': [
477 'bash', '-c',
478 'rm -f <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest && '
479 'sed -e "s@GYP_JAVA_HOME@<(java_home)@" '
480 '< app/webrtc/javatests/libjingle_peerconnection_java_unittest.sh '
481 '> <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest && '
482 'cp <(DEPTH)/third_party/junit/junit-4.11.jar <(PRODUCT_DIR) && '
483 'chmod u+x <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest'
484 ],
485 },
486 ],
487 },
488 ],
489 }],
fischman@webrtc.orge3de6b12013-08-26 19:31:21 +0000490 ['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', {
491 # The >=10.7 above is required to make ARC link cleanly (e.g. as
492 # opposed to _compile_ cleanly, which the library under test
493 # does just fine on 10.6 too).
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000494 'targets': [
495 {
fischman@webrtc.orga86c42c2014-04-29 18:37:29 +0000496 'target_name': 'libjingle_peerconnection_objc_test',
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000497 'type': 'executable',
fischman@webrtc.orga86c42c2014-04-29 18:37:29 +0000498 'includes': [ 'build/ios_tests.gypi', ],
499 'dependencies': [
500 'gunit',
501 'libjingle.gyp:libjingle_peerconnection_objc',
502 ],
503 'sources': [
504 'app/webrtc/objctests/RTCPeerConnectionSyncObserver.h',
505 'app/webrtc/objctests/RTCPeerConnectionSyncObserver.m',
506 'app/webrtc/objctests/RTCPeerConnectionTest.mm',
507 'app/webrtc/objctests/RTCSessionDescriptionSyncObserver.h',
508 'app/webrtc/objctests/RTCSessionDescriptionSyncObserver.m',
509 # TODO(fischman): figure out if this works for ios or if it
510 # needs a GUI driver.
511 'app/webrtc/objctests/mac/main.mm',
512 ],
513 'FRAMEWORK_SEARCH_PATHS': [
514 '$(inherited)',
515 '$(SDKROOT)/Developer/Library/Frameworks',
516 '$(DEVELOPER_LIBRARY_DIR)/Frameworks',
517 ],
518
519 # TODO(fischman): there is duplication here with
520 # build/ios_tests.gypi, because for historical reasons the
521 # mac x64 bots expect this unittest to be in a bundle
522 # directory (.app). Once the bots don't expect this
523 # anymore, remove this duplication.
524 'variables': {
525 'infoplist_file': 'build/ios_test.plist',
526 },
kjellander@webrtc.org7d825e92014-04-28 12:50:47 +0000527 'mac_bundle': 1,
528 'mac_bundle_resources': [
529 '<(infoplist_file)',
530 ],
531 # The plist is listed above so that it appears in XCode's file list,
532 # but we don't actually want to bundle it.
533 'mac_bundle_resources!': [
534 '<(infoplist_file)',
535 ],
536 'xcode_settings': {
537 'CLANG_ENABLE_OBJC_ARC': 'YES',
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000538 # common.gypi enables this for mac but we want this to be disabled
539 # like it is for ios.
540 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO',
kjellander@webrtc.org7d825e92014-04-28 12:50:47 +0000541 'INFOPLIST_FILE': '<(infoplist_file)',
542 },
tkchin@webrtc.orgff273322014-04-30 18:32:33 +0000543 'conditions': [
544 ['OS=="mac"', {
545 'xcode_settings': {
546 # Need to build against 10.7 framework for full ARC support
547 # on OSX.
548 'MACOSX_DEPLOYMENT_TARGET' : '10.7',
549 },
550 }],
551 ],
fischman@webrtc.orge3de6b12013-08-26 19:31:21 +0000552 }, # target libjingle_peerconnection_objc_test
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000553 ],
554 }],
kjellander@webrtc.orge6938182013-10-04 19:31:27 +0000555 ['test_isolation_mode != "noop"', {
556 'targets': [
557 {
558 'target_name': 'libjingle_media_unittest_run',
559 'type': 'none',
560 'dependencies': [
561 'libjingle_media_unittest',
562 ],
563 'includes': [
564 'build/isolate.gypi',
565 'libjingle_media_unittest.isolate',
566 ],
567 'sources': [
568 'libjingle_media_unittest.isolate',
569 ],
570 },
571 {
572 'target_name': 'libjingle_p2p_unittest_run',
573 'type': 'none',
574 'dependencies': [
575 'libjingle_p2p_unittest',
576 ],
577 'includes': [
578 'build/isolate.gypi',
579 'libjingle_p2p_unittest.isolate',
580 ],
581 'sources': [
582 'libjingle_p2p_unittest.isolate',
583 ],
584 },
585 {
586 'target_name': 'libjingle_peerconnection_unittest_run',
587 'type': 'none',
588 'dependencies': [
589 'libjingle_peerconnection_unittest',
590 ],
591 'includes': [
592 'build/isolate.gypi',
593 'libjingle_peerconnection_unittest.isolate',
594 ],
595 'sources': [
596 'libjingle_peerconnection_unittest.isolate',
597 ],
598 },
599 {
600 'target_name': 'libjingle_sound_unittest_run',
601 'type': 'none',
602 'dependencies': [
603 'libjingle_sound_unittest',
604 ],
605 'includes': [
606 'build/isolate.gypi',
607 'libjingle_sound_unittest.isolate',
608 ],
609 'sources': [
610 'libjingle_sound_unittest.isolate',
611 ],
612 },
613 {
614 'target_name': 'libjingle_unittest_run',
615 'type': 'none',
616 'dependencies': [
617 'libjingle_unittest',
618 ],
619 'includes': [
620 'build/isolate.gypi',
621 'libjingle_unittest.isolate',
622 ],
623 'sources': [
624 'libjingle_unittest.isolate',
625 ],
626 },
627 ],
628 }],
henrike@webrtc.org28e20752013-07-10 00:45:36 +0000629 ],
630}