Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / ui / app_list / app_list.gyp
blob1ea28b140ca7a6e602822b6cce548f9f9f25132c
1 # 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.
6   'variables': {
7     'chromium_code': 1,
8   },
9   'targets': [
10     {
11       # GN version: //ui/app_list
12       'target_name': 'app_list',
13       'type': '<(component)',
14       'dependencies': [
15         '../../base/base.gyp:base',
16         '../../base/base.gyp:base_i18n',
17         '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
18         '../../components/components.gyp:keyed_service_core',
19         '../../skia/skia.gyp:skia',
20         '../base/ui_base.gyp:ui_base',
21         '../base/ime/ui_base_ime.gyp:ui_base_ime',
22         '../compositor/compositor.gyp:compositor',
23         '../events/events.gyp:events_base',
24         '../gfx/gfx.gyp:gfx',
25         '../gfx/gfx.gyp:gfx_geometry',
26         '../resources/ui_resources.gyp:ui_resources',
27         '../strings/ui_strings.gyp:ui_strings',
28         '../../third_party/icu/icu.gyp:icuuc',
29       ],
30       'defines': [
31         'APP_LIST_IMPLEMENTATION',
32       ],
33       'sources': [
34         # Note: sources list duplicated in GN build.
35         'app_list_constants.cc',
36         'app_list_constants.h',
37         'app_list_export.h',
38         'app_list_folder_item.cc',
39         'app_list_folder_item.h',
40         'app_list_item.cc',
41         'app_list_item.h',
42         'app_list_item_list.cc',
43         'app_list_item_list.h',
44         'app_list_item_list_observer.h',
45         'app_list_item_observer.h',
46         'app_list_menu.cc',
47         'app_list_menu.h',
48         'app_list_model.cc',
49         'app_list_model.h',
50         'app_list_model_observer.h',
51         'app_list_switches.cc',
52         'app_list_switches.h',
53         'app_list_view_delegate.cc',
54         'app_list_view_delegate.h',
55         'cocoa/app_list_pager_view.h',
56         'cocoa/app_list_pager_view.mm',
57         'cocoa/app_list_view_controller.h',
58         'cocoa/app_list_view_controller.mm',
59         'cocoa/app_list_window_controller.h',
60         'cocoa/app_list_window_controller.mm',
61         'cocoa/apps_collection_view_drag_manager.h',
62         'cocoa/apps_collection_view_drag_manager.mm',
63         'cocoa/apps_grid_controller.h',
64         'cocoa/apps_grid_controller.mm',
65         'cocoa/apps_grid_view_item.h',
66         'cocoa/apps_grid_view_item.mm',
67         'cocoa/apps_pagination_model_observer.h',
68         'cocoa/apps_search_box_controller.h',
69         'cocoa/apps_search_box_controller.mm',
70         'cocoa/apps_search_results_controller.h',
71         'cocoa/apps_search_results_controller.mm',
72         'cocoa/apps_search_results_model_bridge.h',
73         'cocoa/apps_search_results_model_bridge.mm',
74         'cocoa/item_drag_controller.h',
75         'cocoa/item_drag_controller.mm',
76         'cocoa/scroll_view_with_no_scrollbars.h',
77         'cocoa/scroll_view_with_no_scrollbars.mm',
78         'folder_image.cc',
79         'folder_image.h',
80         'pagination_controller.cc',
81         'pagination_controller.h',
82         'pagination_model.cc',
83         'pagination_model.h',
84         'pagination_model_observer.h',
85         'search/dictionary_data_store.cc',
86         'search/dictionary_data_store.h',
87         'search/history.cc',
88         'search/history.h',
89         'search/history_data.cc',
90         'search/history_data.h',
91         'search/history_data_store.cc',
92         'search/history_data_store.h',
93         'search/history_types.h',
94         'search/mixer.cc',
95         'search/mixer.h',
96         'search/term_break_iterator.cc',
97         'search/term_break_iterator.h',
98         'search/tokenized_string.cc',
99         'search/tokenized_string.h',
100         'search/tokenized_string_char_iterator.cc',
101         'search/tokenized_string_char_iterator.h',
102         'search/tokenized_string_match.cc',
103         'search/tokenized_string_match.h',
104         'search_box_model.cc',
105         'search_box_model.h',
106         'search_box_model_observer.h',
107         'search_controller.cc',
108         'search_controller.h',
109         'search_provider.cc',
110         'search_provider.h',
111         'search_result.cc',
112         'search_result.h',
113         'speech_ui_model.cc',
114         'speech_ui_model.h',
115         'speech_ui_model_observer.h',
116         'views/all_apps_tile_item_view.cc',
117         'views/all_apps_tile_item_view.h',
118         'views/app_list_background.cc',
119         'views/app_list_background.h',
120         'views/app_list_drag_and_drop_host.h',
121         'views/app_list_folder_view.cc',
122         'views/app_list_folder_view.h',
123         'views/app_list_item_view.cc',
124         'views/app_list_item_view.h',
125         'views/app_list_main_view.cc',
126         'views/app_list_main_view.h',
127         'views/app_list_menu_views.cc',
128         'views/app_list_menu_views.h',
129         'views/app_list_page.cc',
130         'views/app_list_page.h',
131         'views/app_list_view.cc',
132         'views/app_list_view.h',
133         'views/app_list_view_observer.h',
134         'views/apps_container_view.cc',
135         'views/apps_container_view.h',
136         'views/apps_grid_view.cc',
137         'views/apps_grid_view.h',
138         'views/apps_grid_view_delegate.h',
139         'views/apps_grid_view_folder_delegate.h',
140         'views/cached_label.cc',
141         'views/cached_label.h',
142         'views/contents_view.cc',
143         'views/contents_view.h',
144         'views/custom_launcher_page_view.cc',
145         'views/custom_launcher_page_view.h',
146         'views/folder_background_view.cc',
147         'views/folder_background_view.h',
148         'views/folder_header_view.cc',
149         'views/folder_header_view.h',
150         'views/folder_header_view_delegate.h',
151         'views/image_shadow_animator.cc',
152         'views/image_shadow_animator.h',
153         'views/page_switcher.cc',
154         'views/page_switcher.h',
155         'views/progress_bar_view.cc',
156         'views/progress_bar_view.h',
157         'views/pulsing_block_view.cc',
158         'views/pulsing_block_view.h',
159         'views/search_box_view.cc',
160         'views/search_box_view.h',
161         'views/search_box_view_delegate.h',
162         'views/search_result_actions_view.cc',
163         'views/search_result_actions_view.h',
164         'views/search_result_container_view.cc',
165         'views/search_result_container_view.h',
166         'views/search_result_list_view.cc',
167         'views/search_result_list_view.h',
168         'views/search_result_list_view_delegate.h',
169         'views/search_result_page_view.cc',
170         'views/search_result_page_view.h',
171         'views/search_result_tile_item_list_view.cc',
172         'views/search_result_tile_item_list_view.h',
173         'views/search_result_tile_item_view.cc',
174         'views/search_result_tile_item_view.h',
175         'views/search_result_view.cc',
176         'views/search_result_view.h',
177         'views/speech_view.cc',
178         'views/speech_view.h',
179         'views/start_page_view.cc',
180         'views/start_page_view.h',
181         'views/tile_item_view.cc',
182         'views/tile_item_view.h',
183         'views/top_icon_animation_view.cc',
184         'views/top_icon_animation_view.h',
185       ],
186       'conditions': [
187         ['use_aura==1', {
188           'dependencies': [
189             '../aura/aura.gyp:aura',
190             '../wm/wm.gyp:wm',
191           ],
192         }],
193         ['toolkit_views==1', {
194           'dependencies': [
195             '../events/events.gyp:events',
196             '../views/views.gyp:views',
197           ],
198           'export_dependent_settings': [
199               '../views/views.gyp:views',
200           ],
201         }, {  # toolkit_views==0
202           'sources/': [
203             ['exclude', 'views/'],
204           ],
205         }],
206         ['OS=="mac"', {
207           'dependencies': [
208             '../../third_party/google_toolbox_for_mac/google_toolbox_for_mac.gyp:google_toolbox_for_mac',
209           ],
210           'link_settings': {
211             'libraries': [
212               '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
213             ],
214           },
215         }, {  # OS!="mac"
216           'sources/': [
217             ['exclude', 'cocoa/'],
218           ],
219         }],
220       ],
221       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
222       'msvs_disabled_warnings': [ 4267, ],
223     },
224     {
225       # GN version: //ui/app_list:test_support
226       'target_name': 'app_list_test_support',
227       'type': 'static_library',
228       'dependencies': [
229         '../../base/base.gyp:base',
230         '../gfx/gfx.gyp:gfx',
231         '../gfx/gfx.gyp:gfx_geometry',
232         '../resources/ui_resources.gyp:ui_resources',
233         'app_list',
234       ],
235       'sources': [
236         # Note: sources list duplicated in GN build.
237         'test/app_list_test_model.cc',
238         'test/app_list_test_model.h',
239         'test/app_list_test_view_delegate.cc',
240         'test/app_list_test_view_delegate.h',
241         'test/test_search_result.cc',
242         'test/test_search_result.h',
243       ],
244     },
245     {
246       # GN version: //ui/app_list:app_list_unittests
247       'target_name': 'app_list_unittests',
248       'type': 'executable',
249       'dependencies': [
250         '../../base/base.gyp:base',
251         '../../base/base.gyp:test_support_base',
252         '../../skia/skia.gyp:skia',
253         '../../testing/gtest.gyp:gtest',
254         '../base/ui_base.gyp:ui_base',
255         '../compositor/compositor.gyp:compositor',
256         '../resources/ui_resources.gyp:ui_resources',
257         '../resources/ui_resources.gyp:ui_test_pak',
258         'app_list',
259         'app_list_test_support',
260       ],
261       'sources': [
262         # Note: sources list duplicated in GN build.
263         'app_list_item_list_unittest.cc',
264         'app_list_model_unittest.cc',
265         'cocoa/app_list_view_controller_unittest.mm',
266         'cocoa/app_list_window_controller_unittest.mm',
267         'cocoa/apps_grid_controller_unittest.mm',
268         'cocoa/apps_search_box_controller_unittest.mm',
269         'cocoa/apps_search_results_controller_unittest.mm',
270         'cocoa/test/apps_grid_controller_test_helper.h',
271         'cocoa/test/apps_grid_controller_test_helper.mm',
272         'folder_image_unittest.cc',
273         'pagination_model_unittest.cc',
274         'search/history_data_store_unittest.cc',
275         'search/mixer_unittest.cc',
276         'search/term_break_iterator_unittest.cc',
277         'search/tokenized_string_char_iterator_unittest.cc',
278         'search/tokenized_string_match_unittest.cc',
279         'search/tokenized_string_unittest.cc',
280         'test/run_all_unittests.cc',
281         'views/app_list_main_view_unittest.cc',
282         'views/app_list_view_unittest.cc',
283         'views/apps_grid_view_unittest.cc',
284         'views/folder_header_view_unittest.cc',
285         'views/image_shadow_animator_unittest.cc',
286         'views/search_box_view_unittest.cc',
287         'views/search_result_list_view_unittest.cc',
288         'views/search_result_page_view_unittest.cc',
289         'views/speech_view_unittest.cc',
290         'views/test/apps_grid_view_test_api.cc',
291         'views/test/apps_grid_view_test_api.h',
292       ],
293       'conditions': [
294         ['toolkit_views==1', {
295           'dependencies': [
296             '../views/views.gyp:views',
297             '../views/views.gyp:views_test_support',
298           ],
299         }, {  # toolkit_views==0
300           'sources/': [
301             ['exclude', 'views/'],
302           ]
303         }],
304         ['OS=="mac"', {
305           'dependencies': [
306             '../events/events.gyp:events_test_support',
307             '../gfx/gfx.gyp:gfx_test_support',
308           ],
309           'conditions': [
310             ['component=="static_library"', {
311               # Needed to link to Obj-C static libraries.
312               'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']},
313             }],
314           ],
315         }, {  # OS!="mac"
316           'sources/': [
317             ['exclude', 'cocoa/'],
318           ],
319         }],
320         # See http://crbug.com/162998#c4 for why this is needed.
321         ['OS=="linux" and use_allocator!="none"', {
322           'dependencies': [
323             '../../base/allocator/allocator.gyp:allocator',
324           ],
325         }],
326         ['OS=="win" and win_use_allocator_shim==1', {
327           'dependencies': [
328             '../../base/allocator/allocator.gyp:allocator',
329           ],
330         }],
331       ],
332       # Disable c4267 warnings until we fix size_t to int truncations.
333       'msvs_disabled_warnings': [ 4267, ],
334     },
335   ],
336   'conditions': [
337     ['toolkit_views==1', {
338       'targets': [
339         {
340           'target_name': 'app_list_demo',
341           'type': 'executable',
342           'sources': [
343             'demo/app_list_demo_views.cc',
344           ],
345           'dependencies': [
346             '../../base/base.gyp:base',
347             '../../content/content.gyp:content',
348             '../../content/content.gyp:content_browser',
349             '../../skia/skia.gyp:skia',
350             '../../url/url.gyp:url_lib',
351             '../base/ui_base.gyp:ui_base',
352             '../events/events.gyp:events',
353             '../resources/ui_resources.gyp:ui_resources',
354             '../resources/ui_resources.gyp:ui_test_pak',
355             '../views/controls/webview/webview.gyp:webview',
356             '../views/views.gyp:views',
357             '../views_content_client/views_content_client.gyp:views_content_client',
358             'app_list',
359             'app_list_test_support',
360           ],
361           'conditions': [
362             ['OS=="win"', {
363               'msvs_settings': {
364                 'VCLinkerTool': {
365                   'SubSystem': '2',  # Set /SUBSYSTEM:WINDOWS
366                 },
367               },
368               'dependencies': [
369                 '../../sandbox/sandbox.gyp:sandbox',
370                 '../../content/content.gyp:content_startup_helper_win',
371               ],
372             }],
373             ['OS=="win" and component!="shared_library" and win_use_allocator_shim==1', {
374               'dependencies': [
375                 '<(DEPTH)/base/allocator/allocator.gyp:allocator',
376               ],
377             }],
378           ],
379         },
380       ],
381     }],  # toolkit_views==1
382     ['test_isolation_mode != "noop"', {
383       'targets': [
384         {
385           'target_name': 'app_list_unittests_run',
386           'type': 'none',
387           'dependencies': [
388             'app_list_unittests',
389           ],
390           'includes': [
391             '../../build/isolate.gypi',
392           ],
393           'sources': [
394             'app_list_unittests.isolate',
395           ],
396           'conditions': [
397             ['use_x11 == 1', {
398               'dependencies': [
399                 '../../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
400               ],
401             }],
402           ],
403         },
404       ],
405     }],
406   ],