# 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", ]) } }