Index: mojo/mojo_application_package.gni |
diff --git a/mojo/mojo_application_package.gni b/mojo/mojo_application_package.gni |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e520856cabed2b27b7ce5efbf6c53fc9d19dcb25 |
--- /dev/null |
+++ b/mojo/mojo_application_package.gni |
@@ -0,0 +1,113 @@ |
+# 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("//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 |
+ } |
+ } |
+} |