blob: 9a295bffbd5dafa74f2faa56acc97fdcafe3311c [file] [log] [blame]
# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'targets': [
{
'target_name': 'apps',
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
# Since browser and browser_extensions actually depend on each other,
# we must omit the dependency from browser_extensions to browser.
# However, this means browser_extensions and browser should more or less
# have the same dependencies. Once browser_extensions is untangled from
# browser, then we can clean up these dependencies.
'dependencies': [
'browser_extensions',
'common/extensions/api/api.gyp:chrome_api',
'../skia/skia.gyp:skia',
],
'include_dirs': [
'<(INTERMEDIATE_DIR)',
'<(grit_out_dir)',
],
'sources': [
'app_lifetime_monitor.cc',
'app_lifetime_monitor.h',
'app_lifetime_monitor_factory.cc',
'app_lifetime_monitor_factory.h',
'app_load_service.cc',
'app_load_service.h',
'app_load_service_factory.cc',
'app_load_service_factory.h',
'app_restore_service.cc',
'app_restore_service.h',
'app_restore_service_factory.cc',
'app_restore_service_factory.h',
'app_window.cc',
'app_window.h',
'app_window_contents.cc',
'app_window_contents.h',
'app_window_geometry_cache.cc',
'app_window_geometry_cache.h',
'app_window_registry.cc',
'app_window_registry.h',
'apps_client.cc',
'apps_client.h',
'browser_context_keyed_service_factories.cc',
'browser_context_keyed_service_factories.h',
'launcher.cc',
'launcher.h',
'metrics_names.h',
'pref_names.cc',
'pref_names.h',
'prefs.cc',
'prefs.h',
'saved_files_service.cc',
'saved_files_service.h',
'saved_files_service_factory.cc',
'saved_files_service_factory.h',
'size_constraints.cc',
'size_constraints.h',
'switches.cc',
'switches.h',
'ui/native_app_window.h',
'ui/views/app_window_frame_view.cc',
'ui/views/app_window_frame_view.h',
'ui/views/native_app_window_views.cc',
'ui/views/native_app_window_views.h',
],
'conditions': [
['chromeos==1',
{
'dependencies': [
'browser_chromeos',
]
}
],
['enable_extensions==0',
{
'sources/': [
['exclude', '^apps/'],
],
}
],
['toolkit_views==1', {
'dependencies': [
'../ui/base/strings/ui_strings.gyp:ui_strings',
'../ui/views/views.gyp:views',
],
}, { # toolkit_views==0
'sources/': [
['exclude', 'ui/views/'],
],
}],
],
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
},
], # targets
'conditions': [
['chromeos==1 or (OS=="linux" and use_aura==1) or (OS=="win" and use_aura==1)', {
'targets': [
{
'target_name': 'app_shell_pak',
'type': 'none',
'dependencies': [
# Need extension related resources in common_resources.pak and
# renderer_resources_100_percent.pak
'chrome_resources.gyp:chrome_resources',
# Need app related resources in theme_resources_100_percent.pak
'chrome_resources.gyp:theme_resources',
# Need dev-tools related resources in shell_resources.pak and
# devtools_resources.pak.
'../content/content_shell_and_tests.gyp:generate_content_shell_resources',
'../content/browser/devtools/devtools_resources.gyp:devtools_resources',
'../ui/base/strings/ui_strings.gyp:ui_strings',
'../ui/resources/ui_resources.gyp:ui_resources',
],
'actions': [
{
'action_name': 'repack_app_shell_pack',
'variables': {
'pak_inputs': [
'<(grit_out_dir)/common_resources.pak',
'<(grit_out_dir)/extensions_api_resources.pak',
# TODO(jamescook): extra the extension/app related resources
# from generated_resources_en-US.pak and
# theme_resources_100_percent.pak.
'<(SHARED_INTERMEDIATE_DIR)/chrome/generated_resources_en-US.pak',
'<(SHARED_INTERMEDIATE_DIR)/chrome/renderer_resources_100_percent.pak',
'<(SHARED_INTERMEDIATE_DIR)/chrome/theme_resources_100_percent.pak',
'<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/ui/app_locale_settings/app_locale_settings_en-US.pak',
'<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak',
'<(SHARED_INTERMEDIATE_DIR)/ui/ui_strings/ui_strings_en-US.pak',
'<(SHARED_INTERMEDIATE_DIR)/webkit/devtools_resources.pak',
],
'pak_output': '<(PRODUCT_DIR)/app_shell.pak',
},
'includes': [ '../build/repack_action.gypi' ],
},
],
},
{
'target_name': 'app_shell_lib',
'type': 'static_library',
'defines!': ['CONTENT_IMPLEMENTATION'],
'variables': {
'chromium_code': 1,
},
'dependencies': [
'app_shell_pak',
'apps',
'common/extensions/api/api.gyp:chrome_api',
'test_support_common',
'../base/base.gyp:base',
'../base/base.gyp:base_prefs_test_support',
'../content/content.gyp:content',
'../content/content_shell_and_tests.gyp:content_shell_lib',
'../extensions/common/api/api.gyp:extensions_api',
'../skia/skia.gyp:skia',
'../ui/views/views.gyp:views',
'../ui/wm/wm.gyp:wm_test_support',
],
'include_dirs': [
'..',
],
'sources': [
'shell/app/shell_main_delegate.cc',
'shell/app/shell_main_delegate.h',
'shell/browser/shell_app_sorting.cc',
'shell/browser/shell_app_sorting.h',
'shell/browser/shell_app_window_delegate.cc',
'shell/browser/shell_app_window_delegate.h',
'shell/browser/shell_apps_client.cc',
'shell/browser/shell_apps_client.h',
'shell/browser/shell_browser_context.cc',
'shell/browser/shell_browser_context.h',
'shell/browser/shell_browser_main_parts.cc',
'shell/browser/shell_browser_main_parts.h',
'shell/browser/shell_content_browser_client.cc',
'shell/browser/shell_content_browser_client.h',
'shell/browser/shell_desktop_controller.cc',
'shell/browser/shell_desktop_controller.h',
'shell/browser/shell_extension_system.cc',
'shell/browser/shell_extension_system.h',
'shell/browser/shell_extension_system_factory.cc',
'shell/browser/shell_extension_system_factory.h',
'shell/browser/shell_extension_web_contents_observer.cc',
'shell/browser/shell_extension_web_contents_observer.h',
'shell/browser/shell_extensions_browser_client.cc',
'shell/browser/shell_extensions_browser_client.h',
'shell/common/shell_content_client.cc',
'shell/common/shell_content_client.h',
'shell/common/shell_extensions_client.cc',
'shell/common/shell_extensions_client.h',
'shell/renderer/shell_content_renderer_client.cc',
'shell/renderer/shell_content_renderer_client.h',
],
},
{
'target_name': 'app_shell',
'type': 'executable',
'defines!': ['CONTENT_IMPLEMENTATION'],
'variables': {
'chromium_code': 1,
},
'dependencies': [
'app_shell_lib',
'app_shell_pak',
],
'include_dirs': [
'..',
],
'sources': [
'shell/app/shell_main.cc',
],
'conditions': [
['OS=="win"', {
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
},
},
'msvs_large_pdb': 1,
'dependencies': [
'../sandbox/sandbox.gyp:sandbox',
],
}],
],
},
{
'target_name': 'apps_browsertests',
'type': '<(gtest_target_type)',
'variables': {
'chromium_code': 1,
},
'dependencies': [
'app_shell_lib',
# TODO(yoz): find the right deps
'../base/base.gyp:test_support_base',
'../content/content.gyp:content_app_both',
'../content/content_shell_and_tests.gyp:content_browser_test_support',
'../content/content_shell_and_tests.gyp:test_support_content',
'../testing/gtest.gyp:gtest',
],
'defines': [
'HAS_OUT_OF_PROC_TEST_RUNNER',
],
'sources': [
# TODO(yoz): Refactor once we have a second test target.
'test/app_shell_test.h',
'test/app_shell_test.cc',
'test/apps_test_launcher_delegate.cc',
'test/apps_test_launcher_delegate.h',
'test/apps_tests_main.cc',
],
},
], # targets
}], # chromeos==1 or linux aura or win aura
], # conditions
}