Mac: Fix performance issues with remote CoreAnimation
[chromium-blink-merge.git] / ui / ozone / BUILD.gn
blobd5285798b5f0b19f7e4ce0124976434ef343c0cc
1 # Copyright 2014 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.
5 import("//ui/ozone/ozone.gni")
7 # The list of platforms that will be built.
8 ozone_platforms = []
10 # Extra dependencies to pull into ui/ozone for built platforms.
11 ozone_platform_deps = []
13 # Extra dependencies to pull into ozone_unittests for built platforms.
14 ozone_platform_test_deps = []
16 if (ozone_platform_egltest) {
17   ozone_platforms += [ "egltest" ]
18   ozone_platform_deps += [ "platform/egltest" ]
21 if (ozone_platform_test) {
22   ozone_platforms += [ "test" ]
23   ozone_platform_deps += [ "platform/test" ]
26 if (ozone_platform_caca) {
27   ozone_platforms += [ "caca" ]
28   ozone_platform_deps += [ "platform/caca" ]
31 if (ozone_platform_dri) {
32   ozone_platforms += [ "dri" ]
33   ozone_platform_deps += [ "platform/dri" ]
34   ozone_platform_test_deps += [ "platform/dri:dri_unittests" ]
37 if (ozone_platform_gbm) {
38   ozone_platforms += [ "gbm" ]
39   ozone_platform_deps += [ "platform/dri:gbm" ]
42 platform_list_cc_file = "$target_gen_dir/platform_list.cc"
43 platform_list_h_file = "$target_gen_dir/platform_list.h"
44 platform_list_txt_file = "$target_gen_dir/platform_list.txt"
45 constructor_list_cc_file = "$target_gen_dir/constructor_list.cc"
47 # GYP version: ui/ozone/ozone.gyp:ozone_base
48 component("ozone_base") {
49   sources = [
50     "public/cursor_factory_ozone.cc",
51     "public/cursor_factory_ozone.h",
52     "public/gpu_platform_support.cc",
53     "public/gpu_platform_support.h",
54     "public/gpu_platform_support_host.cc",
55     "public/gpu_platform_support_host.h",
56     "public/overlay_candidates_ozone.cc",
57     "public/overlay_candidates_ozone.h",
58     "public/surface_factory_ozone.cc",
59     "public/surface_factory_ozone.h",
60     "public/surface_ozone_canvas.h",
61     "public/surface_ozone_egl.h",
62     "public/system_input_injector.h",
63   ]
65   defines = [ "OZONE_BASE_IMPLEMENTATION" ]
67   deps = [
68     "//base",
69     "//skia",
70     "//ui/gfx/geometry",
71   ]
74 component("ozone") {
75   sources = [
76     platform_list_cc_file,
77     platform_list_h_file,
78     constructor_list_cc_file,
80     "common/display_mode_proxy.cc",
81     "common/display_mode_proxy.h",
82     "common/display_snapshot_proxy.cc",
83     "common/display_snapshot_proxy.h",
84     "common/display_util.cc",
85     "common/display_util.h",
86     "common/gpu/ozone_gpu_message_generator.cc",
87     "common/gpu/ozone_gpu_message_generator.h",
88     "common/gpu/ozone_gpu_message_params.cc",
89     "common/gpu/ozone_gpu_message_params.h",
90     "common/gpu/ozone_gpu_messages.h",
91     "common/native_display_delegate_ozone.cc",
92     "common/native_display_delegate_ozone.h",
93     "public/ozone_platform.cc",
94     "public/ozone_platform.h",
95     "public/ozone_switches.cc",
96     "public/ozone_switches.h",
97     "public/ui_thread_gpu.cc",
98     "public/ui_thread_gpu.h",
99     "platform_selection.cc",
100     "platform_selection.h",
101   ]
103   defines = [ "OZONE_IMPLEMENTATION" ]
105   deps = [
106     ":generate_constructor_list",
107     ":generate_ozone_platform_list",
108     ":ozone_base",
109     "//base",
110     "//ipc",
111     "//skia",
112     "//ui/display/types",
113     "//ui/display/util",
114     "//ui/events",
115     "//ui/events/ozone:events_ozone",
116     "//ui/gfx",
117     "//ui/gfx/geometry",
118     "//ui/gfx/ipc",
119     # TODO(GYP) the GYP version has a way to add additional dependencies via
120     # build flags.
121   ] + ozone_platform_deps
125 # GYP version: ui/ozone/ozone.gyp:generate_ozone_platform_list
126 action("generate_ozone_platform_list") {
127   script = "generate_ozone_platform_list.py"
128   outputs = [
129     platform_list_cc_file,
130     platform_list_h_file,
131     platform_list_txt_file
132   ]
134   args = [
135     "--output_cc=" + rebase_path(platform_list_cc_file, root_build_dir),
136     "--output_h=" + rebase_path(platform_list_h_file, root_build_dir),
137     "--output_txt=" + rebase_path(platform_list_txt_file, root_build_dir),
138     "--default=$ozone_platform",
139   ] + ozone_platforms
142 # GYP version: ui/ozone/ozone.gyp:generate_constructor_list
143 action("generate_constructor_list") {
144   script = "generate_constructor_list.py"
146   inputs = [
147     platform_list_txt_file,
148   ]
149   outputs = [
150     constructor_list_cc_file,
151   ]
153   args = [
154     "--platform_list=" + rebase_path(platform_list_txt_file, root_build_dir),
155     "--output_cc=" + rebase_path(constructor_list_cc_file, root_build_dir),
156     "--namespace=ui",
157     "--typename=OzonePlatform",
158     "--include=\"ui/ozone/public/ozone_platform.h\"",
159   ]
161   deps = [ ":generate_ozone_platform_list" ]
164 test("ozone_unittests") {
165   sources = [
166     "run_all_unittests.cc",
167   ]
169   deps = [
170     "//base/test:test_support",
171     "//testing/gtest",
172   ] + ozone_platform_test_deps