# 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. import("//flutter/build/zip_bundle.gni") import("//flutter/shell/version/version.gni") executable("_font-subset") { output_name = "font-subset" sources = [ "hb_wrappers.h", "main.cc", ] deps = [ "//third_party/harfbuzz:harfbuzz_subset" ] if (is_mac) { frameworks = [ "Foundation.framework", "CoreGraphics.framework", "CoreText.framework", ] } metadata = { font_subset_without_entitlement = [ "font-subset" ] } } generated_file("_font-subset-license") { source_path = rebase_path(".", "//flutter") license_path = rebase_path("//flutter/sky/packages/sky_engine/LICENSE", "//flutter") git_url = "https://github.com/flutter/engine/tree/$engine_version" outputs = [ "$target_gen_dir/LICENSE.font-subset.md" ] contents = [ "# font-subset", "", "This tool is used by the Flutter SDK to tree shake icon fonts.", "", "Source code for this tool: [flutter/engine/$source_path]($git_url/$source_path).", "License for this tool: [flutter/engine/sky/packages/sky_engine/LICENSE]($git_url/$license_path).", ] } generated_file("font_entitlement_config") { outputs = [ "$target_gen_dir/font_subset_without_entitlements.txt" ] data_keys = [ "font_subset_without_entitlement" ] deps = [ ":_font-subset" ] } zip_bundle("font-subset") { if (is_mac) { # Mac artifacts sometimes use mac and sometimes darwin. Standardizing the # names will require changes in the list of artifacts the tool is downloading. output = "darwin-${target_cpu}/font-subset.zip" } else { output = "${full_target_platform_name}/font-subset.zip" } font_subset_bin = "font-subset" if (is_win) { font_subset_bin = "${font_subset_bin}.exe" } files = [ { source = "$root_build_dir/$font_subset_bin" destination = font_subset_bin }, { source = "$root_gen_dir/const_finder.dart.snapshot" destination = "const_finder.dart.snapshot" }, { source = "$target_gen_dir/LICENSE.font-subset.md" destination = "LICENSE.font-subset.md" }, ] deps = [ ":_font-subset", ":_font-subset-license", "//flutter/tools/const_finder", ] if (is_mac) { deps += [ ":font_entitlement_config" ] files += [ { source = "$target_gen_dir/font_subset_without_entitlements.txt" destination = "without_entitlements.txt" }, ] } }