blob: f5ace4f7fa7a312e18f70f2ebbda2af63dd19277 [file] [log] [blame]
# 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("//third_party/mojo/src/mojo/public/mojo_application.gni")
# Used for mojo applications that have resources. This creates a directory
# named output_name with the following contents:
# output_name.mojo : the shared library
# resources : resources
template("mojo_application_package") {
mojo_deps = []
if (defined(invoker.deps)) {
mojo_deps += invoker.deps
}
if (defined(invoker.resources)) {
output_name = target_name
if (defined(invoker.output_name)) {
output_name = invoker.output_name
}
copy_step_name = "${target_name}__copy_resources"
copy(copy_step_name) {
sources = invoker.resources
outputs = [
"$root_out_dir/$output_name/resources/{{source_file_part}}",
]
if (defined(invoker.testonly)) {
testonly = invoker.testonly
}
deps = mojo_deps
}
mojo_deps += [ ":$copy_step_name" ]
}
mojo_native_application(target_name) {
output_name = invoker.target_name
if (defined(invoker.output_name)) {
output_name = invoker.output_name
}
output_name = output_name + "/" + output_name
deps = mojo_deps
if (defined(invoker.cflags)) {
cflags = invoker.cflags
}
if (defined(invoker.cflags_c)) {
cflags_c = invoker.cflags_c
}
if (defined(invoker.cflags_cc)) {
cflags_cc = invoker.cflags_cc
}
if (defined(invoker.cflags_objc)) {
cflags_objc = invoker.cflags_objc
}
if (defined(invoker.cflags_objcc)) {
cflags_objcc = invoker.cflags_objcc
}
if (defined(invoker.defines)) {
defines = invoker.defines
}
if (defined(invoker.include_dirs)) {
include_dirs = invoker.include_dirs
}
if (defined(invoker.ldflags)) {
ldflags = invoker.ldflags
}
if (defined(invoker.lib_dirs)) {
lib_dirs = invoker.lib_dirs
}
if (defined(invoker.libs)) {
libs = invoker.libs
}
if (defined(invoker.data_deps)) {
data_deps = invoker.data_deps
}
if (defined(invoker.forward_dependent_configs_from)) {
forward_dependent_configs_from = invoker.forward_dependent_configs_from
}
if (defined(invoker.public_deps)) {
public_deps = invoker.public_deps
}
if (defined(invoker.all_dependent_configs)) {
all_dependent_configs = invoker.all_dependent_configs
}
if (defined(invoker.public_configs)) {
public_configs = invoker.public_configs
}
if (defined(invoker.check_includes)) {
check_includes = invoker.check_includes
}
if (defined(invoker.configs)) {
configs = invoker.configs
}
if (defined(invoker.data)) {
data = invoker.data
}
if (defined(invoker.inputs)) {
inputs = invoker.inputs
}
if (defined(invoker.public)) {
public = invoker.public
}
if (defined(invoker.sources)) {
sources = invoker.sources
}
if (defined(invoker.testonly)) {
testonly = invoker.testonly
}
}
}