Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / ui / views / BUILD.gn
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.
4
5 import("//build/config/features.gni")
6 import("//build/config/ui.gni")
7
8 gypi_values = exec_script(
9     "//build/gypi_to_gn.py",
10     [ rebase_path("views.gyp") ],
11     "scope",
12     [ "views.gyp" ])
13
14 component("views") {
15   sources = gypi_values.views_sources
16
17   defines = [ "VIEWS_IMPLEMENTATION" ]
18
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   ]
32
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   ]
44
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   }
59
60   if (is_chromeos) {
61     sources -= [
62       "linux_ui/status_icon_linux.h",
63       "linux_ui/status_icon_linux.cc",
64     ]
65   }
66
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 = [ "/imm32.lib", "oleacc.lib" ]
71     ldflags = [ "/DELAYLOAD:user32.dll" ]
72     deps += [
73       "//third_party/iaccessible2",
74       "//third_party/wtl",
75     ]
76   }
77
78   if (use_ozone) {
79     deps += [ "//ui/ozone" ]
80   }
81   if (use_x11) {
82     configs += [
83       "//build/config/linux:x11",
84       "//build/config/linux:xrandr",
85     ]
86     deps += [
87       "//ui/events/devices",
88       "//ui/events/platform/x11",
89       "//ui/gfx/x",
90     ]
91   }
92
93   if (use_aura) {
94     sources += gypi_values.views_aura_sources
95     if (!is_chromeos) {
96       sources += gypi_values.views_desktop_aura_sources
97       if (use_x11) {
98         sources += gypi_values.views_desktop_aura_x11_sources
99       } else if (is_win) {
100         sources += gypi_values.views_desktop_aura_win_sources
101       } else if (use_ozone) {
102         sources += gypi_values.views_desktop_aura_ozone_sources
103       }
104     }
105   }
106 }
107
108 static_library("test_support") {
109   testonly = true
110   sources = gypi_values.views_test_support_sources
111
112   public_deps = [
113     ":views",
114   ]
115   deps = [
116     "//base",
117     "//ipc:test_support",
118     "//skia",
119     "//testing/gtest",
120     "//ui/aura",
121     "//ui/base",
122     "//ui/compositor",
123     "//ui/compositor:test_support",
124     "//ui/events",
125     "//ui/events:events_base",
126     "//ui/events:test_support",
127     "//ui/events/platform",
128     "//ui/gfx",
129     "//ui/gfx/geometry",
130     "//ui/wm",
131   ]
132
133   if (is_chromeos) {
134     sources -= [
135       "test/ui_controls_factory_desktop_aurax11.cc",
136       "test/ui_controls_factory_desktop_aurax11.h",
137     ]
138   }
139   if (use_aura) {
140     sources += gypi_values.views_test_support_aura_sources
141     deps += [ "//ui/aura:test_support" ]
142   }
143   if (use_x11) {
144     deps += [ "//ui/gfx/x" ]
145   }
146   if (use_ozone) {
147     sources -= [
148       "test/x11_property_change_waiter.cc",
149     ]
150   }
151 }
152
153 test("views_unittests") {
154   sources = gypi_values.views_unittests_sources
155
156   deps = [
157     ":test_support",
158     "//base",
159     "//base:i18n",
160     "//base/allocator",
161     "//base/test:test_support",
162     "//skia",
163     "//testing/gtest",
164     "//third_party/icu",
165     "//ui/accessibility",
166     "//ui/aura",
167     "//ui/base",
168     "//ui/base:test_support",
169     "//ui/compositor:test_support",
170     "//ui/events:test_support",
171     "//ui/events:events_base",
172     "//ui/events/platform",
173     "//ui/gfx",
174     "//ui/gfx/geometry",
175     "//ui/gl",
176     "//ui/resources",
177     "//ui/strings",
178     "//ui/wm",
179     "//url",
180   ]
181
182   if (is_chromeos) {
183     sources -= [
184       "ime/input_method_bridge_unittest.cc",
185     ]
186   }
187
188   if (is_win) {
189     deps += [
190       "//third_party/iaccessible2",
191       "//third_party/wtl",
192     ]
193     libs = [
194       "imm32.lib",
195       "oleacc.lib",
196       "comctl32.lib",
197     ]
198     # TOOD(GYP)
199     #'msvs_settings': {
200     #  'VCManifestTool': {
201     #    'AdditionalManifestFiles': [
202     #      '$(ProjectDir)\\test\\views_unittest.manifest',
203     #    ],
204     #  },
205     #},
206   }
207
208   if (use_x11) {
209     configs += [
210       "//build/config/linux:x11",
211       "//build/config/linux:xext",
212     ]
213     deps += [
214       "//ui/events/devices",
215       "//ui/events/platform/x11",
216       "//ui/gfx/x",
217     ]
218   }
219
220   if (use_aura) {
221     sources += gypi_values.views_unittests_aura_sources
222     deps += [ "//ui/aura:test_support" ]
223     if (!is_chromeos) {
224       sources += gypi_values.views_unittests_desktop_aura_sources
225     }
226   }
227   if (use_x11) {
228     deps += [
229       "//ui/events/platform/x11",
230       "//ui/gfx/x",
231     ]
232   }
233
234   if (is_mac) {
235     # views_unittests not yet compiling on Mac. http://crbug.com/378134
236     sources -= [
237       "bubble/bubble_window_targeter_unittest.cc",
238       "controls/button/custom_button_unittest.cc",
239       "controls/button/menu_button_unittest.cc",
240       "controls/native/native_view_host_unittest.cc",
241       "controls/menu/menu_controller_unittest.cc",
242       "ime/input_method_bridge_unittest.cc",
243       "focus/focus_manager_unittest.cc",
244       "widget/window_reorderer_unittest.cc",
245       "widget/widget_unittest.cc",
246     ]
247   }
248 }
249
250 if (is_mac) {
251   test("macviews_interactive_ui_tests") {
252     sources = [
253       "run_all_unittests.cc",
254       "widget/native_widget_mac_interactive_uitest.mm",
255     ]
256     deps = [
257       ":test_support",
258       ":views",
259       "//base",
260       "//base/test:test_support",
261       "//skia",
262       "//testing/gtest",
263       "//ui/aura",
264       "//ui/compositor",
265       "//ui/resources",
266       "//ui/resources:ui_test_pak",
267       "//ui/strings",
268       "//ui/wm",
269     ]
270   }
271 }