# 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") {
  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",
  ]
}
