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