# Copyright 2022 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.gni")

executable("bin") {
  testonly = true
  output_name = "scene_provider"

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

source_set("lib") {
  testonly = true
  sources = [
    "scene_provider.cc",
    "scene_provider.h",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.element:fuchsia.element_hlcpp",
    "//sdk/fidl/fuchsia.session.scene:fuchsia.session.scene_hlcpp",
    "//sdk/fidl/fuchsia.ui.app:fuchsia.ui.app_hlcpp",
    "//sdk/fidl/fuchsia.ui.observation.test:fuchsia.ui.observation.test_hlcpp",
    "//sdk/fidl/fuchsia.ui.test.scene:fuchsia.ui.test.scene_hlcpp",
    "//sdk/lib/fidl/cpp",
    "//sdk/lib/sys/cpp",
    "//sdk/lib/syslog/cpp",
    "//sdk/lib/ui/scenic/cpp",
    "//src/lib/fsl",
  ]
}

fuchsia_component_manifest("scene_provider_manifest") {
  testonly = true
  component_name = "scene-provider"
  manifest = "meta/scene_provider.cml"
}

fuchsia_component("scene-provider") {
  testonly = true
  cm_label = ":scene_provider_manifest"
  deps = [ ":bin" ]
}
