blob: dc46a5575c0beb56b87dbb371f675c9aa1bfb2a6 [file] [log] [blame]
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001# Copyright (c) 2012 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{
6 'targets': [
7 {
8 'target_name': 'ui_test_support',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00009 'dependencies': [
10 '../base/base.gyp:base',
11 '../skia/skia.gyp:skia',
12 '../testing/gtest.gyp:gtest',
13 ],
14 'sources': [
15 'base/test/cocoa_test_event_utils.h',
16 'base/test/cocoa_test_event_utils.mm',
17 'base/test/ui_cocoa_test_helper.h',
18 'base/test/ui_cocoa_test_helper.mm',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +010019 'base/test/ui_controls.h',
20 'base/test/ui_controls_aura.cc',
21 'base/test/ui_controls_gtk.cc',
22 'base/test/ui_controls_internal_win.cc',
23 'base/test/ui_controls_internal_win.h',
24 'base/test/ui_controls_mac.mm',
25 'base/test/ui_controls_win.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000026 ],
27 'include_dirs': [
28 '../',
29 ],
30 'conditions': [
31 ['OS!="ios"', {
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +010032 'type': 'static_library',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000033 'includes': [ 'base/ime/ime_test_support.gypi' ],
34 }, { # OS=="ios"
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +010035 # None of the sources in this target are built on iOS, resulting in
36 # link errors when building targets that depend on this target
37 # because the static library isn't found. If this target is changed
38 # to have sources that are built on iOS, the target should be changed
39 # to be of type static_library on all platforms.
40 'type': 'none',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000041 # The cocoa files don't apply to iOS.
42 'sources/': [['exclude', 'cocoa']],
43 }],
44 ['chromeos==1', {
45 'dependencies': [
46 '../chromeos/chromeos.gyp:chromeos_test_support_without_gmock',
47 '../skia/skia.gyp:skia',
48 ],
49 }],
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +010050 ['use_aura==1', {
51 'sources!': [
52 'base/test/ui_controls_win.cc',
53 ],
54 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +000055 ],
56 },
57 {
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +010058 'target_name': 'run_ui_unittests',
59 'type': 'static_library',
60 'dependencies': [
61 '../base/base.gyp:base',
62 '../base/base.gyp:test_support_base',
63 'ui',
64 ],
65 'sources': [
66 'test/test_suite.cc',
67 'test/test_suite.h',
68 'test/run_all_unittests.cc',
69 ],
70 },
71 {
Torne (Richard Coles)58218062012-11-14 11:43:16 +000072 'target_name': 'ui_unittests',
73 'type': '<(gtest_target_type)',
74 'dependencies': [
75 '../base/base.gyp:base',
76 '../base/base.gyp:test_support_base',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000077 '../skia/skia.gyp:skia',
78 '../testing/gmock.gyp:gmock',
79 '../testing/gtest.gyp:gtest',
80 '../third_party/icu/icu.gyp:icui18n',
81 '../third_party/icu/icu.gyp:icuuc',
82 '../third_party/libpng/libpng.gyp:libpng',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +010083 '../url/url.gyp:url_lib',
84 'base/strings/ui_strings.gyp:ui_strings',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +010085 'run_ui_unittests',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000086 'shell_dialogs',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000087 'ui',
88 'ui_resources',
89 'ui_test_support',
90 ],
91 # iOS uses a small subset of ui. common_sources are the only files that
92 # are built on iOS.
93 'common_sources' : [
94 'base/animation/animation_container_unittest.cc',
95 'base/animation/animation_unittest.cc',
96 'base/animation/multi_animation_unittest.cc',
97 'base/animation/slide_animation_unittest.cc',
98 'base/layout_unittest.cc',
99 'base/l10n/l10n_util_mac_unittest.mm',
100 'base/l10n/l10n_util_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000101 'base/l10n/l10n_util_win_unittest.cc',
Ben Murdochbb1529c2013-08-08 10:24:53 +0100102 'base/l10n/time_format_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000103 'base/models/tree_node_iterator_unittest.cc',
104 'base/range/range_mac_unittest.mm',
105 'base/range/range_unittest.cc',
106 'base/range/range_win_unittest.cc',
107 'base/resource/data_pack_literal.cc',
108 'base/resource/data_pack_unittest.cc',
109 'base/resource/resource_bundle_unittest.cc',
110 'base/text/text_elider_unittest.cc',
111 'gfx/codec/png_codec_unittest.cc',
112 'gfx/color_utils_unittest.cc',
113 'gfx/display_unittest.cc',
114 'gfx/font_unittest.cc',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100115 'gfx/image/image_family_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000116 'gfx/image/image_skia_unittest.cc',
117 'gfx/image/image_unittest.cc',
118 'gfx/image/image_unittest_util.cc',
119 'gfx/image/image_unittest_util.h',
120 'gfx/image/image_unittest_util_ios.mm',
121 'gfx/image/image_unittest_util_mac.mm',
122 'gfx/insets_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000123 'gfx/matrix3_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000124 'gfx/point_unittest.cc',
125 'gfx/point3_unittest.cc',
126 'gfx/quad_unittest.cc',
127 'gfx/rect_unittest.cc',
128 'gfx/safe_integer_conversions_unittest.cc',
129 'gfx/screen_unittest.cc',
130 'gfx/shadow_value_unittest.cc',
131 'gfx/size_unittest.cc',
132 'gfx/skbitmap_operations_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000133 'gfx/text_utils_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000134 'gfx/vector2d_unittest.cc',
135 'gfx/vector3d_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000136 ],
137 'all_sources': [
138 '<@(_common_sources)',
139 'base/accelerators/accelerator_manager_unittest.cc',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100140 'base/accelerators/menu_label_accelerator_util_linux_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000141 'base/clipboard/clipboard_unittest.cc',
142 'base/clipboard/custom_data_helper_unittest.cc',
143 'base/cocoa/base_view_unittest.mm',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100144 'base/cocoa/cocoa_event_utils_unittest.mm',
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +0100145 'base/cocoa/controls/hover_image_menu_button_unittest.mm',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100146 'base/cocoa/controls/hyperlink_button_cell_unittest.mm',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000147 'base/cocoa/events_mac_unittest.mm',
148 'base/cocoa/focus_tracker_unittest.mm',
149 'base/cocoa/fullscreen_window_manager_unittest.mm',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000150 'base/cocoa/hover_image_button_unittest.mm',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100151 'base/cocoa/menu_controller_unittest.mm',
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +0100152 'base/cocoa/nsgraphics_context_additions_unittest.mm',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000153 'base/cocoa/tracking_area_unittest.mm',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000154 'base/events/event_dispatcher_unittest.cc',
155 'base/events/event_unittest.cc',
156 'base/gtk/gtk_expanded_container_unittest.cc',
157 'base/gtk/gtk_im_context_util_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000158 'base/keycodes/usb_keycode_map_unittest.cc',
Ben Murdoch2385ea32013-08-06 11:01:04 +0100159 'base/latency_info_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000160 'base/models/list_model_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000161 'base/models/list_selection_model_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000162 'base/models/tree_node_model_unittest.cc',
Ben Murdochca12bfa2013-07-23 11:17:05 +0100163 'base/ozone/evdev/touch_event_converter_ozone_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000164 'base/test/data/resource.h',
165 'base/text/bytes_formatting_unittest.cc',
166 'base/text/utf16_indexing_unittest.cc',
167 'base/view_prop_unittest.cc',
168 'gfx/blit_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000169 'gfx/break_list_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000170 'gfx/canvas_unittest.cc',
171 'gfx/codec/jpeg_codec_unittest.cc',
172 'gfx/color_analysis_unittest.cc',
173 'gfx/font_list_unittest.cc',
174 'gfx/image/image_mac_unittest.mm',
175 'gfx/image/image_util_unittest.cc',
176 'gfx/platform_font_mac_unittest.mm',
177 'gfx/render_text_unittest.cc',
178 'gfx/transform_util_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000179 'shell_dialogs/select_file_dialog_win_unittest.cc',
180 'webui/web_ui_util_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000181 ],
182 'include_dirs': [
183 '../',
184 ],
185 'conditions': [
186 ['OS!="ios"', {
187 'sources' : ['<@(_all_sources)'],
188 'includes': [
189 'base/ime/ime_unittests.gypi',
190 ],
191 }, { # OS=="ios"
192 'sources' : [
193 '<@(_common_sources)',
194 ],
195 # The ResourceBundle unittest expects a locale.pak file to exist in
196 # the bundle for English-US. Copy it in from where it was generated
197 # by ui_strings.gyp:ui_unittest_strings.
198 'mac_bundle_resources': [
199 '<(PRODUCT_DIR)/ui_unittests_strings/en.lproj/locale.pak',
200 ],
201 }],
202 ['OS == "win"', {
203 'sources': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000204 'test/ui_unittests.rc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000205 'base/dragdrop/os_exchange_data_win_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000206 'base/win/hwnd_subclass_unittest.cc',
207 'gfx/font_fallback_win_unittest.cc',
208 'gfx/icon_util_unittest.cc',
209 'gfx/platform_font_win_unittest.cc',
210 ],
211 'include_dirs': [
212 '../..',
213 '../third_party/wtl/include',
214 ],
215 'msvs_settings': {
216 'VCLinkerTool': {
217 'DelayLoadDLLs': [
218 'd2d1.dll',
219 'd3d10_1.dll',
220 ],
221 'AdditionalDependencies': [
222 'd2d1.lib',
223 'd3d10_1.lib',
224 ],
225 },
226 },
227 'link_settings': {
228 'libraries': [
229 '-limm32.lib',
230 '-loleacc.lib',
231 ],
232 },
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000233 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
234 'msvs_disabled_warnings': [ 4267, ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000235 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000236 ['OS == "linux" and toolkit_views==1', {
237 'sources': [
238 'base/x/events_x_unittest.cc',
239 ],
240 }],
241 ['OS != "mac" and OS != "ios"', {
242 'sources': [
243 'gfx/transform_unittest.cc',
244 'gfx/interpolated_transform_unittest.cc',
245 ],
246 }],
247 ['OS == "android" and gtest_target_type == "shared_library"', {
248 'dependencies': [
249 '../testing/android/native_test.gyp:native_test_native_code',
250 ],
251 }],
252 ['use_glib == 1 or OS == "ios"', {
253 'dependencies': [
254 'base/strings/ui_strings.gyp:ui_unittest_strings',
255 ],
256 }],
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +0100257 ['use_pango == 1', {
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000258 'dependencies': [
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100259 '../build/linux/system.gyp:fontconfig',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000260 '../build/linux/system.gyp:pangocairo',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000261 ],
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +0100262 'sources': [
263 'gfx/platform_font_pango_unittest.cc',
264 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000265 'conditions': [
266 ['linux_use_tcmalloc==1', {
267 'dependencies': [
268 '../base/allocator/allocator.gyp:allocator',
269 ],
270 }],
271 ['toolkit_views==1', {
272 'sources!': [
273 'browser/ui/gtk/gtk_expanded_container_unittest.cc',
274 ],
275 }],
276 ],
277 }],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000278 ['use_x11==1', {
279 'dependencies': [
280 '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
281 ],
282 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000283 ['toolkit_uses_gtk == 1', {
284 'sources': [
285 'base/dragdrop/gtk_dnd_util_unittest.cc',
286 ],
287 'dependencies': [
288 '../build/linux/system.gyp:gtk',
289 ],
290 }],
291 ['OS=="android" or OS=="ios"', {
292 'sources!': [
293 'gfx/render_text_unittest.cc',
294 ],
295 }],
296 ['OS!="win" or use_aura==0', {
297 'sources!': [
298 'base/view_prop_unittest.cc',
299 ],
300 }],
Ben Murdoch2385ea32013-08-06 11:01:04 +0100301 ['use_x11==1 and use_aura==1', {
302 'sources': [
303 'base/cursor/cursor_loader_x11_unittest.cc',
304 ],
305 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000306 ['use_aura==1 or toolkit_views==1', {
307 'sources': [
Ben Murdocheb525c52013-07-10 11:40:50 +0100308 'base/dragdrop/os_exchange_data_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000309 'base/gestures/velocity_calculator_unittest.cc',
310 ],
311 }, {
312 'sources!': [
313 'base/events/event_dispatcher_unittest.cc',
314 'base/events/event_unittest.cc',
315 ],
316 }],
317 ['use_aura==1', {
318 'sources!': [
319 'base/dialogs/select_file_dialog_win_unittest.cc',
320 'base/dragdrop/os_exchange_data_win_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000321 'gfx/screen_unittest.cc',
322 ],
323 }],
324 ],
325 'target_conditions': [
326 ['OS == "ios"', {
327 'sources/': [
328 # Pull in specific Mac files for iOS (which have been filtered out
329 # by file name rules).
330 ['include', '^base/l10n/l10n_util_mac_unittest\\.mm$'],
331 ],
332 }],
333 ],
334 },
335 ],
336 'conditions': [
337 # Special target to wrap a gtest_target_type==shared_library
338 # ui_unittests into an android apk for execution.
339 # See base.gyp for TODO(jrg)s about this strategy.
340 ['OS == "android" and gtest_target_type == "shared_library"', {
341 'targets': [
342 {
343 'target_name': 'ui_unittests_apk',
344 'type': 'none',
345 'dependencies': [
346 'ui_unittests',
347 ],
348 'variables': {
349 'test_suite_name': 'ui_unittests',
350 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)ui_unittests<(SHARED_LIB_SUFFIX)',
351 },
352 'includes': [ '../build/apk_test.gypi' ],
353 },
354 ],
355 }],
356 ],
357}