# 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("//peridot/build/executable_package.gni")

executable_package("todo_cpp") {
  deprecated_bare_package_url = "//build"

  meta = [
    {
      path = "meta/todo_cpp.cmx"
      dest = "todo_cpp.cmx"
    },
  ]

  deps = [
    "//garnet/public/lib/component/cpp",
    "//garnet/public/lib/fidl/cpp",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/fxl",
    "//peridot/bin/ledger/fidl",
    "//peridot/public/fidl/fuchsia.ledger",
    "//peridot/public/fidl/fuchsia.modular",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/fit",
  ]

  sources = [
    "generator.cc",
    "generator.h",
    "todo.cc",
    "todo.h",
  ]
}
