# 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("//src/sys/build/components.gni")

group("factory_cli") {
  deps = [ ":camera_factory_cli" ]
}

executable("camera_factory_cli_bin") {
  sources = [ "main.cc" ]
  deps = [
    "//sdk/fidl/fuchsia.camera3",
    "//sdk/lib/sys/cpp",
    "//sdk/lib/syslog/cpp",
    "//src/camera/bin/factory:fuchsia.factory.camera",
    "//src/lib/fxl",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
  ]
}

fuchsia_package_with_single_component("camera_factory_cli") {
  manifest = "meta/camera_factory_cli.cmx"
  deps = [ ":camera_factory_cli_bin" ]
}
