blob: abe0a66264d346f4d4c3e309db06dc7571adf3c2 [file] [log] [blame]
# 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/lastchange.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 = [
lastchange_file,
"//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",
])
}
}