# Copyright 2016 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.

assert(is_mac)

source_set("mac_desktop_platform") {
  visibility = [ ":*" ]

  sources = [
    "flutter_app_delegate.h",
    "flutter_app_delegate.m",
    "flutter_application.h",
    "flutter_application.mm",
    "flutter_window.h",
    "flutter_window.mm",
    "main_mac.mm",
    "platform_view_mac.h",
    "platform_view_mac.mm",
    "vsync_waiter_mac.cc",
    "vsync_waiter_mac.h",
  ]

  deps = [
    "//third_party/dart/runtime:libdart_jit",
    "$flutter_root/common",
    "$flutter_root/fml",
    "$flutter_root/shell/common",
    "$flutter_root/shell/gpu",
    "$flutter_root/shell/platform/darwin/common",
    "$flutter_root/shell/testing",
    "$flutter_root/synchronization",
    "//garnet/public/lib/fxl",
    "//third_party/skia",
  ]

  public_configs = [
    "$flutter_root:config",
  ]
}

executable("shell_standalone") {
  output_name = "flutter_tester"
  deps = [
    ":mac_desktop_platform",
  ]
}

if (!is_fuchsia_host) {

  import("//build/config/mac/rules.gni")

  resource_copy_mac("mac_desktop_resources") {
    app_name = "FlutterTester"
    resources = [ "//third_party/icu/common/icudtl.dat" ]
    bundle_directory = "."
  }

  mac_app("shell_application_bundle") {
    app_name = "FlutterTester"
    info_plist = "Info.plist"
    xibs = [ "flutter_mac.xib" ]

    deps = [
      ":mac_desktop_platform",
      ":mac_desktop_resources",
    ]
  }
}
