Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  message_compiler.gni   Sprache: unbekannt

 
# 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.

assert(is_win, "This only runs on Windows.")

# Runs mc.exe over a list of sources. The outputs (a header and rc file) are
# placed in the target gen dir, and compiled.
#
# sources
#   List of message files to process.
#
# user_mode_logging (optional bool)
#   Generates user-mode logging code. Defaults to false (no logging code).
#
# compile_generated_code (optional, deafults = true)
#   If unset or true, the generated code will be compiled and linked into
#   targets that depend on it. If set to false, the .h and .rc files will only
#   be generated.
#
# deps, public_deps, visibility
#   Normal meaning.
template("message_compiler") {
  if (defined(invoker.compile_generated_code) &&
      !invoker.compile_generated_code) {
    compile_generated_code = false
    action_name = target_name
  } else {
    compile_generated_code = true
    action_name = "${target_name}_mc"
    source_set_name = target_name
  }

  action_foreach(action_name) {
    if (compile_generated_code) {
      visibility = [ ":$source_set_name" ]
    } else {
      forward_variables_from(invoker, [ "visibility" ])
    }

    script = "//chromium/build/win/message_compiler.py"

    outputs = [
      "$target_gen_dir/{{source_name_part}}.h",
      "$target_gen_dir/{{source_name_part}}.rc",
    ]

    args = [
      # The first argument is the environment file saved to the build
      # directory. This is required because the Windows toolchain setup saves
      # the VC paths and such so that running "mc.exe" will work with the
      # configured toolchain. This file is in the root build dir.
      "environment.$target_cpu",

      # Where to put the header.
      "-h",
      rebase_path(target_gen_dir, root_build_dir),

      # Where to put the .rc file.
      "-r",
      rebase_path(target_gen_dir, root_build_dir),

      # Input is Unicode.
      "-u",
    ]
    if (defined(invoker.user_mode_logging) && invoker.user_mode_logging) {
      args += [ "-um" ]
    }
    args += [ "{{source}}" ]

    forward_variables_from(invoker,
                           [
                             "deps",
                             "public_deps",
                             "sources",
                           ])
  }

  if (compile_generated_code) {
    # Compile the generated rc file.
    source_set(source_set_name) {
      forward_variables_from(invoker, [ "visibility" ])
      sources = get_target_outputs(":$action_name")
      deps = [ ":$action_name" ]
    }
  }
}

[ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge