summaryrefslogtreecommitdiff
path: root/chromium/chrome/app/version_assembly/BUILD.gn
blob: f4025492b035475b98068c457f49896f332185b7 (plain)
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
# Copyright 2015 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/win/manifest.gni")
import("//build/util/process_version.gni")
import("//build/util/version.gni")

version_assembly_output_file = "$target_gen_dir/version_assembly.manifest"

# Generates a manifest file with the current build's version information.
process_version("chrome_exe_version_manifest") {
  process_only = true
  visibility = [ ":*" ]
  template_file = "chrome_exe_manifest.template"
  sources = [ "//chrome/VERSION" ]
  output = version_assembly_output_file
}

# Generates the manifest for chrome.exe. This is the normal manifest stuff plus
# opting in to the segment heap (Windows 10 2004 and above) if enabled, and the
# version information.
windows_manifest("chrome_exe_manifest") {
  sources = [
    as_invoker_manifest,
    common_controls_manifest,
    default_compatibility_manifest,
    version_assembly_output_file,
  ]

  if (enable_segment_heap) {
    sources += [ segment_heap_manifest ]
  }

  deps = [ ":chrome_exe_version_manifest" ]
}

# Generates the manifest for the version assembly, which is the versioned
# directory where Chrome finds chrome.dll.
process_version("version_assembly_manifest") {
  template_file = "version_assembly_manifest.template"
  sources = [ "//chrome/VERSION" ]
  output = "$root_build_dir/$chrome_version_full.manifest"
  process_only = true
}