File: process_version_rc_template.gni

package info (click to toggle)
chromium 120.0.6099.224-1~deb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,112,112 kB
  • sloc: cpp: 32,907,025; ansic: 8,148,123; javascript: 3,679,536; python: 2,031,248; asm: 959,718; java: 804,675; xml: 617,256; sh: 111,417; objc: 100,835; perl: 88,443; cs: 53,032; makefile: 29,579; fortran: 24,137; php: 21,162; tcl: 21,147; sql: 20,809; ruby: 17,735; pascal: 12,864; yacc: 8,045; lisp: 3,388; lex: 1,323; ada: 727; awk: 329; jsp: 267; csh: 117; exp: 43; sed: 37
file content (63 lines) | stat: -rw-r--r-- 2,046 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# 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",
                           ])
  }
}