# 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/components/fuchsia_shell_package.gni")

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

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

  # TODO(https://fxbug.dev/42085293): delete the below and fix compiler warnings
  configs += [ "//build/config:Wno-vla-cxx-extension" ]
}

fuchsia_shell_package("camera_factory_cli") {
  deps = [ ":camera_factory_cli_bin" ]
}
