# 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 = "sky.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" ]
  }
}
