Index: webrtc/modules/video_capture/BUILD.gn |
diff --git a/webrtc/modules/video_capture/BUILD.gn b/webrtc/modules/video_capture/BUILD.gn |
index b382ca0670b425dad91df9c0de1545f2efa2406a..5176862c429f102b79e75da78cc396462a6875d7 100644 |
--- a/webrtc/modules/video_capture/BUILD.gn |
+++ b/webrtc/modules/video_capture/BUILD.gn |
@@ -86,7 +86,38 @@ if (!build_with_chromium) { |
} |
} |
- rtc_static_library("video_capture_internal_impl") { |
+ if (is_ios || is_mac) { |
+ rtc_source_set("video_capture_internal_impl_objc") { |
+ visibility = [ ":video_capture_internal_impl" ] |
+ configs += [ ":video_capture_internal_impl_warnings_config" ] |
+ |
+ deps = [ |
+ ":video_capture_module", |
+ "../../rtc_base:rtc_base_approved", |
+ "../../system_wrappers", |
+ ] |
+ |
+ sources = [ |
+ "objc/device_info.h", |
+ "objc/device_info.mm", |
+ "objc/device_info_objc.h", |
+ "objc/device_info_objc.mm", |
+ "objc/rtc_video_capture_objc.h", |
+ "objc/rtc_video_capture_objc.mm", |
+ "objc/video_capture.h", |
+ "objc/video_capture.mm", |
+ ] |
+ |
+ all_dependent_configs = [ ":video_capture_internal_impl_config" ] |
+ |
+ if (!build_with_chromium && is_clang) { |
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
+ } |
+ } |
+ } |
+ |
+ rtc_source_set("video_capture_internal_impl") { |
configs += [ ":video_capture_internal_impl_warnings_config" ] |
deps = [ |
@@ -129,16 +160,7 @@ if (!build_with_chromium) { |
deps += [ "//third_party/winsdk_samples" ] |
} |
if (is_ios || is_mac) { |
- sources = [ |
- "objc/device_info.h", |
- "objc/device_info.mm", |
- "objc/device_info_objc.h", |
- "objc/device_info_objc.mm", |
- "objc/rtc_video_capture_objc.h", |
- "objc/rtc_video_capture_objc.mm", |
- "objc/video_capture.h", |
- "objc/video_capture.mm", |
- ] |
+ deps += [ ":video_capture_internal_impl_objc" ] |
} |
all_dependent_configs = [ ":video_capture_internal_impl_config" ] |