Index: chrome/process_version_rc_template.gni |
diff --git a/chrome/process_version_rc_template.gni b/chrome/process_version_rc_template.gni |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9259ac135736079e7dc8a5922fa039555d3e1ced |
--- /dev/null |
+++ b/chrome/process_version_rc_template.gni |
@@ -0,0 +1,65 @@ |
+# Copyright 2016 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/util/process_version.gni") |
+ |
+# The path to the BRANDING file in chrome/app/theme. |
+branding_file_path = "//chrome/app/theme/$branding_path_component/BRANDING" |
+ |
+# This is a wrapper around process_version() that eases the task of processing |
+# a .rc.version file (used especially on Windows). |
+# |
+# This template automatically includes VERSION, LASTCHANGE and BRANDING, and |
+# any additional source files are passed after those (so their values can |
+# override the ones specified by those 3 files). |
+# |
+# Parameters: |
+# sources (optional): |
+# List of files with value definitions that will be passed in addition to |
+# VERSION, LASTCHANGE and BRANDING. |
+# |
+# template_file (optional): |
+# Template file to use (not a list). If not specified, a default value, |
+# //chrome/app/chrome_version.rc.version will be used. |
+# |
+# This template forwards all other parameters directly to process_version(). |
+# |
+# Examples: |
+# process_version_rc_template("my_exe_version") { |
+# output = "$target_gen_dir/my_exe_version.rc" |
+# sources = [ "frob/my_exe.ver" ] |
+# extra_args = [ "-e", "FOO=42" ] |
+# } |
+# |
+# process_version_rc_template("my_dll_version") { |
+# output = "$target_gen_dir/my_dll_version.rc" |
+# template_file = [ "//foo/bar/my_dll_version.rc.version" ] |
+# } |
+template("process_version_rc_template") { |
+ if (defined(invoker.template_file)) { |
+ _template_file = invoker.template_file |
+ } else { |
+ _template_file = "//chrome/app/chrome_version.rc.version" |
+ } |
+ _sources = [ |
+ "//build/util/LASTCHANGE", |
+ "//chrome/VERSION", |
+ branding_file_path, |
+ ] |
+ if (defined(invoker.sources)) { |
+ _sources += invoker.sources |
+ } |
+ |
+ process_version(target_name) { |
+ template_file = _template_file |
+ sources = _sources |
+ forward_variables_from(invoker, |
+ "*", |
+ [ |
+ "sources", |
+ "template_file", |
+ ]) |
+ } |
+} |