compositor.gyp revision 868fa2fe829687343ffae624259930155e16dbd8
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/public/blink.gyp:blink',
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)/skia/skia.gyp:skia',
83        '<(DEPTH)/ui/gl/gl.gyp:gl',
84        '<(DEPTH)/ui/ui.gyp:ui',
85        'compositor',
86      ],
87      'sources': [
88        'test/test_layers.cc',
89        'test/test_layers.h',
90        'test/test_suite.cc',
91        'test/test_suite.h',
92      ],
93    },
94    {
95      'target_name': 'compositor_unittests',
96      'type': 'executable',
97      'dependencies': [
98        '<(DEPTH)/base/base.gyp:base',
99        '<(DEPTH)/base/base.gyp:test_support_base',
100        '<(DEPTH)/cc/cc.gyp:cc',
101        '<(DEPTH)/cc/cc_tests.gyp:cc_test_utils',
102        '<(DEPTH)/skia/skia.gyp:skia',
103        '<(DEPTH)/testing/gtest.gyp:gtest',
104        '<(DEPTH)/ui/gl/gl.gyp:gl',
105        '<(DEPTH)/ui/ui.gyp:ui',
106        '<(DEPTH)/ui/ui.gyp:ui_resources',
107        'compositor',
108        'compositor_test_support',
109      ],
110      'sources': [
111        'layer_animation_element_unittest.cc',
112        'layer_animation_sequence_unittest.cc',
113        'layer_animator_unittest.cc',
114        'layer_unittest.cc',
115        'run_all_unittests.cc',
116        'test/layer_animator_test_controller.cc',
117        'test/layer_animator_test_controller.h',
118        'test/test_compositor_host.h',
119        'test/test_compositor_host_linux.cc',
120        'test/test_compositor_host_mac.mm',
121        'test/test_compositor_host_win.cc',
122        'test/test_layer_animation_delegate.cc',
123        'test/test_layer_animation_delegate.h',
124        'test/test_layer_animation_observer.cc',
125        'test/test_layer_animation_observer.h',
126        'test/test_utils.cc',
127        'test/test_utils.h',
128      ],
129      'conditions': [
130        # osmesa GL implementation is used on linux.
131        ['OS=="linux"', {
132          'dependencies': [
133            '<(DEPTH)/third_party/mesa/mesa.gyp:osmesa',
134          ],
135        }],
136        ['os_posix == 1 and OS != "mac"', {
137          'conditions': [
138            ['linux_use_tcmalloc==1', {
139              'dependencies': [
140                '<(DEPTH)/base/allocator/allocator.gyp:allocator',
141              ],
142            }],
143          ],
144        }],
145      ],
146    },
147  ],
148}
149