Home | History | Annotate | Download | only in gcm
      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.
      4 
      5 {
      6   'variables': {
      7     'chromium_code': 1,
      8   },
      9 
     10   'targets': [
     11     # The public GCM target.
     12     {
     13       # GN version: //google_apis/gcm
     14       'target_name': 'gcm',
     15       'type': '<(component)',
     16       'variables': {
     17         'enable_wexit_time_destructors': 1,
     18         'proto_in_dir': './protocol',
     19         'proto_out_dir': 'google_apis/gcm/protocol',
     20         'cc_generator_options': 'dllexport_decl=GCM_EXPORT:',
     21         'cc_include': 'google_apis/gcm/base/gcm_export.h',
     22       },
     23       'include_dirs': [
     24         '../..',
     25       ],
     26       'defines': [
     27         'GCM_IMPLEMENTATION',
     28       ],
     29       'export_dependent_settings': [
     30         '../../third_party/protobuf/protobuf.gyp:protobuf_lite'
     31       ],
     32       'dependencies': [
     33         '../../base/base.gyp:base',
     34         '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
     35         '../../net/net.gyp:net',
     36         '../../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
     37         '../../third_party/protobuf/protobuf.gyp:protobuf_lite',
     38         '../../url/url.gyp:url_lib',
     39       ],
     40       'sources': [
     41         # Note: sources list duplicated in GN build.
     42         'base/mcs_message.cc',
     43         'base/mcs_message.h',
     44         'base/mcs_util.cc',
     45         'base/mcs_util.h',
     46         'base/socket_stream.cc',
     47         'base/socket_stream.h',
     48         'engine/account_mapping.cc',
     49         'engine/account_mapping.h',
     50         'engine/checkin_request.cc',
     51         'engine/checkin_request.h',
     52         'engine/connection_factory.cc',
     53         'engine/connection_factory.h',
     54         'engine/connection_factory_impl.cc',
     55         'engine/connection_factory_impl.h',
     56         'engine/connection_handler.cc',
     57         'engine/connection_handler.h',
     58         'engine/connection_handler_impl.cc',
     59         'engine/connection_handler_impl.h',
     60         'engine/gcm_store.cc',
     61         'engine/gcm_store.h',
     62         'engine/gcm_store_impl.cc',
     63         'engine/gcm_store_impl.h',
     64         'engine/gservices_settings.cc',
     65         'engine/gservices_settings.h',
     66         'engine/heartbeat_manager.cc',
     67         'engine/heartbeat_manager.h',
     68         'engine/mcs_client.cc',
     69         'engine/mcs_client.h',
     70         'engine/registration_info.cc',
     71         'engine/registration_info.h',
     72         'engine/registration_request.cc',
     73         'engine/registration_request.h',
     74         'engine/unregistration_request.cc',
     75         'engine/unregistration_request.h',
     76         'monitoring/gcm_stats_recorder.h',
     77         'protocol/android_checkin.proto',
     78         'protocol/checkin.proto',
     79         'protocol/mcs.proto',
     80       ],
     81       'includes': [
     82         '../../build/protoc.gypi'
     83       ],
     84     },
     85 
     86     # The test support library that is needed to test gcm.
     87     {
     88       # GN version: //google_apis/gcm:test_support
     89       'target_name': 'gcm_test_support',
     90       'type': 'static_library',
     91       'include_dirs': [
     92         '..',
     93       ],
     94       'export_dependent_settings': [
     95         '../../third_party/protobuf/protobuf.gyp:protobuf_lite'
     96       ],
     97       'dependencies': [
     98         '../../base/base.gyp:base',
     99         '../../testing/gtest.gyp:gtest',
    100         '../../third_party/protobuf/protobuf.gyp:protobuf_lite',
    101         'gcm',
    102       ],
    103       'sources': [
    104         # Note: sources list duplicated in GN build.
    105         'base/fake_encryptor.cc',
    106         'base/fake_encryptor.h',
    107         'engine/fake_connection_factory.cc',
    108         'engine/fake_connection_factory.h',
    109         'engine/fake_connection_handler.cc',
    110         'engine/fake_connection_handler.h',
    111         'monitoring/fake_gcm_stats_recorder.cc',
    112         'monitoring/fake_gcm_stats_recorder.h',
    113       ],
    114     },    
    115 
    116     # A standalone MCS (mobile connection server) client.
    117     {
    118       # GN version: //google_apis/gcm:mcs_probe
    119       'target_name': 'mcs_probe',
    120       'type': 'executable',
    121       'variables': { 'enable_wexit_time_destructors': 1, },
    122       'include_dirs': [
    123         '../..',
    124       ],
    125       'dependencies': [
    126         '../../base/base.gyp:base',
    127         '../../net/net.gyp:net',
    128         '../../net/net.gyp:net_test_support',
    129         '../../third_party/protobuf/protobuf.gyp:protobuf_lite',
    130         'gcm',
    131         'gcm_test_support'
    132       ],
    133       'sources': [
    134         # Note: file list duplicated in GN build.
    135         'tools/mcs_probe.cc',
    136       ],
    137     },
    138 
    139     # The main GCM unit tests.
    140     {
    141       'target_name': 'gcm_unit_tests',
    142       'type': '<(gtest_target_type)',
    143       'variables': { 'enable_wexit_time_destructors': 1, },
    144       'include_dirs': [
    145         '../..',
    146       ],
    147       'export_dependent_settings': [
    148         '../../third_party/protobuf/protobuf.gyp:protobuf_lite'
    149       ],
    150       'dependencies': [
    151         '../../base/base.gyp:run_all_unittests',
    152         '../../base/base.gyp:base',
    153         '../../net/net.gyp:net',
    154         '../../net/net.gyp:net_test_support',
    155         '../../testing/gtest.gyp:gtest',
    156         '../../third_party/protobuf/protobuf.gyp:protobuf_lite',
    157         'gcm',
    158         'gcm_test_support'
    159       ],
    160       'sources': [
    161         'base/mcs_message_unittest.cc',
    162         'base/mcs_util_unittest.cc',
    163         'base/socket_stream_unittest.cc',
    164         'engine/account_mapping_unittest.cc',
    165         'engine/checkin_request_unittest.cc',
    166         'engine/connection_factory_impl_unittest.cc',
    167         'engine/connection_handler_impl_unittest.cc',
    168         'engine/gcm_store_impl_unittest.cc',
    169         'engine/gservices_settings_unittest.cc',
    170         'engine/heartbeat_manager_unittest.cc',
    171         'engine/mcs_client_unittest.cc',
    172         'engine/registration_request_unittest.cc',
    173         'engine/unregistration_request_unittest.cc',
    174       ]
    175     },
    176   ],
    177 }
    178