| # Copyright 2016 The Chromium Authors |
| # 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/lastchange.gni") |
| import("//build/util/process_version.gni") |
| |
| # 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 = [ |
| "//chrome/VERSION", |
| branding_file_path, |
| lastchange_file, |
| ] |
| if (defined(invoker.sources)) { |
| _sources += invoker.sources |
| } |
| |
| process_version(target_name) { |
| template_file = _template_file |
| sources = _sources |
| forward_variables_from(invoker, |
| "*", |
| [ |
| "sources", |
| "template_file", |
| ]) |
| } |
| } |