app_shell.gyp revision 03b57e008b61dfcb1fbad3aea950ae0e001748b0
1# Copyright 2014 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      'target_name': 'app_shell_lib',
12      'type': 'static_library',
13      'defines!': ['CONTENT_IMPLEMENTATION'],
14      'dependencies': [
15        'app_shell_version_header',
16        '<(DEPTH)/base/base.gyp:base',
17        '<(DEPTH)/base/base.gyp:base_prefs_test_support',
18        '<(DEPTH)/components/components.gyp:omaha_query_params',
19        '<(DEPTH)/components/components.gyp:pref_registry',
20        '<(DEPTH)/components/components.gyp:user_prefs',
21        '<(DEPTH)/content/content.gyp:content',
22        '<(DEPTH)/content/content.gyp:content_gpu',
23        '<(DEPTH)/content/content.gyp:content_ppapi_plugin',
24        '<(DEPTH)/content/content_shell_and_tests.gyp:content_shell_lib',
25        '<(DEPTH)/device/hid/hid.gyp:device_hid',
26        '<(DEPTH)/extensions/common/api/api.gyp:extensions_api',
27        '<(DEPTH)/extensions/extensions.gyp:extensions_browser',
28        '<(DEPTH)/extensions/extensions.gyp:extensions_common',
29        '<(DEPTH)/extensions/extensions.gyp:extensions_renderer',
30        '<(DEPTH)/extensions/extensions.gyp:extensions_shell_and_test_pak',
31        '<(DEPTH)/extensions/extensions_resources.gyp:extensions_resources',
32        '<(DEPTH)/extensions/shell/common/api/api.gyp:shell_api',
33        '<(DEPTH)/mojo/mojo_base.gyp:mojo_environment_chromium',
34        '<(DEPTH)/mojo/mojo_base.gyp:mojo_system_impl',
35        '<(DEPTH)/skia/skia.gyp:skia',
36        '<(DEPTH)/third_party/WebKit/public/blink.gyp:blink',
37        '<(DEPTH)/ui/wm/wm.gyp:wm',
38        '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
39      ],
40      'include_dirs': [
41        '../..',
42        '<(SHARED_INTERMEDIATE_DIR)',
43        '<(SHARED_INTERMEDIATE_DIR)/extensions/shell',
44      ],
45      'sources': [
46        'app/shell_main_delegate.cc',
47        'app/shell_main_delegate.h',
48        'browser/api/shell/shell_api.cc',
49        'browser/api/shell/shell_api.h',
50        'browser/api/shell_extensions_api_client.cc',
51        'browser/api/shell_extensions_api_client.h',
52        'browser/default_shell_browser_main_delegate.cc',
53        'browser/default_shell_browser_main_delegate.h',
54        'browser/default_shell_app_window_controller.cc',
55        'browser/default_shell_app_window_controller.h',
56        'browser/media_capture_util.cc',
57        'browser/media_capture_util.h',
58        'browser/shell_app_sorting.cc',
59        'browser/shell_app_sorting.h',
60        'browser/shell_app_window.cc',
61        'browser/shell_app_window.h',
62        'browser/shell_app_window_controller.h',
63        'browser/shell_browser_context.cc',
64        'browser/shell_browser_context.h',
65        'browser/shell_browser_main_delegate.h',
66        'browser/shell_browser_main_parts.cc',
67        'browser/shell_browser_main_parts.h',
68        'browser/shell_content_browser_client.cc',
69        'browser/shell_content_browser_client.h',
70        'browser/shell_desktop_controller.cc',
71        'browser/shell_desktop_controller.h',
72        'browser/shell_extension_host_delegate.cc',
73        'browser/shell_extension_host_delegate.h',
74        'browser/shell_extension_system.cc',
75        'browser/shell_extension_system.h',
76        'browser/shell_extension_system_factory.cc',
77        'browser/shell_extension_system_factory.h',
78        'browser/shell_extension_web_contents_observer.cc',
79        'browser/shell_extension_web_contents_observer.h',
80        'browser/shell_extensions_browser_client.cc',
81        'browser/shell_extensions_browser_client.h',
82        'browser/shell_network_controller_chromeos.cc',
83        'browser/shell_network_controller_chromeos.h',
84        'browser/shell_omaha_query_params_delegate.cc',
85        'browser/shell_omaha_query_params_delegate.h',
86        'browser/shell_runtime_api_delegate.cc',
87        'browser/shell_runtime_api_delegate.h',
88        'browser/shell_special_storage_policy.cc',
89        'browser/shell_special_storage_policy.h',
90        'common/shell_content_client.cc',
91        'common/shell_content_client.h',
92        'common/shell_extensions_client.cc',
93        'common/shell_extensions_client.h',
94        'common/switches.h',
95        'common/switches.cc',
96        'renderer/shell_content_renderer_client.cc',
97        'renderer/shell_content_renderer_client.h',
98        'renderer/shell_custom_bindings.cc',
99        'renderer/shell_custom_bindings.h',
100        'renderer/shell_custom_bindings.js',
101        'renderer/shell_dispatcher_delegate.cc',
102        'renderer/shell_dispatcher_delegate.h',
103        'renderer/shell_extensions_renderer_client.cc',
104        'renderer/shell_extensions_renderer_client.h',
105      ],
106      'conditions': [
107        ['chromeos==1', {
108          'dependencies': [
109            '<(DEPTH)/chromeos/chromeos.gyp:chromeos',
110            '<(DEPTH)/ui/chromeos/ui_chromeos.gyp:ui_chromeos',
111            '<(DEPTH)/ui/display/display.gyp:display',
112          ],
113        }],
114        ['disable_nacl==0', {
115          'dependencies': [
116            '<(DEPTH)/components/nacl.gyp:nacl',
117            '<(DEPTH)/components/nacl.gyp:nacl_browser',
118            '<(DEPTH)/components/nacl.gyp:nacl_common',
119            '<(DEPTH)/components/nacl.gyp:nacl_helper',
120            '<(DEPTH)/components/nacl.gyp:nacl_renderer',
121            '<(DEPTH)/components/nacl.gyp:nacl_switches',
122          ],
123          'sources': [
124            'browser/shell_nacl_browser_delegate.cc',
125            'browser/shell_nacl_browser_delegate.h',
126          ],
127        }],
128      ],
129    },
130    {
131      'target_name': 'app_shell',
132      'type': 'executable',
133      'defines!': ['CONTENT_IMPLEMENTATION'],
134      'dependencies': [
135        'app_shell_lib',
136        '<(DEPTH)/extensions/extensions.gyp:extensions_shell_and_test_pak',
137      ],
138      'include_dirs': [
139        '../..',
140      ],
141      'sources': [
142        'app/shell_main.cc',
143      ],
144      'conditions': [
145        ['OS=="win"', {
146          'msvs_settings': {
147            'VCLinkerTool': {
148              'SubSystem': '2',  # Set /SUBSYSTEM:WINDOWS
149            },
150          },
151          'dependencies': [
152            '<(DEPTH)/sandbox/sandbox.gyp:sandbox',
153          ],
154        }],
155      ],
156    },
157    {
158      'target_name': 'app_shell_browsertests',
159      'type': '<(gtest_target_type)',
160      'dependencies': [
161        'app_shell_lib',
162        # TODO(yoz): find the right deps
163        '<(DEPTH)/base/base.gyp:test_support_base',
164        '<(DEPTH)/content/content.gyp:content_app_both',
165        '<(DEPTH)/content/content_shell_and_tests.gyp:content_browser_test_support',
166        '<(DEPTH)/content/content_shell_and_tests.gyp:test_support_content',
167        '<(DEPTH)/extensions/extensions.gyp:extensions_test_support',
168        '<(DEPTH)/testing/gtest.gyp:gtest',
169      ],
170      'defines': [
171        'HAS_OUT_OF_PROC_TEST_RUNNER',
172      ],
173      'sources': [
174        # TODO(yoz): Refactor once we have a second test target.
175        # TODO(yoz): Something is off here; should this .gyp file be
176        # in the parent directory? Test target extensions_browsertests?
177        '../browser/api/dns/dns_apitest.cc',
178        '../browser/api/socket/socket_apitest.cc',
179        '../browser/api/sockets_tcp/sockets_tcp_apitest.cc',
180        '../browser/api/sockets_udp/sockets_udp_apitest.cc',
181        'browser/shell_browsertest.cc',
182        'test/shell_test.h',
183        'test/shell_test.cc',
184        'test/shell_test_launcher_delegate.cc',
185        'test/shell_test_launcher_delegate.h',
186        'test/shell_tests_main.cc',
187      ],
188    },
189    {
190      'target_name': 'app_shell_unittests',
191      'type': 'executable',
192      'dependencies': [
193        'app_shell_lib',
194        '<(DEPTH)/base/base.gyp:base',
195        '<(DEPTH)/base/base.gyp:test_support_base',
196        '<(DEPTH)/content/content.gyp:content_app_both',
197        '<(DEPTH)/content/content_shell_and_tests.gyp:test_support_content',
198        '<(DEPTH)/extensions/extensions.gyp:extensions_shell_and_test_pak',
199        '<(DEPTH)/extensions/extensions.gyp:extensions_test_support',
200        '<(DEPTH)/testing/gtest.gyp:gtest',
201      ],
202      'sources': [
203        '../test/extensions_unittests_main.cc',
204        'browser/shell_nacl_browser_delegate_unittest.cc',
205      ],
206      'conditions': [
207        ['disable_nacl==1', {
208          'sources!': [
209            'browser/shell_nacl_browser_delegate_unittest.cc',
210          ],
211        }],
212      ],
213    },
214    {
215      'target_name': 'app_shell_version_header',
216      'type': 'none',
217      'direct_dependent_settings': {
218        'include_dirs': [
219          '<(SHARED_INTERMEDIATE_DIR)',
220        ],
221      },
222      'actions': [
223        {
224          'action_name': 'version_header',
225          'message': 'Generating version header file: <@(_outputs)',
226          'variables': {
227            'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE',
228          },
229          'inputs': [
230            '<(version_path)',
231            '<(lastchange_path)',
232            'common/version.h.in',
233          ],
234          'outputs': [
235            '<(SHARED_INTERMEDIATE_DIR)/extensions/shell/common/version.h',
236          ],
237          'action': [
238            'python',
239            '<(version_py_path)',
240            '-e', 'VERSION_FULL="<(version_full)"',
241            '-f', '<(lastchange_path)',
242            'common/version.h.in',
243            '<@(_outputs)',
244          ],
245          'includes': [
246            '../../build/util/version.gypi',
247          ],
248        },
249      ],
250    },
251  ],  # targets
252}
253