# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

template("ios_app") {
  assert(is_ios)

  copy("${target_name}__info_plist") {
    sources = [
      invoker.info_plist,
    ]
    outputs = [
      "$root_out_dir/${target_name}.app/Info.plist",
    ]
  }
  executable("$target_name") {
    forward_variables_from(invoker, "*")
    output_name = "${target_name}.app/$target_name"

    deps += [ ":${target_name}__info_plist" ]
  }
}
