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

import("//build/package.gni")

executable("benchmark_example") {
  sources = [
    "main.cc",
  ]

  public_deps = [
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/fxl",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/trace",
    "//zircon/public/lib/trace-provider",
  ]
}

package("benchmark") {

  deps = [
    ":benchmark_example",
  ]

  binaries = [
    {
      name = "benchmark_example"
    },
  ]

  resources = [
    {
      path = rebase_path("benchmark_example.tspec")
      dest = "benchmark_example.tspec"
    },
  ]

  meta = [
    {
      path = rebase_path("meta/benchmark.cmx")
      dest = "benchmark.cmx"
    },
  ]
}
