blob: 9463257ce9955ecfba5f8ffeee054d995f3da55f [file] [log] [blame]
sergeyu@chromium.orgea2ea7b2013-04-17 18:21:42 +00001# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
2#
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
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9{
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000010 'targets': [
11 {
12 'target_name': 'desktop_capture',
13 'type': 'static_library',
14 'dependencies': [
15 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
16 ],
17 'sources': [
sergeyu@chromium.orgba6d56c2013-10-16 02:48:41 +000018 "desktop_and_cursor_composer.cc",
19 "desktop_and_cursor_composer.h",
sergeyu@chromium.orgaf54d4b2013-10-16 02:42:38 +000020 "desktop_capture_types.h",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000021 "desktop_capturer.h",
22 "desktop_frame.cc",
23 "desktop_frame.h",
24 "desktop_frame_win.cc",
25 "desktop_frame_win.h",
26 "desktop_geometry.cc",
27 "desktop_geometry.h",
sergeyu@chromium.org91685dc2013-10-12 22:40:05 +000028 "desktop_capture_options.h",
29 "desktop_capture_options.cc",
30 "desktop_capturer.h",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000031 "desktop_region.cc",
32 "desktop_region.h",
33 "differ.cc",
34 "differ.h",
35 "differ_block.cc",
36 "differ_block.h",
37 "mac/desktop_configuration.h",
38 "mac/desktop_configuration.mm",
jiayl@webrtc.org54ad9292014-01-29 21:59:12 +000039 "mac/desktop_configuration_monitor.h",
40 "mac/desktop_configuration_monitor.cc",
jiayl@webrtc.org1d23d5e2014-02-01 02:03:24 +000041 "mac/osx_version.h",
42 "mac/osx_version.cc",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000043 "mac/scoped_pixel_buffer_object.cc",
44 "mac/scoped_pixel_buffer_object.h",
sergeyu@chromium.orgaf54d4b2013-10-16 02:42:38 +000045 "mouse_cursor.cc",
46 "mouse_cursor.h",
47 "mouse_cursor_monitor.h",
48 "mouse_cursor_monitor_mac.mm",
49 "mouse_cursor_monitor_win.cc",
50 "mouse_cursor_monitor_x11.cc",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000051 "mouse_cursor_shape.h",
52 "screen_capture_frame_queue.cc",
53 "screen_capture_frame_queue.h",
sergeyu@chromium.org91685dc2013-10-12 22:40:05 +000054 "screen_capturer.cc",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000055 "screen_capturer.h",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000056 "screen_capturer_helper.cc",
57 "screen_capturer_helper.h",
58 "screen_capturer_mac.mm",
59 "screen_capturer_win.cc",
60 "screen_capturer_x11.cc",
61 "shared_desktop_frame.cc",
62 "shared_desktop_frame.h",
63 "shared_memory.cc",
64 "shared_memory.h",
alexeypa@chromium.orge8c9ecd2013-06-10 22:29:17 +000065 "win/cursor.cc",
66 "win/cursor.h",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000067 "win/desktop.cc",
68 "win/desktop.h",
alexeypa@chromium.orge8c9ecd2013-06-10 22:29:17 +000069 "win/scoped_gdi_object.h",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000070 "win/scoped_thread_desktop.cc",
71 "win/scoped_thread_desktop.h",
sergeyu@chromium.org91685dc2013-10-12 22:40:05 +000072 "window_capturer.cc",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000073 "window_capturer.h",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000074 "window_capturer_mac.cc",
75 "window_capturer_win.cc",
sergeyu@chromium.orge562e022013-08-23 18:22:12 +000076 "window_capturer_x11.cc",
sergeyu@chromium.org91685dc2013-10-12 22:40:05 +000077 "x11/shared_x_display.h",
78 "x11/shared_x_display.cc",
sergeyu@chromium.orge562e022013-08-23 18:22:12 +000079 "x11/x_error_trap.cc",
80 "x11/x_error_trap.h",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000081 "x11/x_server_pixel_buffer.cc",
82 "x11/x_server_pixel_buffer.h",
83 ],
84 'conditions': [
85 ['OS!="ios" and (target_arch=="ia32" or target_arch=="x64")', {
86 'dependencies': [
87 'desktop_capture_differ_sse2',
88 ],
89 }],
90 ['use_x11 == 1', {
91 'link_settings': {
92 'libraries': [
93 '-lX11',
sergeyu@chromium.orge562e022013-08-23 18:22:12 +000094 '-lXcomposite',
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000095 '-lXdamage',
96 '-lXext',
97 '-lXfixes',
sergeyu@chromium.orge562e022013-08-23 18:22:12 +000098 '-lXrender',
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +000099 ],
100 },
101 }],
102 ['OS!="win" and OS!="mac" and use_x11==0', {
103 'sources': [
sergeyu@chromium.orgaf54d4b2013-10-16 02:42:38 +0000104 "mouse_cursor_monitor_null.cc",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +0000105 "screen_capturer_null.cc",
sergeyu@chromium.orge562e022013-08-23 18:22:12 +0000106 "window_capturer_null.cc",
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +0000107 ],
108 }],
109 ['OS=="mac"', {
110 'link_settings': {
111 'libraries': [
112 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
113 '$(SDKROOT)/System/Library/Frameworks/IOKit.framework',
114 '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
115 ],
116 },
117 }],
118 ],
119 },
120 ], # targets
sergeyu@chromium.orge032f9f2013-05-19 07:02:48 +0000121 'conditions': [
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +0000122 ['OS!="ios" and (target_arch=="ia32" or target_arch=="x64")', {
sergeyu@chromium.orge032f9f2013-05-19 07:02:48 +0000123 'targets': [
124 {
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +0000125 # Have to be compiled as a separate target because it needs to be
126 # compiled with SSE2 enabled.
127 'target_name': 'desktop_capture_differ_sse2',
sergeyu@chromium.orge032f9f2013-05-19 07:02:48 +0000128 'type': 'static_library',
sergeyu@chromium.orge032f9f2013-05-19 07:02:48 +0000129 'sources': [
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +0000130 "differ_block_sse2.cc",
131 "differ_block_sse2.h",
132 ],
133 'conditions': [
134 [ 'os_posix == 1 and OS != "mac"', {
135 'cflags': [
136 '-msse2',
137 ],
138 }],
sergeyu@chromium.orge032f9f2013-05-19 07:02:48 +0000139 ],
140 },
141 ], # targets
sergeyu@chromium.org6c82a7e2013-06-04 18:51:23 +0000142 }],
sergeyu@chromium.orge032f9f2013-05-19 07:02:48 +0000143 ],
sergeyu@chromium.orgea2ea7b2013-04-17 18:21:42 +0000144}