| # Copyright 2015 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. |
| |
| import("//build/config/mac/rules.gni") |
| import("//build/mac/tweak_info_plist.gni") |
| import("//build/util/branding.gni") |
| |
| # This is the part of the shim process compiled into Chrome. It runs only |
| # in the shim process, after the shim finds and loads the Chrome |
| # Framework bundle. |
| source_set("app_shim") { |
| sources = [ |
| "../app/chrome_crash_reporter_client.h", |
| "app_shim_controller.h", |
| "app_shim_controller.mm", |
| "app_shim_delegate.h", |
| "app_shim_delegate.mm", |
| "chrome_main_app_mode_mac.mm", |
| ] |
| |
| deps = [ |
| "//chrome:strings", |
| "//chrome/browser/ui", |
| "//chrome/common", |
| "//chrome/common:mojo_bindings", |
| "//components/crash/content/app", |
| "//components/remote_cocoa/app_shim", |
| "//content/public/browser", |
| "//ipc", |
| "//mojo/core/embedder", |
| "//ui/accelerated_widget_mac", |
| "//ui/base", |
| ] |
| } |
| |
| tweak_info_plist("tweak_app_mode_loader_plist") { |
| info_plist = "app_mode-Info.plist" |
| args = [ |
| "--breakpad=0", |
| "--keystone=0", |
| "--scm=0", |
| ] |
| } |
| |
| mac_info_plist("app_mode_loader_plist") { |
| info_plist_target = ":tweak_app_mode_loader_plist" |
| |
| executable_name = "app_mode_loader" |
| |
| extra_substitutions = [ |
| "APP_MODE_APP_BUNDLE_ID=$chrome_mac_bundle_id.app.@APP_MODE_SHORTCUT_ID@", |
| ] |
| } |
| |
| bundle_data("app_mode_loader_plist_bundle_data") { |
| sources = get_target_outputs(":app_mode_loader_plist") |
| |
| outputs = [ |
| "{{bundle_resources_dir}}/app_mode-Info.plist", |
| ] |
| |
| public_deps = [ |
| ":app_mode_loader_plist", |
| ] |
| } |
| |
| executable("app_mode_loader") { |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| |
| sources = [ |
| "app_mode_loader_mac.mm", |
| ] |
| |
| if (is_component_build) { |
| # Loaders are installed to ~/Applications. In a component build, include |
| # the absolute path to the out dir in their library search path so that |
| # their components are found at launch. |
| ldflags = [ |
| "-rpath", |
| rebase_path(root_out_dir), |
| ] |
| } |
| |
| deps = [ |
| "//base", |
| "//chrome/common:app_mode_app_support", |
| "//chrome/common:constants", |
| "//chrome/common:non_code_constants", |
| ] |
| |
| libs = [ |
| "AppKit.framework", |
| "CoreFoundation.framework", |
| "Foundation.framework", |
| ] |
| } |