# Copyright 2020 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/test.gni")

source_set("lib") {
  sources = [
    "reverser.cc",
    "reverser.h",
  ]

  # CODELAB: Include inspect dependency.
  public_deps =
      [ "//examples/diagnostics/inspect/codelab/fidl:fuchsia.examples.inspect" ]
}

test("reverser_unittests_part_1") {
  sources = [ "reverser_unittests.cc" ]

  deps = [
    ":lib",
    "//garnet/public/lib/gtest",
    "//sdk/lib/sys/cpp",
    "//src/lib/fxl/test:gtest_main",
  ]
}

executable("bin") {
  output_name = "inspect_cpp_codelab_part_1_bin"
  sources = [ "main.cc" ]

  deps = [
    ":lib",
    "//sdk/lib/sys/cpp",
    "//sdk/lib/syslog/cpp",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
  ]
}
