compositor.gyp revision 90dce4d38c5ff5333bea97d859d4e484e27edf0c
1# Copyright (c) 2012 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6  'variables': {
7    'chromium_code': 1,
8  },
9  'targets': [
10    {
11      'target_name': 'compositor',
12      'type': '<(component)',
13      'dependencies': [
14        '<(DEPTH)/base/base.gyp:base',
15        '<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
16        '<(DEPTH)/cc/cc.gyp:cc',
17        '<(DEPTH)/skia/skia.gyp:skia',
18        '<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
19        '<(DEPTH)/ui/gl/gl.gyp:gl',
20        '<(DEPTH)/ui/ui.gyp:ui',
21        '<(DEPTH)/webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
22      ],
23      'defines': [
24        'COMPOSITOR_IMPLEMENTATION',
25      ],
26      'sources': [
27        'compositor.cc',
28        'compositor.h',
29        'compositor_export.h',
30        'compositor_observer.h',
31        'compositor_setup.h',
32        'compositor_switches.cc',
33        'compositor_switches.h',
34        'debug_utils.cc',
35        'debug_utils.h',
36        'dip_util.cc',
37        'dip_util.h',
38        'float_animation_curve_adapter.cc',
39        'float_animation_curve_adapter.h',
40        'layer.cc',
41        'layer.h',
42        'layer_animation_delegate.h',
43        'layer_animation_element.cc',
44        'layer_animation_element.h',
45        'layer_animation_observer.cc',
46        'layer_animation_observer.h',
47        'layer_animation_sequence.cc',
48        'layer_animation_sequence.h',
49        'layer_animator.cc',
50        'layer_animator.h',
51        'layer_delegate.h',
52        'layer_owner.cc',
53        'layer_owner.h',
54        'layer_type.h',
55        'scoped_animation_duration_scale_mode.cc',
56        'scoped_animation_duration_scale_mode.h',
57        'scoped_layer_animation_settings.cc',
58        'scoped_layer_animation_settings.h',
59        # UI tests need TestWebGraphicsContext3D, so we always build it.
60        'test_web_graphics_context_3d.cc',
61        'test_web_graphics_context_3d.h',
62        'transform_animation_curve_adapter.cc',
63        'transform_animation_curve_adapter.h',
64      ],
65      'conditions': [
66        ['OS == "win" and use_aura == 1', {
67          # TODO(sky): before we make this real need to remove
68          # IDR_BITMAP_BRUSH_IMAGE.
69          'dependencies': [
70            '<(DEPTH)/ui/ui.gyp:ui_resources',
71            '<(DEPTH)/third_party/angle/src/build_angle.gyp:libEGL',
72            '<(DEPTH)/third_party/angle/src/build_angle.gyp:libGLESv2',
73          ],
74        }],
75      ],
76    },
77    {
78      'target_name': 'compositor_test_support',
79      'type': 'static_library',
80      'dependencies': [
81        '<(DEPTH)/base/base.gyp:base',
82        '<(DEPTH)/webkit/support/webkit_support.gyp:webkit_support',
83        '<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
84      ],
85      'sources': [
86        'test/compositor_test_support.cc',
87        'test/compositor_test_support.h',
88        'test/test_layers.cc',
89        'test/test_layers.h',
90        'test/test_suite.cc',
91        'test/test_suite.h',
92      ],
93      'conditions': [
94        ['os_posix == 1 and OS != "mac"', {
95          'conditions': [
96            ['linux_use_tcmalloc==1', {
97              'dependencies': [
98                '<(DEPTH)/base/allocator/allocator.gyp:allocator',
99              ],
100            }],
101          ],
102        }],
103      ],
104    },
105    {
106      'target_name': 'compositor_unittests',
107      'type': 'executable',
108      'dependencies': [
109        '<(DEPTH)/base/base.gyp:base',
110        '<(DEPTH)/base/base.gyp:test_support_base',
111        '<(DEPTH)/cc/cc.gyp:cc',
112        '<(DEPTH)/cc/cc_tests.gyp:cc_test_utils',
113        '<(DEPTH)/skia/skia.gyp:skia',
114        '<(DEPTH)/testing/gtest.gyp:gtest',
115        '<(DEPTH)/ui/gl/gl.gyp:gl',
116        '<(DEPTH)/ui/ui.gyp:ui',
117        '<(DEPTH)/ui/ui.gyp:ui_resources',
118        'compositor',
119        'compositor_test_support',
120      ],
121      'sources': [
122        'layer_animation_element_unittest.cc',
123        'layer_animation_sequence_unittest.cc',
124        'layer_animator_unittest.cc',
125        'layer_unittest.cc',
126        'run_all_unittests.cc',
127        'test/layer_animator_test_controller.cc',
128        'test/layer_animator_test_controller.h',
129        'test/test_compositor_host.h',
130        'test/test_compositor_host_linux.cc',
131        'test/test_compositor_host_mac.mm',
132        'test/test_compositor_host_win.cc',
133        'test/test_layer_animation_delegate.cc',
134        'test/test_layer_animation_delegate.h',
135        'test/test_layer_animation_observer.cc',
136        'test/test_layer_animation_observer.h',
137        'test/test_utils.cc',
138        'test/test_utils.h',
139      ],
140      'conditions': [
141        # osmesa GL implementation is used on linux.
142        ['OS=="linux"', {
143          'dependencies': [
144            '<(DEPTH)/third_party/mesa/mesa.gyp:osmesa',
145          ],
146        }],
147      ],
148    },
149  ],
150}
151