Upstream version 6.35.121.0
[platform/framework/web/crosswalk.git] / src / apps / apps.gypi
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   'targets': [
7     {
8       'target_name': 'apps',
9       'type': 'static_library',
10       'variables': { 'enable_wexit_time_destructors': 1, },
11       # Since browser and browser_extensions actually depend on each other,
12       # we must omit the dependency from browser_extensions to browser.
13       # However, this means browser_extensions and browser should more or less
14       # have the same dependencies. Once browser_extensions is untangled from
15       # browser, then we can clean up these dependencies.
16       'dependencies': [
17         'browser_extensions',
18         'common/extensions/api/api.gyp:chrome_api',
19         '../skia/skia.gyp:skia',
20       ],
21       'include_dirs': [
22         '<(INTERMEDIATE_DIR)',
23         '<(grit_out_dir)',
24       ],
25       'sources': [
26         'app_lifetime_monitor.cc',
27         'app_lifetime_monitor.h',
28         'app_lifetime_monitor_factory.cc',
29         'app_lifetime_monitor_factory.h',
30         'app_load_service.cc',
31         'app_load_service.h',
32         'app_load_service_factory.cc',
33         'app_load_service_factory.h',
34         'app_restore_service.cc',
35         'app_restore_service.h',
36         'app_restore_service_factory.cc',
37         'app_restore_service_factory.h',
38         'app_window.cc',
39         'app_window.h',
40         'app_window_contents.cc',
41         'app_window_contents.h',
42         'app_window_geometry_cache.cc',
43         'app_window_geometry_cache.h',
44         'app_window_registry.cc',
45         'app_window_registry.h',
46         'apps_client.cc',
47         'apps_client.h',
48         'browser_context_keyed_service_factories.cc',
49         'browser_context_keyed_service_factories.h',
50         'launcher.cc',
51         'launcher.h',
52         'metrics_names.h',
53         'pref_names.cc',
54         'pref_names.h',
55         'prefs.cc',
56         'prefs.h',
57         'saved_files_service.cc',
58         'saved_files_service.h',
59         'saved_files_service_factory.cc',
60         'saved_files_service_factory.h',
61         'size_constraints.cc',
62         'size_constraints.h',
63         'switches.cc',
64         'switches.h',
65         'ui/native_app_window.h',
66         'ui/views/app_window_frame_view.cc',
67         'ui/views/app_window_frame_view.h',
68         'ui/views/native_app_window_views.cc',
69         'ui/views/native_app_window_views.h',
70       ],
71       'conditions': [
72         ['chromeos==1',
73           {
74             'dependencies': [
75               'browser_chromeos',
76             ]
77           }
78         ],
79         ['enable_extensions==0',
80           {
81             'sources/': [
82               ['exclude', '^apps/'],
83             ],
84           }
85         ],
86         ['toolkit_views==1', {
87           'dependencies': [
88             '../ui/base/strings/ui_strings.gyp:ui_strings',
89             '../ui/views/views.gyp:views',
90           ],
91         }, {  # toolkit_views==0
92           'sources/': [
93             ['exclude', 'ui/views/'],
94           ],
95         }],
96       ],
97       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
98       'msvs_disabled_warnings': [ 4267, ],
99     },
100   ],  # targets
101   'conditions': [
102     ['chromeos==1 or (OS=="linux" and use_aura==1) or (OS=="win" and use_aura==1)', {
103       'targets': [
104         {
105           'target_name': 'app_shell_pak',
106           'type': 'none',
107           'dependencies': [
108             # Need extension related resources in common_resources.pak and
109             # renderer_resources_100_percent.pak
110             'chrome_resources.gyp:chrome_resources',
111             # Need app related resources in theme_resources_100_percent.pak
112             'chrome_resources.gyp:theme_resources',
113             # Need dev-tools related resources in shell_resources.pak and
114             # devtools_resources.pak.
115             '../content/content_shell_and_tests.gyp:generate_content_shell_resources',
116             '../content/browser/devtools/devtools_resources.gyp:devtools_resources',
117             '../ui/base/strings/ui_strings.gyp:ui_strings',
118             '../ui/resources/ui_resources.gyp:ui_resources',
119           ],
120           'actions': [
121             {
122               'action_name': 'repack_app_shell_pack',
123               'variables': {
124                 'pak_inputs': [
125                   '<(grit_out_dir)/common_resources.pak',
126                   '<(grit_out_dir)/extensions_api_resources.pak',
127                   # TODO(jamescook): extra the extension/app related resources
128                   # from generated_resources_en-US.pak and
129                   # theme_resources_100_percent.pak.
130                   '<(SHARED_INTERMEDIATE_DIR)/chrome/generated_resources_en-US.pak',
131                   '<(SHARED_INTERMEDIATE_DIR)/chrome/renderer_resources_100_percent.pak',
132                   '<(SHARED_INTERMEDIATE_DIR)/chrome/theme_resources_100_percent.pak',
133                   '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak',
134                   '<(SHARED_INTERMEDIATE_DIR)/ui/app_locale_settings/app_locale_settings_en-US.pak',
135                   '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak',
136                   '<(SHARED_INTERMEDIATE_DIR)/ui/ui_strings/ui_strings_en-US.pak',
137                   '<(SHARED_INTERMEDIATE_DIR)/webkit/devtools_resources.pak',
138                 ],
139                 'pak_output': '<(PRODUCT_DIR)/app_shell.pak',
140               },
141              'includes': [ '../build/repack_action.gypi' ],
142             },
143           ],
144         },
145         {
146           'target_name': 'app_shell_lib',
147           'type': 'static_library',
148           'defines!': ['CONTENT_IMPLEMENTATION'],
149           'variables': {
150             'chromium_code': 1,
151           },
152           'dependencies': [
153             'app_shell_pak',
154             'apps',
155             'common/extensions/api/api.gyp:chrome_api',
156             'test_support_common',
157             '../base/base.gyp:base',
158             '../base/base.gyp:base_prefs_test_support',
159             '../content/content.gyp:content',
160             '../content/content_shell_and_tests.gyp:content_shell_lib',
161             '../extensions/common/api/api.gyp:extensions_api',
162             '../skia/skia.gyp:skia',
163             '../ui/views/views.gyp:views',
164             '../ui/wm/wm.gyp:wm_test_support',
165           ],
166           'include_dirs': [
167             '..',
168           ],
169           'sources': [
170             'shell/app/shell_main_delegate.cc',
171             'shell/app/shell_main_delegate.h',
172             'shell/browser/shell_app_sorting.cc',
173             'shell/browser/shell_app_sorting.h',
174             'shell/browser/shell_app_window_delegate.cc',
175             'shell/browser/shell_app_window_delegate.h',
176             'shell/browser/shell_apps_client.cc',
177             'shell/browser/shell_apps_client.h',
178             'shell/browser/shell_browser_context.cc',
179             'shell/browser/shell_browser_context.h',
180             'shell/browser/shell_browser_main_parts.cc',
181             'shell/browser/shell_browser_main_parts.h',
182             'shell/browser/shell_content_browser_client.cc',
183             'shell/browser/shell_content_browser_client.h',
184             'shell/browser/shell_desktop_controller.cc',
185             'shell/browser/shell_desktop_controller.h',
186             'shell/browser/shell_extension_system.cc',
187             'shell/browser/shell_extension_system.h',
188             'shell/browser/shell_extension_system_factory.cc',
189             'shell/browser/shell_extension_system_factory.h',
190             'shell/browser/shell_extension_web_contents_observer.cc',
191             'shell/browser/shell_extension_web_contents_observer.h',
192             'shell/browser/shell_extensions_browser_client.cc',
193             'shell/browser/shell_extensions_browser_client.h',
194             'shell/common/shell_content_client.cc',
195             'shell/common/shell_content_client.h',
196             'shell/common/shell_extensions_client.cc',
197             'shell/common/shell_extensions_client.h',
198             'shell/renderer/shell_content_renderer_client.cc',
199             'shell/renderer/shell_content_renderer_client.h',
200           ],
201         },
202         {
203           'target_name': 'app_shell',
204           'type': 'executable',
205           'defines!': ['CONTENT_IMPLEMENTATION'],
206           'variables': {
207             'chromium_code': 1,
208           },
209           'dependencies': [
210             'app_shell_lib',
211             'app_shell_pak',
212           ],
213           'include_dirs': [
214             '..',
215           ],
216           'sources': [
217             'shell/app/shell_main.cc',
218           ],
219           'conditions': [
220             ['OS=="win"', {
221               'msvs_settings': {
222                 'VCLinkerTool': {
223                   'SubSystem': '2',  # Set /SUBSYSTEM:WINDOWS
224                 },
225               },
226               'msvs_large_pdb': 1,
227               'dependencies': [
228                 '../sandbox/sandbox.gyp:sandbox',
229               ],
230             }],
231           ],
232         },
233         {
234           'target_name': 'apps_browsertests',
235           'type': '<(gtest_target_type)',
236           'variables': {
237             'chromium_code': 1,
238           },
239           'dependencies': [
240             'app_shell_lib',
241             # TODO(yoz): find the right deps
242             '../base/base.gyp:test_support_base',
243             '../content/content.gyp:content_app_both',
244             '../content/content_shell_and_tests.gyp:content_browser_test_support',
245             '../content/content_shell_and_tests.gyp:test_support_content',
246             '../testing/gtest.gyp:gtest',
247           ],
248           'defines': [
249             'HAS_OUT_OF_PROC_TEST_RUNNER',
250           ],
251           'sources': [
252             # TODO(yoz): Refactor once we have a second test target.
253             'test/app_shell_test.h',
254             'test/app_shell_test.cc',
255             'test/apps_test_launcher_delegate.cc',
256             'test/apps_test_launcher_delegate.h',
257             'test/apps_tests_main.cc',
258           ],
259         },
260       ],  # targets
261     }],  # chromeos==1 or linux aura or win aura
262   ],  # conditions
263 }