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