Blink roll 174234:174238
[chromium-blink-merge.git] / ui / ui_unittests.gyp
blobcfe3d9d6cf5cec216c75ead02dfb7c3a9134f968
1 # Copyright 2013 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.
6   'variables': {
7     'chromium_code': 1,
8   },
9   'targets': [
10     {
11       'target_name': 'ui_unittests',
12       'type': '<(gtest_target_type)',
13       'dependencies': [
14         '../base/base.gyp:base',
15         '../base/base.gyp:test_support_base',
16         '../skia/skia.gyp:skia',
17         '../testing/gmock.gyp:gmock',
18         '../testing/gtest.gyp:gtest',
19         '../third_party/icu/icu.gyp:icui18n',
20         '../third_party/icu/icu.gyp:icuuc',
21         '../url/url.gyp:url_lib',
22         'base/ui_base.gyp:ui_base',
23         'base/ui_base.gyp:ui_base_test_support',
24         'events/events.gyp:events_base',
25         'gfx/gfx.gyp:gfx_test_support',
26         'resources/ui_resources.gyp:ui_resources',
27         'resources/ui_resources.gyp:ui_test_pak',
28         'strings/ui_strings.gyp:ui_strings',
29       ],
30       # iOS uses a small subset of ui. common_sources are the only files that
31       # are built on iOS.
32       'common_sources' : [
33         'base/layout_unittest.cc',
34         'base/l10n/l10n_util_mac_unittest.mm',
35         'base/l10n/l10n_util_unittest.cc',
36         'base/l10n/l10n_util_win_unittest.cc',
37         'base/l10n/time_format_unittest.cc',
38         'base/models/tree_node_iterator_unittest.cc',
39         'base/resource/data_pack_literal.cc',
40         'base/resource/data_pack_unittest.cc',
41         'base/resource/resource_bundle_unittest.cc',
42         'base/test/run_all_unittests.cc',
43         'gfx/font_unittest.cc',
44         'gfx/image/image_skia_unittest.cc',
45         'gfx/screen_unittest.cc',
46         'gfx/text_elider_unittest.cc',
47         'gfx/text_utils_unittest.cc',
48       ],
49       'all_sources': [
50         '<@(_common_sources)',
51         'base/accelerators/accelerator_manager_unittest.cc',
52         'base/accelerators/menu_label_accelerator_util_linux_unittest.cc',
53         'base/clipboard/clipboard_unittest.cc',
54         'base/clipboard/custom_data_helper_unittest.cc',
55         'base/cocoa/base_view_unittest.mm',
56         'base/cocoa/cocoa_base_utils_unittest.mm',
57         'base/cocoa/controls/blue_label_button_unittest.mm',
58         'base/cocoa/controls/hover_image_menu_button_unittest.mm',
59         'base/cocoa/controls/hyperlink_button_cell_unittest.mm',
60         'base/cocoa/focus_tracker_unittest.mm',
61         'base/cocoa/fullscreen_window_manager_unittest.mm',
62         'base/cocoa/hover_image_button_unittest.mm',
63         'base/cocoa/menu_controller_unittest.mm',
64         'base/cocoa/nsgraphics_context_additions_unittest.mm',
65         'base/cocoa/tracking_area_unittest.mm',
66         'base/dragdrop/os_exchange_data_provider_aurax11_unittest.cc',
67         'base/models/list_model_unittest.cc',
68         'base/models/list_selection_model_unittest.cc',
69         'base/models/tree_node_model_unittest.cc',
70         'base/test/data/resource.h',
71         'base/text/bytes_formatting_unittest.cc',
72         'base/view_prop_unittest.cc',
73         'base/webui/web_ui_util_unittest.cc',
74         'gfx/canvas_unittest.cc',
75         'gfx/canvas_unittest_mac.mm',
76         'gfx/font_list_unittest.cc',
77         'gfx/platform_font_mac_unittest.mm',
78         'gfx/render_text_unittest.cc',
79       ],
80       'includes': [
81         'display/display_unittests.gypi',
82         'ozone/ozone_unittests.gypi',
83       ],
84       'include_dirs': [
85         '../',
86       ],
87       'conditions': [
88         ['OS!="ios"', {
89           'sources' : ['<@(_all_sources)'],
90           'includes': [
91             'base/ime/ime_unittests.gypi',
92           ],
93         }, {  # OS=="ios"
94           'sources' : [
95             '<@(_common_sources)',
96           ],
97           # The ResourceBundle unittest expects a locale.pak file to exist in
98           # the bundle for English-US. Copy it in from where it was generated
99           # by ui_resources.gyp:ui_test_pak.
100           'mac_bundle_resources': [
101             '<(PRODUCT_DIR)/ui/en.lproj/locale.pak',
102           ],
103         }],
104         ['OS == "win"', {
105           'sources': [
106             'base/dragdrop/os_exchange_data_win_unittest.cc',
107             'base/win/hwnd_subclass_unittest.cc',
108             'gfx/font_fallback_win_unittest.cc',
109             'gfx/icon_util_unittest.cc',
110             'gfx/icon_util_unittests.rc',
111             'gfx/platform_font_win_unittest.cc',
112           ],
113           'include_dirs': [
114             '../..',
115             '../third_party/wtl/include',
116           ],
117           'msvs_settings': {
118             'VCLinkerTool': {
119               'DelayLoadDLLs': [
120                 'd2d1.dll',
121                 'd3d10_1.dll',
122               ],
123               'AdditionalDependencies': [
124                 'd2d1.lib',
125                 'd3d10_1.lib',
126               ],
127             },
128           },
129           'link_settings': {
130             'libraries': [
131               '-limm32.lib',
132               '-loleacc.lib',
133             ],
134           },
135           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
136           'msvs_disabled_warnings': [ 4267, ],
137         }],
138         ['OS == "android"', {
139           'dependencies': [
140             '../testing/android/native_test.gyp:native_test_native_code',
141           ],
142         }],
143         ['use_pango == 1', {
144           'dependencies': [
145             '../build/linux/system.gyp:fontconfig',
146             '../build/linux/system.gyp:pangocairo',
147           ],
148           'sources': [
149             'gfx/platform_font_pango_unittest.cc',
150           ],
151           'conditions': [
152             ['use_allocator!="none"', {
153                'dependencies': [
154                  '../base/allocator/allocator.gyp:allocator',
155                ],
156             }],
157           ],
158         }],
159         ['use_x11==1', {
160           'dependencies': [
161             '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
162             'events/platform/x11/x11_events_platform.gyp:x11_events_platform',
163           ],
164         }],
165         ['OS=="android" or OS=="ios"', {
166           'sources!': [
167             'gfx/render_text_unittest.cc',
168           ],
169         }],
170         ['OS!="win" or use_aura==0', {
171           'sources!': [
172             'base/view_prop_unittest.cc',
173           ],
174         }],
175         ['use_x11==1 and use_aura==1',  {
176           'sources': [
177             'base/cursor/cursor_loader_x11_unittest.cc',
178           ],
179         }],
180         ['OS=="mac"',  {
181           'dependencies': [
182             'events/events.gyp:events_test_support',
183             'gfx/gfx.gyp:gfx_test_support',
184             'ui_unittests_bundle',
185           ],
186         }],
187         ['use_aura==1 or toolkit_views==1',  {
188           'sources': [
189             'base/dragdrop/os_exchange_data_unittest.cc',
190           ],
191           'dependencies': [
192             'events/events.gyp:events',
193             'events/events.gyp:events_base',
194             'events/events.gyp:events_test_support',
195             'events/platform/events_platform.gyp:events_platform',
196           ],
197         }],
198         ['use_aura==1', {
199           'sources!': [
200             'base/dragdrop/os_exchange_data_win_unittest.cc',
201             'gfx/screen_unittest.cc',
202           ],
203         }],
204         ['use_ozone==1', {
205           'dependencies': [
206             'gfx/ozone/gfx_ozone.gyp:gfx_ozone',
207           ],
208         }],
209         ['use_ozone==1 and use_pango==0', {
210           'sources!': [
211             'gfx/text_elider_unittest.cc',
212             'gfx/font_unittest.cc',
213             'gfx/font_list_unittest.cc',
214             'gfx/render_text_unittest.cc',
215             'gfx/canvas_unittest.cc',
216           ],
217         }],
218         ['chromeos==1', {
219           'dependencies': [
220             '../chromeos/chromeos.gyp:chromeos',
221             'aura/aura.gyp:aura_test_support',
222             'chromeos/ui_chromeos.gyp:ui_chromeos',
223           ],
224           'sources': [
225             'chromeos/touch_exploration_controller_unittest.cc'
226           ],
227           'sources!': [
228             'base/dragdrop/os_exchange_data_provider_aurax11_unittest.cc',
229           ],
230         }],
231       ],
232       'target_conditions': [
233         ['OS == "ios"', {
234           'sources/': [
235             # Pull in specific Mac files for iOS (which have been filtered out
236             # by file name rules).
237             ['include', '^base/l10n/l10n_util_mac_unittest\\.mm$'],
238           ],
239         }],
240       ],
241     },
242   ],
243   'conditions': [
244     # Mac target to build a test Framework bundle to mock out resource loading.
245     ['OS == "mac"', {
246       'targets': [
247         {
248           'target_name': 'ui_unittests_bundle',
249           'type': 'shared_library',
250           'dependencies': [
251             'resources/ui_resources.gyp:ui_test_pak',
252           ],
253           'includes': [ 'ui_unittests_bundle.gypi' ],
254         },
255       ],
256     }],
257     ['OS == "android"', {
258       'targets': [
259         {
260           'target_name': 'ui_unittests_apk',
261           'type': 'none',
262           'dependencies': [
263             'ui_unittests',
264           ],
265           'variables': {
266             'test_suite_name': 'ui_unittests',
267           },
268           'includes': [ '../build/apk_test.gypi' ],
269         },
270       ],
271     }],
272   ],