Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(933)

Unified Diff: webrtc/api/BUILD.gn

Issue 2054413002: GN: Add peerconnection_unittests (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Improved documentation Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | webrtc/api/api_tests.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/api/BUILD.gn
diff --git a/webrtc/api/BUILD.gn b/webrtc/api/BUILD.gn
index ecef934a3e610e6b3db3071ae165bdfc149b08d3..cb3066eae69a3b0a580e4658a14b6cf76044d799 100644
--- a/webrtc/api/BUILD.gn
+++ b/webrtc/api/BUILD.gn
@@ -7,6 +7,7 @@
# be found in the AUTHORS file in the root of the source tree.
import("../build/webrtc.gni")
+import("//testing/test.gni")
group("api") {
deps = [
@@ -105,9 +106,7 @@ source_set("libjingle_peerconnection") {
public_configs = [ "..:common_inherited_config" ]
if (is_clang) {
- # Suppress warnings from Chrome's Clang plugins.
- # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
- configs -= [ "//build/config/clang:extra_warnings" ]
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
configs -= [ "//build/config/clang:find_bad_constructs" ]
}
@@ -134,3 +133,197 @@ source_set("libjingle_peerconnection") {
]
}
}
+
+if (is_android) {
+ config("libjingle_peerconnection_jni_warnings_config") {
+ # The warnings below are enabled by default. Since GN orders compiler flags
+ # for a target before flags from configs, the only way to disable such
+ # warnings is by having them in a separate config, loaded from the target.
+ if (!is_win) {
+ cflags = [
+ "-Wno-sign-compare",
+ "-Wno-unused-variable",
+ ]
+ }
+ }
+
+ source_set("libjingle_peerconnection_jni") {
+ sources = [
+ "androidvideocapturer.cc",
+ "androidvideocapturer.h",
+ "java/jni/androidmediacodeccommon.h",
+ "java/jni/androidmediadecoder_jni.cc",
+ "java/jni/androidmediadecoder_jni.h",
+ "java/jni/androidmediaencoder_jni.cc",
+ "java/jni/androidmediaencoder_jni.h",
+ "java/jni/androidmetrics_jni.cc",
+ "java/jni/androidnetworkmonitor_jni.cc",
+ "java/jni/androidnetworkmonitor_jni.h",
+ "java/jni/androidvideocapturer_jni.cc",
+ "java/jni/androidvideocapturer_jni.h",
+ "java/jni/classreferenceholder.cc",
+ "java/jni/classreferenceholder.h",
+ "java/jni/jni_helpers.cc",
+ "java/jni/jni_helpers.h",
+ "java/jni/native_handle_impl.cc",
+ "java/jni/native_handle_impl.h",
+ "java/jni/peerconnection_jni.cc",
+ "java/jni/surfacetexturehelper_jni.cc",
+ "java/jni/surfacetexturehelper_jni.h",
+ ]
+
+ configs += [
+ "..:common_config",
+ ":libjingle_peerconnection_jni_warnings_config",
+ ]
+ public_configs = [ "..:common_inherited_config" ]
+
+ if (is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+ configs -= [
+ "//build/config/clang:extra_warnings",
+ "//build/config/clang:find_bad_constructs",
+ ]
+ }
+
+ # TODO(jschuh): Bug 1348: fix this warning.
+ configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+
+ if (is_win) {
+ cflags += [
+ "/wd4245", # conversion from "int" to "size_t", signed/unsigned mismatch.
+ "/wd4389", # signed/unsigned mismatch.
+ ]
+ }
+
+ deps = [
+ ":libjingle_peerconnection",
+ "../system_wrappers:field_trial_default",
+ "../system_wrappers:metrics_default",
+ ]
+
+ if (rtc_build_libyuv) {
+ deps += [ "$rtc_libyuv_dir" ]
+ public_deps = [
+ "$rtc_libyuv_dir",
+ ]
+ } else {
+ # Need to add a directory normally exported by libyuv.
+ include_dirs += [ "$rtc_libyuv_dir/include" ]
+ }
+ }
+}
+
+if (rtc_include_tests) {
+ config("peerconnection_unittests_config") {
+ # The warnings below are enabled by default. Since GN orders compiler flags
+ # for a target before flags from configs, the only way to disable such
+ # warnings is by having them in a separate config, loaded from the target.
+ # TODO(kjellander): Make the code compile without disabling these flags.
+ # See https://bugs.webrtc.org/3307.
+ if (is_clang && is_win) {
+ cflags = [ "-Wno-unused-function" ]
+ }
+
+ if (!is_win) {
+ cflags = [ "-Wno-sign-compare" ]
+ cflags_cc = [ "-Wno-overloaded-virtual" ]
+ }
+ }
+
+ test("peerconnection_unittests") {
+ testonly = true
+ sources = [
+ "datachannel_unittest.cc",
+ "dtmfsender_unittest.cc",
+ "fakemetricsobserver.cc",
+ "fakemetricsobserver.h",
+ "jsepsessiondescription_unittest.cc",
+ "localaudiosource_unittest.cc",
+ "mediaconstraintsinterface_unittest.cc",
+ "mediastream_unittest.cc",
+ "peerconnection_unittest.cc",
+ "peerconnectionendtoend_unittest.cc",
+ "peerconnectionfactory_unittest.cc",
+ "peerconnectioninterface_unittest.cc",
+ "proxy_unittest.cc",
+ "rtpsenderreceiver_unittest.cc",
+ "statscollector_unittest.cc",
+ "test/fakeaudiocapturemodule.cc",
+ "test/fakeaudiocapturemodule.h",
+ "test/fakeaudiocapturemodule_unittest.cc",
+ "test/fakeconstraints.h",
+ "test/fakedatachannelprovider.h",
+ "test/fakeperiodicvideocapturer.h",
+ "test/fakertccertificategenerator.h",
+ "test/fakevideotrackrenderer.h",
+ "test/mockpeerconnectionobservers.h",
+ "test/peerconnectiontestwrapper.cc",
+ "test/peerconnectiontestwrapper.h",
+ "test/testsdpstrings.h",
+ "videocapturertracksource_unittest.cc",
+ "videotrack_unittest.cc",
+ "webrtcsdp_unittest.cc",
+ "webrtcsession_unittest.cc",
+ ]
+
+ defines = [ "HAVE_SCTP" ]
+
+ configs += [
+ "..:common_config",
+ ":peerconnection_unittests_config",
+ ]
+ public_configs = [ "..:common_inherited_config" ]
+
+ if (is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
+ }
+
+ # TODO(jschuh): Bug 1348: fix this warning.
+ configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+
+ if (is_win) {
+ cflags = [
+ "/wd4245", # conversion from int to size_t, signed/unsigned mismatch.
+ "/wd4389", # signed/unsigned mismatch.
+ ]
+ }
+
+ if (rtc_use_quic) {
+ public_deps = [
+ "//third_party/libquic",
+ ]
+ sources += [
+ "quicdatachannel_unittest.cc",
+ "quicdatatransport_unittest.cc",
+ ]
+ }
+
+ deps = []
+ if (is_android) {
+ sources += [
+ "test/androidtestinitializer.cc",
+ "test/androidtestinitializer.h",
+ ]
+ deps += [
+ ":libjingle_peerconnection_jni",
+ "//testing/android/native_test:native_test_support",
+ ]
+ }
+
+ deps += [
+ ":libjingle_peerconnection",
+ "..:webrtc_common",
+ "../base:rtc_base_tests_utils",
+ "../media:rtc_unittest_main",
+ "../pc:rtc_pc",
+ "../system_wrappers:metrics_default",
+ "//testing/gmock",
+ ]
+
+ if (is_android) {
+ deps += [ "//testing/android/native_test:native_test_support" ]
+ }
+ }
+}
« no previous file with comments | « no previous file | webrtc/api/api_tests.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698