# Copyright 2017 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

source_set("measure") {
  sources = [
    "argument_value.cc",
    "argument_value.h",
    "duration.cc",
    "duration.h",
    "event_spec.cc",
    "event_spec.h",
    "measurements.h",
    "results.cc",
    "results.h",
    "time_between.cc",
    "time_between.h",
  ]

  public_deps = [
    "//src/lib/fxl",
    "//zircon/public/lib/trace-reader",
  ]
}

source_set("unittests") {
  testonly = true

  sources = [
    "argument_value_unittest.cc",
    "duration_unittest.cc",
    "results_unittest.cc",
    "test_events.cc",
    "test_events.h",
    "time_between_unittest.cc",
  ]

  deps = [
    ":measure",
    "//third_party/googletest:gtest",
  ]
}
