blob: 154b9dcb1f927c3ea096dd75a04b3ac20e1befe9 [file] [log] [blame]
# Copyright 2017 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("//mojo/public/tools/bindings/mojom.gni")
component("metrics_cpp") {
sources = [
"delegating_ukm_recorder.cc",
"delegating_ukm_recorder.h",
"metrics_export.h",
"metrics_utils.cc",
"metrics_utils.h",
"mojo_ukm_recorder.cc",
"mojo_ukm_recorder.h",
"ukm_entry_builder.cc",
"ukm_entry_builder.h",
"ukm_entry_builder_base.cc",
"ukm_entry_builder_base.h",
"ukm_recorder.cc",
"ukm_recorder.h",
"ukm_source.cc",
"ukm_source.h",
"ukm_source_id.cc",
"ukm_source_id.h",
]
configs += [ "//build/config/compiler:wexit_time_destructors" ]
defines = [ "METRICS_IMPLEMENTATION" ]
public_deps = [
"//base",
"//services/metrics/public/mojom",
"//url",
]
deps = [
"//mojo/public/cpp/bindings",
"//services/service_manager/public/cpp",
"//third_party/metrics_proto",
]
}
source_set("tests") {
testonly = true
sources = [
"metrics_utils_unittest.cc",
"ukm_source_id_unittest.cc",
]
deps = [
":metrics_cpp",
"//base",
"//testing/gtest",
]
}
action("gen_ukm_builders") {
script = "//tools/metrics/ukm/gen_builders.py"
# Re-generate the outputs if the codegen code changes:
inputs = [
"//tools/metrics/ukm/builders_template.py",
"//tools/metrics/ukm/decode_template.py",
"//tools/metrics/ukm/codegen.py",
"//tools/metrics/ukm/gen_builders.py",
]
sources = [
"//tools/metrics/ukm/ukm.xml",
]
outdir = "$target_gen_dir"
outputs = [
outdir + "/ukm_builders.cc",
outdir + "/ukm_builders.h",
outdir + "/ukm_decode.cc",
outdir + "/ukm_decode.h",
]
args = [
"--input",
rebase_path(sources[0], root_build_dir),
"--output",
rebase_path(outdir, root_build_dir),
]
}
static_library("ukm_builders") {
sources = get_target_outputs(":gen_ukm_builders")
deps = [
":gen_ukm_builders",
":metrics_cpp",
"//base",
]
}