naiveproxy/remoting/ios/app/remoting_ios_tmpl.gni
2018-01-29 00:30:36 +08:00

114 lines
3.4 KiB
Plaintext

# Copyright 2017 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/chrome_build.gni")
import("//build/config/ios/rules.gni")
import("//build/mac/tweak_info_plist.gni")
import("//build/util/process_version.gni")
import("//remoting/build/config/remoting_build.gni")
import("//remoting/credits/credits.gni")
_remoting_ios_app_source_dir = get_path_info("./", "abspath")
# Arguments
#
# output_name:
# string, the filename of the generated .app folder
#
# info_plist_path:
# string, path of the Info.plist template
#
# entitlements_path:
# string, path of the .entitlements file
#
# deps:
# string array, deps to be compiled. E.g. source sets, launch screen, icons.
#
# bundle_id:
# (optional) string, the bundle_id. If this is not set, it will come from
# either branding_Chromium or branding_Chrome
template("ios_remoting_app_tmpl") {
_app_target_name = target_name
_info_plist_target_name = "${target_name}_tweak_info_plist"
tweak_info_plist(_info_plist_target_name) {
info_plist = invoker.info_plist_path
args = [ "--platform=ios" ]
}
_launchscreen_storyboard_target_name =
"${target_name}_launchscreen_storyboard"
bundle_data_ib_file(_launchscreen_storyboard_target_name) {
source = rebase_path("resources/LaunchScreen.storyboard",
".",
_remoting_ios_app_source_dir)
}
# Compiles the credits files into the gen directory.
_credits_resources_target_name = "${target_name}_credits_resources"
remoting_credits(_credits_resources_target_name) {
app_target_gen_dir = get_label_info(":$_app_target_name", "target_gen_dir")
credits_gen_dir =
"${app_target_gen_dir}/${_app_target_name}_credits_resources"
target_dir = get_path_info("./", "abspath")
gn_target = "${target_dir}:${_app_target_name}"
}
# Adds the compiled credits files into the bundle.
_credits_bundle_target_name = "${target_name}_credits_bundle"
bundle_data(_credits_bundle_target_name) {
sources = get_target_outputs(":$_credits_resources_target_name")
public_deps = [
":$_credits_resources_target_name",
]
outputs = [
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
ios_app_bundle(target_name) {
output_name = invoker.output_name
entitlements_path = invoker.entitlements_path
info_plist_target = ":$_info_plist_target_name"
if (defined(invoker.bundle_id)) {
bundle_id = invoker.bundle_id
} else {
bundle_id = remoting_ios_bundle_id
}
extra_substitutions = [
"BUNDLE_IDENTIFIER=$bundle_id",
"DISPLAY_NAME=$remoting_ios_display_name",
"EXECUTABLE_NAME=$output_name",
"PRODUCT_NAME=$output_name",
"VERSION_FULL=$remoting_version_full",
"VERSION_SHORT=$remoting_version_short",
]
libs = [
"Accelerate.framework",
"AudioToolbox.framework",
"CoreAudio.framework",
"CoreData.framework",
"CoreMIDI.framework",
"CoreVideo.framework",
"GLKit.framework",
"OpenGLES.framework",
"Webkit.framework",
"SafariServices.framework",
"SystemConfiguration.framework",
]
deps = invoker.deps
bundle_deps = [
":$_launchscreen_storyboard_target_name",
":$_credits_bundle_target_name",
]
assert_no_deps = [ "//third_party/ffmpeg:*" ]
}
}