Upstream version 9.38.198.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",
21     "//base:i18n",
22     "//base/third_party/dynamic_annotations",
23     "//skia",
24     "//third_party/icu",
25     "//third_party/wtl",
26     "//ui/accessibility",
27     "//ui/accessibility:ax_gen",
28     "//ui/aura",
29     "//ui/base",
30     "//ui/compositor",
31     "//ui/events",
32     "//ui/events:events_base",
33     "//ui/events/platform",
34     "//ui/gfx",
35     "//ui/gfx/geometry",
36     "//ui/native_theme",
37     "//ui/resources",
38     "//ui/strings",
39     "//ui/wm",
40     "//url",
41   ]
42
43   forward_dependent_configs_from = [ "//ui/accessibility:ax_gen" ]
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/platform/x11",
88     ]
89   }
90
91   if (use_aura) {
92     sources += gypi_values.views_aura_sources
93     if (!is_chromeos) {
94       sources += gypi_values.views_desktop_aura_sources
95       if (use_x11) {
96         sources += gypi_values.views_desktop_aura_x11_sources
97       } else if (is_win) {
98         sources += gypi_values.views_desktop_aura_win_sources
99       } else if (use_ozone) {
100         sources += gypi_values.views_desktop_aura_ozone_sources
101       }
102     }
103   }
104 }
105
106 static_library("test_support") {
107   sources = gypi_values.views_test_support_sources
108
109   deps = [
110     ":views",
111     "//base",
112     "//ipc:test_support",
113     "//skia",
114     "//testing/gtest",
115     "//ui/aura",
116     "//ui/base",
117     "//ui/compositor",
118     "//ui/compositor:test_support",
119     "//ui/events",
120     "//ui/events/platform",
121     "//ui/gfx",
122     "//ui/gfx/geometry",
123     "//ui/wm",
124   ]
125
126   if (is_chromeos) {
127     sources -= [
128       "test/ui_controls_factory_desktop_aurax11.cc",
129       "test/ui_controls_factory_desktop_aurax11.h",
130     ]
131   }
132   if (use_aura) {
133     sources += gypi_values.views_test_support_aura_sources
134     deps += [ "//ui/aura:test_support" ]
135   }
136 }
137
138 if (false) {  # TODO(GYP) enable once this links
139
140 test("views_unittests") {
141   sources = gypi_values.views_unittests_sources
142
143   deps = [
144     ":test_support",
145     ":views",
146     "//base",
147     "//base:i18n",
148     "//base/allocator",
149     "//base/test:test_support",
150     "//skia",
151     "//testing/gtest",
152     "//third_party/icu",
153     "//ui/accessibility",
154     "//ui/aura",
155     "//ui/base",
156     "//ui/base:test_support",
157     "//ui/compositor",
158     "//ui/events",
159     "//ui/events:events_base",
160     "//ui/events/platform",
161     "//ui/gfx",
162     "//ui/gfx/geometry",
163     "//ui/wm",
164     "//url",
165   ]
166
167   if (is_chromeos) {
168     sources -= [
169       "ime/input_method_bridge_unittest.cc",
170       "widget/desktop_aura",
171     ]
172   }
173
174   if (is_win) {
175     deps += [
176       "//third_party/iaccessible2",
177       "//third_party/wtl",
178     ]
179     libs = [
180       "imm32.lib",
181       "oleacc.lib",
182       "comctl32.lib",
183     ]
184     # TOOD(GYP)
185     #'msvs_settings': {
186     #  'VCManifestTool': {
187     #    'AdditionalManifestFiles': [
188     #      '$(ProjectDir)\\test\\views_unittest.manifest',
189     #    ],
190     #  },
191     #},
192   }
193
194   if (use_x11) {
195     configs += [
196       "//build/config/linux:x11",
197       "//build/config/linux:xext",
198     ]
199     deps += [
200       "//ui/events/platform/x11",
201     ]
202   }
203
204   if (use_ozone) {
205     sources -= [
206       "corewm/capture_controller_unittest.cc",
207     ]
208   }
209   if (use_aura) {
210     sources += gypi_values.views_unittests_aura_sources
211     deps = [ "//ui/aura:test_support" ]
212     if (!is_chromeos) {
213       sources += gypi_values.views_unittests_desktop_aura_sources
214     }
215   }
216   if (use_x11) {
217     deps += [ "//ui/events/platform/x11" ]
218   }
219
220   if (is_mac) {
221     # views_unittests not yet compiling on Mac. http://crbug.com/378134
222     sources -= [
223       "bubble/bubble_window_targeter_unittest.cc",
224       "controls/button/custom_button_unittest.cc",
225       "controls/button/menu_button_unittest.cc",
226       "controls/native/native_view_host_unittest.cc",
227       "controls/menu/menu_controller_unittest.cc",
228       "ime/input_method_bridge_unittest.cc",
229       "focus/focus_manager_unittest.cc",
230       "widget/window_reorderer_unittest.cc",
231       "widget/widget_unittest.cc",
232     ]
233   }
234 }
235
236 if (is_mac) {
237   test("macviews_interactive_ui_tests") {
238     sources = [
239       "run_all_unittests.cc",
240       "widget/native_widget_mac_interactive_uitest.mm",
241     ]
242     deps = [
243       ":test_support",
244       ":views",
245       "//base",
246       "//base/test:test_support",
247       "//skia",
248       "//testing/gtest",
249       "//ui/aura",
250       "//ui/compositor",
251       "//ui/resources",
252       "//ui/resources:ui_test_pak",
253       "//ui/string",
254       "//ui/wm",
255     ]
256   }
257 }
258
259 }  # if false