blob: c4c806049e3351565f649cf67e8c8bddbbd96126 [file] [log] [blame]
# 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.
template("embed_file") {
assert(defined(invoker.variable))
assert(defined(invoker.source))
assert(defined(invoker.namespace))
variable = invoker.variable
generator_target_name = "__${target_name}_generator"
generator_outputs = [
"${target_gen_dir}/${variable}.cc",
"${target_gen_dir}/${variable}.h",
]
action(generator_target_name) {
script = "//mojo/tools/embed/embed_data.py"
sources = [
invoker.source,
]
outputs = generator_outputs
args = [
rebase_path(invoker.source),
rebase_path(target_gen_dir),
invoker.namespace,
variable,
]
if (defined(invoker.testonly)) {
testonly = invoker.testonly
}
if (defined(invoker.deps)) {
deps = invoker.deps
}
}
config_target_name = "__${target_name}_config"
config(config_target_name) {
cflags = [ "-Wno-narrowing" ]
}
source_set(target_name) {
sources = generator_outputs
if (defined(invoker.testonly)) {
testonly = invoker.testonly
}
configs += [ ":${config_target_name}" ]
deps = [
":${generator_target_name}",
]
}
}