# Copyright 2019 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("//third_party/fuchsia-sdk/build/component.gni")
import("//third_party/fuchsia-sdk/build/package.gni")

group("bouncing_ball") {
  public_deps = [
    ":bouncing_ball_package",
  ]
}

executable("bin") {
  output_name = "bouncing_ball"

  sources = [ "main.cc" ]

  deps = [
    "//third_party/fuchsia-sdk/fidl/fuchsia.ui.app",
    "//third_party/fuchsia-sdk/pkg/async-loop-cpp",
    "//third_party/fuchsia-sdk/pkg/async-loop-default",
    "//third_party/fuchsia-sdk/pkg/scenic_cpp",
    "//third_party/fuchsia-sdk/pkg/sys_cpp",
  ]
}

fuchsia_component("component") {
  manifest_output_name = "bouncing_ball"
  manifest = "meta/bouncing_ball.cml"
  data_deps = [ ":bin" ]
}

fuchsia_package("bouncing_ball_package") {
  package_name = "bouncing_ball"
  deps = [ ":component" ]
}
