Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7173)

Unified Diff: chrome/process_version_rc_template.gni

Issue 2308313003: gn: Generalize process_version() and move it to build/util (Closed)
Patch Set: Move branding_file_path to chrome/process_version_rc_template.gni Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/installer/setup/BUILD.gn ('k') | chrome/version.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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",
+ ])
+ }
+}
« no previous file with comments | « chrome/installer/setup/BUILD.gn ('k') | chrome/version.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698