Mirko Bonadei 61a7b141eb Removing conditional visibility.
Conditional visibility is complex to maintain and it is not well
supported by other build systems.

This CL removes it and falls back on the more relaxed visibility value
("*" in this case).
It is not a problem because the targets that are using conditional
visibility are all marked as "testonly" and this is probably enough to
keep the build graph clean.

Bug: None
Change-Id: I2d2b5ac9a02d08c2863950116db455976ee1459c
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/14902
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20658}
2017-11-13 15:39:11 +00:00

355 lines
9.4 KiB
Plaintext

# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
import("//build/config/ui.gni")
import("../../webrtc.gni")
use_desktop_capture_differ_sse2 = current_cpu == "x86" || current_cpu == "x64"
rtc_static_library("primitives") {
sources = [
"desktop_capture_types.h",
"desktop_frame.cc",
"desktop_frame.h",
"desktop_geometry.cc",
"desktop_geometry.h",
"desktop_region.cc",
"desktop_region.h",
"shared_desktop_frame.cc",
"shared_desktop_frame.h",
"shared_memory.cc",
"shared_memory.h",
]
deps = [
"../..:webrtc_common",
"../../rtc_base:rtc_base", # TODO(kjellander): Cleanup in bugs.webrtc.org/3806.
]
}
if (rtc_include_tests) {
rtc_source_set("desktop_capture_modules_tests") {
testonly = true
sources = []
deps = []
if (rtc_desktop_capture_supported) {
deps += [
":desktop_capture_mock",
":primitives",
":screen_drawer",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../../test:test_support",
"../../test:video_test_support",
]
sources += [
"screen_capturer_integration_test.cc",
"screen_drawer_unittest.cc",
"window_finder_unittest.cc",
]
}
}
rtc_source_set("desktop_capture_unittests") {
testonly = true
sources = [
"blank_detector_desktop_capturer_wrapper_unittest.cc",
"cropped_desktop_frame_unittest.cc",
"desktop_and_cursor_composer_unittest.cc",
"desktop_capturer_differ_wrapper_unittest.cc",
"desktop_frame_rotation_unittest.cc",
"desktop_geometry_unittest.cc",
"desktop_region_unittest.cc",
"differ_block_unittest.cc",
"fallback_desktop_capturer_wrapper_unittest.cc",
"mouse_cursor_monitor_unittest.cc",
"rgba_color_unittest.cc",
"test_utils.cc",
"test_utils.h",
"test_utils_unittest.cc",
"win/cursor_unittest.cc",
"win/cursor_unittest_resources.h",
"win/cursor_unittest_resources.rc",
"win/screen_capture_utils_unittest.cc",
"win/screen_capturer_win_directx_unittest.cc",
]
deps = [
":desktop_capture",
":desktop_capture_mock",
":primitives",
"../..:webrtc_common",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../../test:test_support",
"//testing/gmock",
]
if (rtc_desktop_capture_supported) {
sources += [
"screen_capturer_helper_unittest.cc",
"screen_capturer_mac_unittest.cc",
"screen_capturer_unittest.cc",
"window_capturer_unittest.cc",
]
deps += [ ":desktop_capture_mock" ]
}
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" ]
}
}
source_set("screen_drawer") {
testonly = true
public_deps = [
":desktop_capture",
]
sources = [
"screen_drawer.cc",
"screen_drawer.h",
"screen_drawer_linux.cc",
"screen_drawer_lock_posix.cc",
"screen_drawer_lock_posix.h",
"screen_drawer_mac.cc",
"screen_drawer_win.cc",
]
deps = [
":primitives",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
]
}
source_set("desktop_capture_mock") {
testonly = true
public_deps = [
":desktop_capture",
"//testing/gmock",
]
sources = [
"desktop_frame_generator.cc",
"desktop_frame_generator.h",
"fake_desktop_capturer.cc",
"fake_desktop_capturer.h",
"mock_desktop_capturer_callback.cc",
"mock_desktop_capturer_callback.h",
]
deps = [
":primitives",
"../../rtc_base:rtc_base_approved",
"../../test:test_support",
]
}
}
rtc_source_set("desktop_capture") {
public_deps = [
":desktop_capture_generic",
]
if (is_mac) {
public_deps += [ ":desktop_capture_objc" ]
}
}
if (is_mac) {
rtc_source_set("desktop_capture_objc") {
visibility = [ ":desktop_capture" ]
sources = [
"mac/desktop_configuration.mm",
"mouse_cursor_monitor_mac.mm",
"screen_capturer_mac.mm",
"window_capturer_mac.mm",
"window_finder_mac.h",
"window_finder_mac.mm",
]
deps = [
":desktop_capture_generic",
":primitives",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
]
libs = [
"AppKit.framework",
"IOKit.framework",
"OpenGL.framework",
]
}
}
rtc_static_library("desktop_capture_generic") {
visibility = [
":desktop_capture",
":desktop_capture_objc",
]
sources = [
"blank_detector_desktop_capturer_wrapper.cc",
"blank_detector_desktop_capturer_wrapper.h",
"capture_result_desktop_capturer_wrapper.cc",
"capture_result_desktop_capturer_wrapper.h",
"cropped_desktop_frame.cc",
"cropped_desktop_frame.h",
"cropping_window_capturer.cc",
"cropping_window_capturer.h",
"cropping_window_capturer_win.cc",
"desktop_and_cursor_composer.cc",
"desktop_and_cursor_composer.h",
"desktop_capture_options.cc",
"desktop_capture_options.h",
"desktop_capturer.cc",
"desktop_capturer.h",
"desktop_capturer_differ_wrapper.cc",
"desktop_capturer_differ_wrapper.h",
"desktop_capturer_wrapper.cc",
"desktop_capturer_wrapper.h",
"desktop_frame_rotation.cc",
"desktop_frame_rotation.h",
"desktop_frame_win.cc",
"desktop_frame_win.h",
"differ_block.cc",
"differ_block.h",
"fallback_desktop_capturer_wrapper.cc",
"fallback_desktop_capturer_wrapper.h",
"mac/desktop_configuration.h",
"mac/desktop_configuration_monitor.cc",
"mac/desktop_configuration_monitor.h",
"mac/full_screen_chrome_window_detector.cc",
"mac/full_screen_chrome_window_detector.h",
"mac/scoped_pixel_buffer_object.cc",
"mac/scoped_pixel_buffer_object.h",
"mac/window_list_utils.cc",
"mac/window_list_utils.h",
"mouse_cursor.cc",
"mouse_cursor.h",
"mouse_cursor_monitor.h",
"mouse_cursor_monitor_win.cc",
"resolution_tracker.cc",
"resolution_tracker.h",
"rgba_color.cc",
"rgba_color.h",
"screen_capture_frame_queue.h",
"screen_capturer_helper.cc",
"screen_capturer_helper.h",
"screen_capturer_win.cc",
"win/cursor.cc",
"win/cursor.h",
"win/d3d_device.cc",
"win/d3d_device.h",
"win/desktop.cc",
"win/desktop.h",
"win/display_configuration_monitor.cc",
"win/display_configuration_monitor.h",
"win/dxgi_adapter_duplicator.cc",
"win/dxgi_adapter_duplicator.h",
"win/dxgi_context.cc",
"win/dxgi_context.h",
"win/dxgi_duplicator_controller.cc",
"win/dxgi_duplicator_controller.h",
"win/dxgi_frame.cc",
"win/dxgi_frame.h",
"win/dxgi_output_duplicator.cc",
"win/dxgi_output_duplicator.h",
"win/dxgi_texture.cc",
"win/dxgi_texture.h",
"win/dxgi_texture_mapping.cc",
"win/dxgi_texture_mapping.h",
"win/dxgi_texture_staging.cc",
"win/dxgi_texture_staging.h",
"win/scoped_gdi_object.h",
"win/scoped_thread_desktop.cc",
"win/scoped_thread_desktop.h",
"win/screen_capture_utils.cc",
"win/screen_capture_utils.h",
"win/screen_capturer_win_directx.cc",
"win/screen_capturer_win_directx.h",
"win/screen_capturer_win_gdi.cc",
"win/screen_capturer_win_gdi.h",
"win/screen_capturer_win_magnifier.cc",
"win/screen_capturer_win_magnifier.h",
"win/window_capture_utils.cc",
"win/window_capture_utils.h",
"window_capturer_win.cc",
"window_finder.cc",
"window_finder.h",
"window_finder_win.cc",
"window_finder_win.h",
]
if (use_x11) {
sources += [
"mouse_cursor_monitor_x11.cc",
"screen_capturer_x11.cc",
"window_capturer_x11.cc",
"window_finder_x11.cc",
"window_finder_x11.h",
"x11/shared_x_display.cc",
"x11/shared_x_display.h",
"x11/window_list_utils.cc",
"x11/window_list_utils.h",
"x11/x_atom_cache.cc",
"x11/x_atom_cache.h",
"x11/x_error_trap.cc",
"x11/x_error_trap.h",
"x11/x_server_pixel_buffer.cc",
"x11/x_server_pixel_buffer.h",
]
configs += [ "//build/config/linux:x11" ]
}
if (!is_win && !is_mac && !use_x11) {
sources += [
"mouse_cursor_monitor_null.cc",
"screen_capturer_null.cc",
"window_capturer_null.cc",
]
}
if (is_win) {
libs = [
"d3d11.lib",
"dxgi.lib",
]
}
deps = [
":primitives",
"../..:webrtc_common",
"../../api:refcountedbase",
"../../rtc_base:rtc_base", # TODO(kjellander): Cleanup in bugs.webrtc.org/3806.
"../../system_wrappers",
"//third_party/libyuv",
]
if (use_desktop_capture_differ_sse2) {
deps += [ ":desktop_capture_differ_sse2" ]
}
}
if (use_desktop_capture_differ_sse2) {
# Have to be compiled as a separate target because it needs to be compiled
# with SSE2 enabled.
rtc_static_library("desktop_capture_differ_sse2") {
visibility = [ ":*" ]
sources = [
"differ_vector_sse2.cc",
"differ_vector_sse2.h",
]
if (is_posix) {
cflags = [ "-msse2" ]
}
}
}