# Copyright 2019 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("//build/config/ios/templates/ios_app_bundle.gni")
import("//build/config/ios/templates/storyboards.gni")

ios_app_bundle("hello") {
  output_name = "Hello"

  info_plist = "resources/Info.plist"

  sources = [
    "AppDelegate.h",
    "AppDelegate.m",
    "SceneDelegate.h",
    "SceneDelegate.m",
    "ViewController.h",
    "ViewController.m",
    "main.m",
  ]

  frameworks = [
    "CoreGraphics.framework",
    "Foundation.framework",
    "UIKit.framework",
  ]

  deps = [
    ":storyboards",
    "//shared:hello_framework",
    "//shared:hello_framework+bundle",
  ]
}

storyboards("storyboards") {
  sources = [
    "resources/LaunchScreen.storyboard",
    "resources/Main.storyboard",
  ]
}
