# Copyright 2015 The Chromium 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("//sky/build/sky_app.gni")

sky_app("game") {
  main_dart = "lib/main.dart"
  manifest = "flutter.yaml"

  if (is_android) {
    apk_name = "Asteroids"

    deps = [
      "//examples/game/apk:resources",
    ]
  } else if (is_ios) {
    info_plist = "ios/Info.plist"
    launcher_resources = [
      "assets/Icon.png",
      "assets/Icon@2x.png",
      "ios/LaunchScreen.storyboardc",
    ]
  } else if (is_mac) {
    info_plist = "mac/Info.plist"
    xibs = [ "mac/sky_mac.xib" ]
  }
}
