Remove dependency on resources from installer_util
[chromium-blink-merge.git] / mojo / mojo_application_package.gni
blob233ee97c6d96ffd44b9dce01626efe20e2a9576f
1 # Copyright 2015 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.
5 import("//third_party/mojo/src/mojo/public/mojo_application.gni")
7 # Used for mojo applications that have resources. This creates a directory
8 # named output_name with the following contents:
9 #   output_name.mojo : the shared library
10 #   resources        : resources
11 template("mojo_application_package") {
12   mojo_deps = []
13   if (defined(invoker.deps)) {
14     mojo_deps += invoker.deps
15   }
17   if (defined(invoker.resources)) {
18     output_name = target_name
19     if (defined(invoker.output_name)) {
20       output_name = invoker.output_name
21     }
23     copy("copy_mojo_application_resources") {
24       sources = invoker.resources
25       outputs = [
26         "$root_out_dir/$output_name/resources/{{source_file_part}}",
27       ]
28     }
29     mojo_deps += [ ":copy_mojo_application_resources" ]
30   }
32   mojo_native_application(target_name) {
33     output_name = invoker.target_name
34     if (defined(invoker.output_name)) {
35       output_name = invoker.output_name
36     }
37     output_name = output_name + "/" + output_name
39     deps = mojo_deps
41     if (defined(invoker.cflags)) {
42       cflags = invoker.cflags
43     }
44     if (defined(invoker.cflags_c)) {
45       cflags_c = invoker.cflags_c
46     }
47     if (defined(invoker.cflags_cc)) {
48       cflags_cc = invoker.cflags_cc
49     }
50     if (defined(invoker.cflags_objc)) {
51       cflags_objc = invoker.cflags_objc
52     }
53     if (defined(invoker.cflags_objcc)) {
54       cflags_objcc = invoker.cflags_objcc
55     }
56     if (defined(invoker.defines)) {
57       defines = invoker.defines
58     }
59     if (defined(invoker.include_dirs)) {
60       include_dirs = invoker.include_dirs
61     }
62     if (defined(invoker.ldflags)) {
63       ldflags = invoker.ldflags
64     }
65     if (defined(invoker.lib_dirs)) {
66       lib_dirs = invoker.lib_dirs
67     }
68     if (defined(invoker.libs)) {
69       libs = invoker.libs
70     }
71     if (defined(invoker.data_deps)) {
72       data_deps = invoker.data_deps
73     }
74     if (defined(invoker.forward_dependent_configs_from)) {
75       forward_dependent_configs_from = invoker.forward_dependent_configs_from
76     }
77     if (defined(invoker.public_deps)) {
78       public_deps = invoker.public_deps
79     }
80     if (defined(invoker.all_dependent_configs)) {
81       all_dependent_configs = invoker.all_dependent_configs
82     }
83     if (defined(invoker.public_configs)) {
84       public_configs = invoker.public_configs
85     }
86     if (defined(invoker.check_includes)) {
87       check_includes = invoker.check_includes
88     }
89     if (defined(invoker.configs)) {
90       configs = invoker.configs
91     }
92     if (defined(invoker.data)) {
93       data = invoker.data
94     }
95     if (defined(invoker.inputs)) {
96       inputs = invoker.inputs
97     }
98     if (defined(invoker.public)) {
99       public = invoker.public
100     }
101     if (defined(invoker.sources)) {
102       sources = invoker.sources
103     }
104     if (defined(invoker.testonly)) {
105       testonly = invoker.testonly
106     }
107   }