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