OLD | NEW |
1 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 1 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
2 # | 2 # |
3 # Use of this source code is governed by a BSD-style license | 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 | 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 | 5 # tree. An additional intellectual property rights grant can be found |
6 # in the file PATENTS. All contributing project authors may | 6 # in the file PATENTS. All contributing project authors may |
7 # be found in the AUTHORS file in the root of the source tree. | 7 # be found in the AUTHORS file in the root of the source tree. |
8 | 8 |
9 { | 9 { |
10 'includes': [ '../build/common.gypi', ], | 10 'includes': [ '../build/common.gypi', ], |
| 11 'targets': [ |
| 12 { |
| 13 'target_name': 'peerconnection_unittests', |
| 14 'type': '<(gtest_target_type)', |
| 15 'dependencies': [ |
| 16 '<(DEPTH)/testing/gmock.gyp:gmock', |
| 17 '<(webrtc_root)/api/api.gyp:libjingle_peerconnection', |
| 18 '<(webrtc_root)/base/base_tests.gyp:rtc_base_tests_utils', |
| 19 '<(webrtc_root)/common.gyp:webrtc_common', |
| 20 '../../talk/libjingle.gyp:libjingle', |
| 21 '../../talk/libjingle.gyp:libjingle_p2p', |
| 22 '../../talk/libjingle_tests.gyp:libjingle_unittest_main', |
| 23 ], |
| 24 'direct_dependent_settings': { |
| 25 'include_dirs': [ |
| 26 '<(DEPTH)/testing/gmock/include', |
| 27 ], |
| 28 }, |
| 29 'defines': [ |
| 30 # Feature selection. |
| 31 'HAVE_SCTP', |
| 32 ], |
| 33 'sources': [ |
| 34 'datachannel_unittest.cc', |
| 35 'dtlsidentitystore_unittest.cc', |
| 36 'dtmfsender_unittest.cc', |
| 37 'fakemetricsobserver.cc', |
| 38 'fakemetricsobserver.h', |
| 39 'jsepsessiondescription_unittest.cc', |
| 40 'localaudiosource_unittest.cc', |
| 41 'mediastream_unittest.cc', |
| 42 'peerconnection_unittest.cc', |
| 43 'peerconnectionendtoend_unittest.cc', |
| 44 'peerconnectionfactory_unittest.cc', |
| 45 'peerconnectioninterface_unittest.cc', |
| 46 # 'peerconnectionproxy_unittest.cc', |
| 47 'remotevideocapturer_unittest.cc', |
| 48 'rtpsenderreceiver_unittest.cc', |
| 49 'statscollector_unittest.cc', |
| 50 'test/fakeaudiocapturemodule.cc', |
| 51 'test/fakeaudiocapturemodule.h', |
| 52 'test/fakeaudiocapturemodule_unittest.cc', |
| 53 'test/fakeconstraints.h', |
| 54 'test/fakedatachannelprovider.h', |
| 55 'test/fakedtlsidentitystore.h', |
| 56 'test/fakeperiodicvideocapturer.h', |
| 57 'test/fakevideotrackrenderer.h', |
| 58 'test/mockpeerconnectionobservers.h', |
| 59 'test/peerconnectiontestwrapper.h', |
| 60 'test/peerconnectiontestwrapper.cc', |
| 61 'test/testsdpstrings.h', |
| 62 'videosource_unittest.cc', |
| 63 'videotrack_unittest.cc', |
| 64 'webrtcsdp_unittest.cc', |
| 65 'webrtcsession_unittest.cc', |
| 66 ], |
| 67 # TODO(kjellander): Make the code compile without disabling these flags. |
| 68 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307 |
| 69 'cflags': [ |
| 70 '-Wno-sign-compare', |
| 71 ], |
| 72 'cflags!': [ |
| 73 '-Wextra', |
| 74 ], |
| 75 'cflags_cc!': [ |
| 76 '-Wnon-virtual-dtor', |
| 77 '-Woverloaded-virtual', |
| 78 ], |
| 79 'msvs_disabled_warnings': [ |
| 80 4245, # conversion from 'int' to 'size_t', signed/unsigned mismatch. |
| 81 4267, # conversion from 'size_t' to 'int', possible loss of data. |
| 82 4389, # signed/unsigned mismatch. |
| 83 ], |
| 84 'conditions': [ |
| 85 ['clang==1', { |
| 86 # TODO(kjellander): Make the code compile without disabling these flag
s. |
| 87 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307 |
| 88 'cflags!': [ |
| 89 '-Wextra', |
| 90 ], |
| 91 'xcode_settings': { |
| 92 'WARNING_CFLAGS!': ['-Wextra'], |
| 93 }, |
| 94 }], |
| 95 ['OS=="android"', { |
| 96 'sources': [ |
| 97 'test/androidtestinitializer.cc', |
| 98 'test/androidtestinitializer.h', |
| 99 ], |
| 100 'dependencies': [ |
| 101 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', |
| 102 '<(webrtc_root)/api/api.gyp:libjingle_peerconnection_jni', |
| 103 ], |
| 104 }], |
| 105 ['OS=="win" and clang==1', { |
| 106 'msvs_settings': { |
| 107 'VCCLCompilerTool': { |
| 108 'AdditionalOptions': [ |
| 109 # Disable warnings failing when compiling with Clang on Windows. |
| 110 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366 |
| 111 '-Wno-sign-compare', |
| 112 '-Wno-unused-function', |
| 113 ], |
| 114 }, |
| 115 }, |
| 116 }], |
| 117 ], # conditions |
| 118 }, # target peerconnection_unittests |
| 119 ], # targets |
11 'conditions': [ | 120 'conditions': [ |
| 121 ['OS=="linux"', { |
| 122 'variables': { |
| 123 'junit_jar': '<(DEPTH)/third_party/junit-jar/junit-4.11.jar', |
| 124 }, |
| 125 'targets': [ |
| 126 { |
| 127 'target_name': 'libjingle_peerconnection_test_jar', |
| 128 'type': 'none', |
| 129 'dependencies': [ |
| 130 '<(webrtc_root)/api/api.gyp:libjingle_peerconnection_jar', |
| 131 ], |
| 132 'actions': [ |
| 133 { |
| 134 'variables': { |
| 135 'java_src_dir': 'javatests/src', |
| 136 'java_files': [ |
| 137 'java/testcommon/src/org/webrtc/PeerConnectionTest.java', |
| 138 'javatests/src/org/webrtc/PeerConnectionTestJava.java', |
| 139 ], |
| 140 }, |
| 141 'action_name': 'create_jar', |
| 142 'inputs': [ |
| 143 '../build/build_jar.sh', |
| 144 '<@(java_files)', |
| 145 '<(PRODUCT_DIR)/libjingle_peerconnection.jar', |
| 146 '<(PRODUCT_DIR)/lib/libjingle_peerconnection_so.so', |
| 147 '<(junit_jar)', |
| 148 ], |
| 149 'outputs': [ |
| 150 '<(PRODUCT_DIR)/libjingle_peerconnection_test.jar', |
| 151 ], |
| 152 'action': [ |
| 153 '../build/build_jar.sh', '<(java_home)', '<@(_outputs)', |
| 154 '<(INTERMEDIATE_DIR)', |
| 155 '<(java_src_dir):<(PRODUCT_DIR)/libjingle_peerconnection.jar:<(j
unit_jar)', |
| 156 '<@(java_files)' |
| 157 ], |
| 158 }, |
| 159 ], # actions |
| 160 }, # target libjingle_peerconnection_test_jar |
| 161 { |
| 162 'target_name': 'libjingle_peerconnection_java_unittest', |
| 163 'type': 'none', |
| 164 'actions': [ |
| 165 { |
| 166 'action_name': 'copy libjingle_peerconnection_java_unittest', |
| 167 'inputs': [ |
| 168 'javatests/libjingle_peerconnection_java_unittest.sh', |
| 169 '<(PRODUCT_DIR)/libjingle_peerconnection_test_jar', |
| 170 '<(junit_jar)', |
| 171 ], |
| 172 'outputs': [ |
| 173 '<(PRODUCT_DIR)/libjingle_peerconnection_java_unittest', |
| 174 ], |
| 175 'action': [ |
| 176 'bash', '-c', |
| 177 'rm -f <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest &&
' |
| 178 'sed -e "s@GYP_JAVA_HOME@<(java_home)@" ' |
| 179 '< javatests/libjingle_peerconnection_java_unittest.sh ' |
| 180 '> <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest && ' |
| 181 'cp <(junit_jar) <(PRODUCT_DIR) && ' |
| 182 'chmod u+x <(PRODUCT_DIR)/libjingle_peerconnection_java_unittest
' |
| 183 ], |
| 184 }, |
| 185 ], # actions |
| 186 }, # target libjingle_peerconnection_java_unittest |
| 187 ], # targets |
| 188 }], # OS=="linux" |
| 189 ['OS=="android"', { |
| 190 'targets': [ |
| 191 { |
| 192 'target_name': 'libjingle_peerconnection_android_unittest', |
| 193 'type': 'none', |
| 194 'dependencies': [ |
| 195 '<(webrtc_root)/api/api.gyp:libjingle_peerconnection_java', |
| 196 ], |
| 197 'variables': { |
| 198 'apk_name': 'libjingle_peerconnection_android_unittest', |
| 199 'java_in_dir': 'androidtests', |
| 200 'resource_dir': 'androidtests/res', |
| 201 'additional_src_dirs': ['java/testcommon'], |
| 202 'native_lib_target': 'libjingle_peerconnection_so', |
| 203 'is_test_apk': 1, |
| 204 'never_lint': 1, |
| 205 }, |
| 206 'includes': [ '../../build/java_apk.gypi' ], |
| 207 }, |
| 208 ], # targets |
| 209 }], # OS=="android" |
12 ['OS=="ios"', { | 210 ['OS=="ios"', { |
13 'targets': [ | 211 'targets': [ |
14 { | 212 { |
15 'target_name': 'rtc_api_objc_test', | 213 'target_name': 'rtc_api_objc_test', |
16 'type': 'executable', | 214 'type': 'executable', |
17 'dependencies': [ | 215 'dependencies': [ |
18 '<(webrtc_root)/api/api.gyp:rtc_api_objc', | 216 '<(webrtc_root)/api/api.gyp:rtc_api_objc', |
19 '<(webrtc_root)/base/base_tests.gyp:rtc_base_tests_utils', | 217 '<(webrtc_root)/base/base_tests.gyp:rtc_base_tests_utils', |
20 ], | 218 ], |
21 'sources': [ | 219 'sources': [ |
22 'objctests/RTCIceCandidateTest.mm', | 220 'objctests/RTCIceCandidateTest.mm', |
23 'objctests/RTCIceServerTest.mm', | 221 'objctests/RTCIceServerTest.mm', |
24 'objctests/RTCMediaConstraintsTest.mm', | 222 'objctests/RTCMediaConstraintsTest.mm', |
25 'objctests/RTCSessionDescriptionTest.mm', | 223 'objctests/RTCSessionDescriptionTest.mm', |
26 ], | 224 ], |
27 'xcode_settings': { | 225 'xcode_settings': { |
28 'CLANG_ENABLE_OBJC_ARC': 'YES', | 226 'CLANG_ENABLE_OBJC_ARC': 'YES', |
29 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'YES', | 227 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'YES', |
30 'GCC_PREFIX_HEADER': 'objc/WebRTC-Prefix.pch', | 228 'GCC_PREFIX_HEADER': 'objc/WebRTC-Prefix.pch', |
31 # |-ObjC| flag needed to make sure category method implementations | 229 # |-ObjC| flag needed to make sure category method implementations |
32 # are included: | 230 # are included: |
33 # https://developer.apple.com/library/mac/qa/qa1490/_index.html | 231 # https://developer.apple.com/library/mac/qa/qa1490/_index.html |
34 'OTHER_LDFLAGS': ['-ObjC'], | 232 'OTHER_LDFLAGS': ['-ObjC'], |
35 }, | 233 }, |
36 } | 234 }, |
37 ], | 235 ], |
38 }], # OS=="ios" | 236 }], # OS=="ios" |
39 ], | 237 ['OS=="android"', { |
| 238 'targets': [ |
| 239 { |
| 240 'target_name': 'peerconnection_unittests_apk_target', |
| 241 'type': 'none', |
| 242 'dependencies': [ |
| 243 '<(apk_tests_path):peerconnection_unittests_apk', |
| 244 ], |
| 245 }, |
| 246 ], |
| 247 }], # OS=="android" |
| 248 ['test_isolation_mode != "noop"', { |
| 249 'targets': [ |
| 250 { |
| 251 'target_name': 'peerconnection_unittests_run', |
| 252 'type': 'none', |
| 253 'dependencies': [ |
| 254 'peerconnection_unittests', |
| 255 ], |
| 256 'includes': [ |
| 257 '../build/isolate.gypi', |
| 258 ], |
| 259 'sources': [ |
| 260 'peerconnection_unittests.isolate', |
| 261 ], |
| 262 }, |
| 263 ], # targets |
| 264 }], # test_isolation_mode != "noop" |
| 265 ], # conditions |
40 } | 266 } |
OLD | NEW |