Home | History | Annotate | Download | only in message_center
      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/message_center
     12       'target_name': 'message_center',
     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         '../../url/url.gyp:url_lib',
     20         '../base/ui_base.gyp:ui_base',
     21         '../gfx/gfx.gyp:gfx',
     22         '../gfx/gfx.gyp:gfx_geometry',
     23         '../resources/ui_resources.gyp:ui_resources',
     24         '../strings/ui_strings.gyp:ui_strings',
     25       ],
     26       'defines': [
     27         'MESSAGE_CENTER_IMPLEMENTATION',
     28       ],
     29       'sources': [
     30         # Note: file list duplicated in GN build.
     31         'cocoa/notification_controller.h',
     32         'cocoa/notification_controller.mm',
     33         'cocoa/opaque_views.h',
     34         'cocoa/opaque_views.mm',
     35         'cocoa/popup_collection.h',
     36         'cocoa/popup_collection.mm',
     37         'cocoa/popup_controller.h',
     38         'cocoa/popup_controller.mm',
     39         'cocoa/settings_controller.h',
     40         'cocoa/settings_controller.mm',
     41         'cocoa/settings_entry_view.h',
     42         'cocoa/settings_entry_view.mm',
     43         'cocoa/status_item_view.h',
     44         'cocoa/status_item_view.mm',
     45         'cocoa/tray_controller.h',
     46         'cocoa/tray_controller.mm',
     47         'cocoa/tray_view_controller.h',
     48         'cocoa/tray_view_controller.mm',
     49         'dummy_message_center.cc',
     50         'message_center.cc',
     51         'message_center.h',
     52         'message_center_export.h',
     53         'notification_delegate.cc',
     54         'notification_delegate.h',
     55         'message_center_impl.cc',
     56         'message_center_impl.h',
     57         'message_center_observer.h',
     58         'message_center_style.cc',
     59         'message_center_style.h',
     60         'message_center_switches.cc',
     61         'message_center_switches.h',
     62         'message_center_tray.cc',
     63         'message_center_tray.h',
     64         'message_center_tray_delegate.h',
     65         'message_center_types.h',
     66         'notification.cc',
     67         'notification.h',
     68         'notification_blocker.cc',
     69         'notification_blocker.h',
     70         'notification_list.cc',
     71         'notification_list.h',
     72         'notification_types.cc',
     73         'notification_types.h',
     74         'notifier_settings.cc',
     75         'notifier_settings.h',
     76         'views/bounded_label.cc',
     77         'views/bounded_label.h',
     78         'views/constants.h',
     79         'views/desktop_popup_alignment_delegate.cc',
     80         'views/desktop_popup_alignment_delegate.h',
     81         'views/message_bubble_base.cc',
     82         'views/message_bubble_base.h',
     83         'views/message_center_controller.h',
     84         'views/message_center_bubble.cc',
     85         'views/message_center_bubble.h',
     86         'views/message_center_button_bar.cc',
     87         'views/message_center_button_bar.h',
     88         'views/message_center_view.cc',
     89         'views/message_center_view.h',
     90         'views/message_popup_collection.cc',
     91         'views/message_popup_collection.h',
     92         'views/message_view.cc',
     93         'views/message_view.h',
     94         'views/message_view_context_menu_controller.cc',
     95         'views/message_view_context_menu_controller.h',
     96         'views/notifier_settings_view.cc',
     97         'views/notifier_settings_view.h',
     98         'views/notification_button.cc',
     99         'views/notification_button.h',
    100         'views/notification_view.cc',
    101         'views/notification_view.h',
    102         'views/padded_button.cc',
    103         'views/padded_button.h',
    104         'views/popup_alignment_delegate.cc',
    105         'views/popup_alignment_delegate.h',
    106         'views/proportional_image_view.cc',
    107         'views/proportional_image_view.h',
    108         'views/toast_contents_view.cc',
    109         'views/toast_contents_view.h',
    110       ],
    111       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    112       'msvs_disabled_warnings': [ 4267, ],
    113       'conditions': [
    114         # This condition is for Windows 8 Metro mode support.  We need to
    115         # specify a particular desktop during widget creation in that case.
    116         # This is done using the desktop aura native widget framework.
    117         ['OS=="win"', {
    118           'dependencies': [
    119             '../aura/aura.gyp:aura',
    120           ],
    121         }],
    122         # On Mac, toolkit-views builds still use the Cocoa UI. Keep this in sync
    123         # with message_center_unittests below.
    124         ['toolkit_views==1 and OS!="mac"', {
    125           'dependencies': [
    126             '../events/events.gyp:events',
    127             '../views/views.gyp:views',
    128             '../compositor/compositor.gyp:compositor',
    129           ],
    130         }, {
    131           'sources/': [
    132             ['exclude', 'views/'],
    133           ],
    134         }],
    135         ['use_ash==0', {
    136           'sources!': [
    137             'views/message_bubble_base.cc',
    138             'views/message_bubble_base.h',
    139             'views/message_center_bubble.cc',
    140             'views/message_center_bubble.h',
    141           ],
    142         }],
    143         # iOS disables notifications altogether, Android implements its own
    144         # notification UI manager instead of deferring to the message center.
    145         ['notifications==0 or OS=="android"', {
    146           'sources/': [
    147             # Exclude everything except dummy impl.
    148             ['exclude', '\\.(cc|mm)$'],
    149             ['include', '^dummy_message_center\\.cc$'],
    150             ['include', '^notification_delegate\\.cc$'],
    151           ],
    152         }, {  # notifications==1
    153           'sources!': [ 'dummy_message_center.cc' ],
    154         }],
    155         # Include a minimal set of files required for notifications on Android.
    156         ['OS=="android"', {
    157           'sources/': [
    158             ['include', '^notification\\.cc$'],
    159             ['include', '^notifier_settings\\.cc$'],
    160           ],
    161         }],
    162       ],
    163     },  # target_name: message_center
    164     {
    165       # GN version: //ui/message_center:test_support
    166       'target_name': 'message_center_test_support',
    167       'type': 'static_library',
    168       'dependencies': [
    169         '../../base/base.gyp:base',
    170         '../../base/base.gyp:test_support_base',
    171         '../../skia/skia.gyp:skia',
    172         '../base/ui_base.gyp:ui_base',
    173         '../gfx/gfx.gyp:gfx',
    174         '../gfx/gfx.gyp:gfx_geometry',
    175         'message_center',
    176       ],
    177       'sources': [
    178         # Note: sources list duplicated in GN build.
    179         'fake_message_center.h',
    180         'fake_message_center.cc',
    181         'fake_message_center_tray_delegate.h',
    182         'fake_message_center_tray_delegate.cc',
    183         'fake_notifier_settings_provider.h',
    184         'fake_notifier_settings_provider.cc',
    185       ],
    186     },  # target_name: message_center_test_support
    187     {
    188       # GN version: //ui/message_center:message_center_unittests
    189       'target_name': 'message_center_unittests',
    190       'type': 'executable',
    191       'dependencies': [
    192         '../../base/base.gyp:base',
    193         '../../base/base.gyp:test_support_base',
    194         '../../skia/skia.gyp:skia',
    195         '../../testing/gtest.gyp:gtest',
    196         '../../url/url.gyp:url_lib',
    197         '../base/ui_base.gyp:ui_base',
    198         '../gfx/gfx.gyp:gfx',
    199         '../gfx/gfx.gyp:gfx_geometry',
    200         '../resources/ui_resources.gyp:ui_resources',
    201         '../resources/ui_resources.gyp:ui_test_pak',
    202         'message_center',
    203         'message_center_test_support',
    204       ],
    205       'sources': [
    206         # Note: file list duplicated in GN build.
    207         'cocoa/notification_controller_unittest.mm',
    208         'cocoa/popup_collection_unittest.mm',
    209         'cocoa/popup_controller_unittest.mm',
    210         'cocoa/settings_controller_unittest.mm',
    211         'cocoa/status_item_view_unittest.mm',
    212         'cocoa/tray_controller_unittest.mm',
    213         'cocoa/tray_view_controller_unittest.mm',
    214         'message_center_tray_unittest.cc',
    215         'message_center_impl_unittest.cc',
    216         'notification_delegate_unittest.cc',
    217         'notification_list_unittest.cc',
    218         'test/run_all_unittests.cc',
    219       ],
    220       'conditions': [
    221         ['OS=="mac"', {
    222           'dependencies': [
    223             '../gfx/gfx.gyp:gfx_test_support',
    224           ],
    225         }],
    226         ['toolkit_views==1 and OS!="mac"', {
    227           'dependencies': [
    228             # Compositor is needed by message_center_view_unittest.cc
    229             # and for the fonts used by bounded_label_unittest.cc.
    230             '../compositor/compositor.gyp:compositor',
    231             '../views/views.gyp:views',
    232             '../views/views.gyp:views_test_support',
    233           ],
    234           'sources': [
    235             'views/bounded_label_unittest.cc',
    236             'views/message_center_view_unittest.cc',
    237             'views/message_popup_collection_unittest.cc',
    238             'views/notification_view_unittest.cc',
    239             'views/notifier_settings_view_unittest.cc',
    240           ],
    241         }],
    242         ['notifications==0', {  # Android and iOS.
    243           'sources/': [
    244             # Exclude everything except main().
    245             ['exclude', '\\.(cc|mm)$'],
    246             ['include', '^test/run_all_unittests\\.cc$'],
    247           ],
    248         }],
    249         # See http://crbug.com/162998#c4 for why this is needed.
    250         ['OS=="linux" and use_allocator!="none"', {
    251           'dependencies': [
    252             '../../base/allocator/allocator.gyp:allocator',
    253           ],
    254         }],
    255       ],
    256     },  # target_name: message_center_unittests
    257   ],
    258 }
    259