# Copyright 2016 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("vu_meter") {
  sources = [
    "main.cc",
    "vu_meter_view.cc",
    "vu_meter_view.h",
  ]

  deps = [
    "$garnet_sdk_fidl/fuchsia.media",
    "//garnet/public/lib/media/audio",
    "//garnet/public/lib/ui/base_view/cpp",
    "//third_party/skia",
    "//topaz/examples/ui/lib:skia_view",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/fzl",
    "//zircon/public/lib/hid",
    "//zircon/public/lib/trace-provider",
  ]
}

package("package") {
  package_name = "vu_meter"

  deps = [
    ":vu_meter",
  ]

  binary = "vu_meter"

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