Split ui/base/ime into a new component
[chromium-blink-merge.git] / ui / views / BUILD.gn
blobfdfe02c04ab9fbfbc0eebafa03538aaa095cade3
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("//build/config/features.gni")
6 import("//build/config/ui.gni")
7 import("//testing/test.gni")
9 gypi_values = exec_script("//build/gypi_to_gn.py",
10                           [ rebase_path("views.gyp") ],
11                           "scope",
12                           [ "views.gyp" ])
14 component("views") {
15   sources = gypi_values.views_sources
17   defines = [ "VIEWS_IMPLEMENTATION" ]
19   deps = [
20     "//base:i18n",
21     "//base/third_party/dynamic_annotations",
22     "//skia",
23     "//third_party/icu",
24     "//ui/accessibility",
25     "//ui/aura",
26     "//ui/native_theme",
27     "//ui/resources",
28     "//ui/strings",
29     "//ui/wm",
30     "//url",
31   ]
33   public_deps = [
34     "//base",
35     "//ui/accessibility:ax_gen",
36     "//ui/base",
37     "//ui/base/ime",
38     "//ui/compositor",
39     "//ui/events",
40     "//ui/events:events_base",
41     "//ui/events/platform",
42     "//ui/gfx",
43     "//ui/gfx/geometry",
44   ]
46   if (use_x11 && !is_chromeos) {
47     deps += [ "//ui/display/util" ]
48   }
49   if (is_linux && !is_chromeos) {
50     sources -= [ "window/window_button_order_provider.cc" ]
51     deps += [ "//ui/shell_dialogs" ]
52   } else {
53     sources -= [
54       "linux_ui/linux_ui.h",
55       "linux_ui/linux_ui.cc",
56       "linux_ui/window_button_order_observer.h",
57       "linux_ui/window_button_order_provider.cc",
58     ]
59   }
61   if (is_chromeos) {
62     sources -= [
63       "linux_ui/status_icon_linux.h",
64       "linux_ui/status_icon_linux.cc",
65     ]
66   }
68   if (is_win) {
69     sources += gypi_values.views_win_sources
70     cflags = [ "/wd4267" ]  # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
71     libs = [
72       "imm32.lib",
73       "oleacc.lib",
74     ]
75     ldflags = [ "/DELAYLOAD:user32.dll" ]
76     deps += [
77       "//third_party/iaccessible2",
78       "//third_party/wtl",
79     ]
80   }
82   if (use_ozone) {
83     deps += [ "//ui/ozone" ]
84   }
85   if (use_x11) {
86     configs += [
87       "//build/config/linux:x11",
88       "//build/config/linux:xrandr",
89     ]
90     deps += [
91       "//ui/events/devices",
92       "//ui/events/platform/x11",
93       "//ui/gfx/x",
94     ]
95   }
97   if (use_aura) {
98     sources += gypi_values.views_aura_sources
99     if (!is_chromeos) {
100       sources += gypi_values.views_desktop_aura_sources
101       if (use_x11) {
102         sources += gypi_values.views_desktop_aura_x11_sources
103       } else if (is_win) {
104         sources += gypi_values.views_desktop_aura_win_sources
105       } else if (use_ozone) {
106         sources += gypi_values.views_desktop_aura_ozone_sources
107       }
108       if (is_linux) {
109         sources += gypi_values.views_desktop_aura_linux_sources
110       }
111     }
112   }
114   if (is_mac) {
115     deps += [ "//ui/accelerated_widget_mac" ]
116   }
119 static_library("test_support") {
120   testonly = true
121   sources = gypi_values.views_test_support_sources
123   public_deps = [
124     ":views",
125   ]
126   deps = [
127     "//base",
128     "//ipc:test_support",
129     "//skia",
130     "//testing/gtest",
131     "//ui/aura",
132     "//ui/base",
133     "//ui/base/ime",
134     "//ui/compositor",
135     "//ui/compositor:test_support",
136     "//ui/events",
137     "//ui/events:events_base",
138     "//ui/events:test_support",
139     "//ui/events/platform",
140     "//ui/gfx",
141     "//ui/gfx/geometry",
142     "//ui/wm",
143   ]
145   if (is_chromeos || !use_x11) {
146     sources -= [
147       "test/ui_controls_factory_desktop_aurax11.cc",
148       "test/ui_controls_factory_desktop_aurax11.h",
149     ]
150   }
151   if (use_aura) {
152     sources += gypi_values.views_test_support_aura_sources
153     deps += [ "//ui/aura:test_support" ]
154   }
155   if (use_x11) {
156     deps += [ "//ui/gfx/x" ]
157   }
158   if (use_ozone || !use_x11) {
159     sources -= [ "test/x11_property_change_waiter.cc" ]
160   }
163 if (!is_win || link_chrome_on_windows) {
164   test("views_unittests") {
165     sources = gypi_values.views_unittests_sources
167     deps = [
168       ":test_support",
169       "//base",
170       "//base:i18n",
171       "//base/allocator",
172       "//base/test:test_support",
173       "//skia",
174       "//testing/gtest",
175       "//third_party/icu",
176       "//ui/accessibility",
177       "//ui/aura",
178       "//ui/base",
179       "//ui/base/ime",
180       "//ui/base:test_support",
181       "//ui/compositor:test_support",
182       "//ui/events:test_support",
183       "//ui/events:events_base",
184       "//ui/events/platform",
185       "//ui/gfx",
186       "//ui/gfx/geometry",
187       "//ui/gl",
188       "//ui/resources",
189       "//ui/strings",
190       "//ui/wm",
191       "//url",
192     ]
194     if (is_chromeos) {
195       sources -= [ "ime/input_method_bridge_unittest.cc" ]
196     }
198     if (is_win) {
199       deps += [
200         "//third_party/iaccessible2",
201         "//third_party/wtl",
202       ]
203       libs = [
204         "imm32.lib",
205         "oleacc.lib",
206         "comctl32.lib",
207       ]
209       # TOOD(GYP)
210       #'msvs_settings': {
211       #  'VCManifestTool': {
212       #    'AdditionalManifestFiles': [
213       #      '$(ProjectDir)\\test\\views_unittest.manifest',
214       #    ],
215       #  },
216       #},
217     }
219     if (use_x11) {
220       configs += [
221         "//build/config/linux:x11",
222         "//build/config/linux:xext",
223       ]
224       deps += [
225         "//ui/events/devices",
226         "//ui/events/platform/x11",
227         "//ui/gfx/x",
228       ]
229     }
231     if (use_aura) {
232       sources += gypi_values.views_unittests_aura_sources
233       deps += [ "//ui/aura:test_support" ]
234       if (!is_chromeos) {
235         sources += gypi_values.views_unittests_desktop_aura_sources
236         if (use_x11) {
237           sources += gypi_values.views_unittests_desktop_aurax11_sources
238         }
239       }
240     }
241     if (use_x11) {
242       deps += [
243         "//ui/events/platform/x11",
244         "//ui/gfx/x",
245       ]
246     }
248     if (is_mac) {
249       # views_unittests not yet compiling on Mac. http://crbug.com/378134
250       sources -= [
251         "bubble/bubble_window_targeter_unittest.cc",
252         "controls/button/custom_button_unittest.cc",
253         "controls/button/menu_button_unittest.cc",
254         "controls/native/native_view_host_unittest.cc",
255         "controls/menu/menu_controller_unittest.cc",
256         "ime/input_method_bridge_unittest.cc",
257         "focus/focus_manager_unittest.cc",
258         "widget/window_reorderer_unittest.cc",
259         "widget/widget_unittest.cc",
260       ]
261     }
262   }
265 if (is_mac) {
266   test("macviews_interactive_ui_tests") {
267     sources = [
268       "cocoa/bridged_native_widget_interactive_uitest.mm",
269       "run_all_unittests.cc",
270       "widget/native_widget_mac_interactive_uitest.mm",
271     ]
272     deps = [
273       ":test_support",
274       ":views",
275       "//base",
276       "//base/test:test_support",
277       "//skia",
278       "//testing/gtest",
279       "//ui/aura",
280       "//ui/compositor",
281       "//ui/resources",
282       "//ui/resources:ui_test_pak",
283       "//ui/strings",
284       "//ui/wm",
285     ]
286   }