Re-land: C++ readability review
[chromium-blink-merge.git] / remoting / tools / build / message_compiler.gni
blob20eae1399eed57a54022d08145d35d4f40274745
1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 assert(is_win, "This only runs on Windows.")
7 # Runs mc.exe over a list of sources.
9 # sources
10 #   List of .mc files to process.
11 template("message_compiler") {
12   action_name = "${target_name}_mc"
13   source_set_name = target_name
15   action_foreach(action_name) {
16     visibility = [ ":$source_set_name" ]
17     script = "//remoting/tools/build/message_compiler.py"
19     sources = invoker.sources
21     outputs = [
22       "$target_gen_dir/{{source_name_part}}.h",
23       "$target_gen_dir/{{source_name_part}}.rc",
24     ]
26     args = [
27       # Where to put the header.
28       "-h",
29       rebase_path(target_gen_dir, root_build_dir),
31       # Where to put the .rc file.
32       "-r",
33       rebase_path(target_gen_dir, root_build_dir),
35       # Input is Unicode.
36       "-u",
37       "{{source}}",
38     ]
40     if (defined(invoker.deps)) {
41       deps = invoker.deps
42     }
43   }
45   source_set(source_set_name) {
46     sources = get_target_outputs(":$action_name")
47     deps = [
48       ":$action_name",
49     ]
50   }