Chromium Code Reviews| Index: webrtc/media/BUILD.gn |
| diff --git a/webrtc/media/BUILD.gn b/webrtc/media/BUILD.gn |
| index c245d6ee3e67a9412e22b756f1e94c0b9cf83a42..6a9950de1fd675000588f6e885226a15b68ef3f0 100644 |
| --- a/webrtc/media/BUILD.gn |
| +++ b/webrtc/media/BUILD.gn |
| @@ -8,6 +8,7 @@ |
| import("//build/config/linux/pkg_config.gni") |
| import("../build/webrtc.gni") |
| +import("//testing/test.gni") |
| group("media") { |
| deps = [ |
| @@ -125,10 +126,11 @@ source_set("rtc_media") { |
| 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" ] |
| - configs -= [ "//build/config/clang:find_bad_constructs" ] |
| + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
| + configs -= [ |
| + "//build/config/clang:extra_warnings", |
| + "//build/config/clang:find_bad_constructs", |
| + ] |
| } |
| if (is_win) { |
| @@ -161,7 +163,6 @@ source_set("rtc_media") { |
| if (build_with_chromium) { |
| deps += [ "../modules/video_capture:video_capture" ] |
| } else { |
| - configs += [ ":rtc_media_defines_config" ] |
|
kjellander_webrtc
2016/06/10 09:33:33
(since already present as public_configs, this doe
|
| public_configs += [ ":rtc_media_defines_config" ] |
| deps += [ "../modules/video_capture:video_capture_internal_impl" ] |
| } |
| @@ -197,10 +198,167 @@ source_set("rtc_media") { |
| deps += [ |
| "..:webrtc_common", |
| "../base:rtc_base_approved", |
| + "../call", |
| "../libjingle/xmllite", |
| "../libjingle/xmpp", |
| + "../modules/video_coding", |
| "../p2p", |
| "../system_wrappers", |
| + "../video", |
| "../voice_engine", |
| ] |
| } |
| + |
| +if (rtc_include_tests) { |
| + config("rtc_unittest_main_config") { |
| + # GN orders flags on a target before flags from configs. The default config |
| + # adds -Wall, and this flag have to be after -Wall -- so they need to |
| + # come from a config and can"t be on the target directly. |
| + if (is_clang && is_ios) { |
| + cflags = [ "-Wno-unused-variable" ] |
| + } |
| + } |
| + |
| + source_set("rtc_unittest_main") { |
| + testonly = true |
| + |
| + deps = [] |
| + sources = [ |
| + "base/fakemediaengine.h", |
| + "base/fakenetworkinterface.h", |
| + "base/fakertp.h", |
| + "base/fakevideocapturer.h", |
| + "base/fakevideorenderer.h", |
| + "base/testutils.cc", |
| + "base/testutils.h", |
| + "engine/fakewebrtccall.cc", |
| + "engine/fakewebrtccall.h", |
| + "engine/fakewebrtccommon.h", |
| + "engine/fakewebrtcdeviceinfo.h", |
| + "engine/fakewebrtcvcmfactory.h", |
| + "engine/fakewebrtcvideocapturemodule.h", |
| + "engine/fakewebrtcvideoengine.h", |
| + "engine/fakewebrtcvoiceengine.h", |
| + ] |
| + |
| + configs += [ |
| + "..:common_config", |
| + ":rtc_unittest_main_config", |
| + ] |
| + public_configs = [ "..:common_inherited_config" ] |
| + |
| + 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 (is_clang) { |
| + # Suppress warnings from the Chromium Clang plugin. |
| + # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. |
| + configs -= [ "//build/config/clang:find_bad_constructs" ] |
| + } |
| + |
| + deps += [ |
| + "../base:rtc_base_tests_utils", |
| + "//testing/gtest", |
| + ] |
| + public_deps += [ "//testing/gmock" ] |
| + } |
| + |
| + config("rtc_media_unittests_config") { |
| + # GN orders flags on a target before flags from configs. The default config |
| + # adds -Wall, and this flag have to be after -Wall -- so they need to |
| + # come from a config and can"t be on the target directly. |
| + # TODO(kjellander): Make the code compile without disabling these flags. |
| + # See https://bugs.webrtc.org/3307. |
| + if (is_clang) { |
| + cflags = [ "-Wno-sign-compare" ] |
| + if (is_win) { |
| + cflags += [ "-Wno-unused-function" ] |
| + } |
| + } |
| + if (!is_win) { |
| + cflags_cc = [ "-Wno-overloaded-virtual" ] |
| + } |
| + } |
| + |
| + test("rtc_media_unittests") { |
| + testonly = true |
| + |
| + deps = [] |
| + sources = [ |
| + "base/codec_unittest.cc", |
| + "base/rtpdataengine_unittest.cc", |
| + "base/rtpdump_unittest.cc", |
| + "base/rtputils_unittest.cc", |
| + "base/streamparams_unittest.cc", |
| + "base/turnutils_unittest.cc", |
| + "base/videoadapter_unittest.cc", |
| + "base/videobroadcaster_unittest.cc", |
| + "base/videocapturer_unittest.cc", |
| + "base/videocommon_unittest.cc", |
| + "base/videoengine_unittest.h", |
| + "base/videoframe_unittest.h", |
| + "engine/nullwebrtcvideoengine_unittest.cc", |
| + "engine/simulcast_unittest.cc", |
| + "engine/webrtcmediaengine_unittest.cc", |
| + "engine/webrtcvideocapturer_unittest.cc", |
| + "engine/webrtcvideoengine2_unittest.cc", |
| + "engine/webrtcvideoframe_unittest.cc", |
| + "engine/webrtcvideoframefactory_unittest.cc", |
| + "engine/webrtcvoiceengine_unittest.cc", |
| + "sctp/sctpdataengine_unittest.cc", |
| + ] |
| + |
| + configs += [ |
| + "..:common_config", |
| + ":rtc_media_unittests_config", |
| + ] |
| + public_configs = [ "..:common_inherited_config" ] |
| + |
| + if (is_win) { |
| + cflags = [ |
| + "/wd4245", # conversion from int to size_t, signed/unsigned mismatch. |
| + "/wd4389", # signed/unsigned mismatch. |
| + ] |
| + } |
| + |
| + 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", |
| + ] |
| + } |
| + |
| + if (is_android) { |
| + deps += [ "//testing/android/native_test:native_test_support" ] |
| + |
| + # This needs to be kept in sync with the rtc_media_unittests.isolate file. |
| + # TODO(kjellander); Move this to android_assets targets instead. |
| + data = [ |
| + "//resources/media/captured-320x240-2s-48.frames", |
| + "//resources/media/faces.1280x720_P420.yuv", |
| + "//resources/media/faces_I420.jpg", |
| + "//resources/media/faces_I422.jpg", |
| + "//resources/media/faces_I444.jpg", |
| + "//resources/media/faces_I411.jpg", |
| + "//resources/media/faces_I400.jpg", |
| + ] |
| + } |
| + |
| + deps += [ |
| + # TODO(kjellander): Move as part of work in bugs.webrtc.org/4243. |
| + ":rtc_media", |
| + ":rtc_unittest_main", |
| + "../audio", |
| + "../base:rtc_base_tests_utils", |
| + "../system_wrappers:metrics_default", |
| + ] |
| + } |
| +} |