chromium/ios/chrome/browser/shared/ui/symbols/BUILD.gn

# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/buildflag_header.gni")
import("//build/config/ios/ios_sdk.gni")

declare_args() {
  # This defines targets to include branded icons.
  ios_branded_icons = ":branded"
}

_use_branded_symbols = get_label_info(":branded", "label_no_toolchain") !=
                       get_label_info(ios_branded_icons, "label_no_toolchain")

buildflag_header("buildflags") {
  header = "buildflags.h"
  flags = [ "IOS_USE_BRANDED_SYMBOLS=$_use_branded_symbols" ]
}

source_set("icons") {
  sources = [
    "chrome_icon.h",
    "chrome_icon.mm",
  ]
  deps = [
    "//base",
    "//ios/chrome/app/strings",
    "//third_party/material_design_icons:ic_arrow_back",
    "//third_party/material_design_icons:ic_chevron_right",
    "//third_party/material_design_icons:ic_close",
    "//third_party/material_design_icons:ic_info",
    "//third_party/material_design_icons:ic_search",
    "//ui/base",
  ]
  frameworks = [
    "CoreGraphics.framework",
    "UIKit.framework",
  ]
}

source_set("symbols") {
  public = [ "symbols.h" ]
  sources = [
    "symbol_configurations.h",
    "symbol_configurations.mm",
    "symbol_helpers.h",
    "symbol_helpers.mm",
    "symbol_names.h",
    "symbol_names.mm",
  ]
  deps = [
    ":buildflags",
    "//base",
    "//ios/chrome/browser/shared/public/features",
    "//ios/chrome/browser/shared/ui/symbols/resources",
    "//ios/chrome/common/ui/colors",
    ios_branded_icons,
  ]
}

source_set("symbols_views") {
  sources = [
    "colorful_background_symbol_view.h",
    "colorful_background_symbol_view.mm",
  ]
  deps = [
    ":symbols",
    "//ios/chrome/common/ui/colors",
    "//ios/chrome/common/ui/table_view:cells_constants",
    "//ios/chrome/common/ui/util",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [ "chrome_icon_unittest.mm" ]
  deps = [
    ":icons",
    "//testing/gtest",
    "//third_party/ocmock",
    "//ui/base",
  ]
}

# TODO(crbug.com/41325811): remove this target when the downstream repository
# has been fixed to directly depends on the individual targets.
group("assets") {
  deps = [
    "//third_party/material_design_icons:ic_arrow_back",
    "//third_party/material_design_icons:ic_chevron_right",
    "//third_party/material_design_icons:ic_close",
    "//third_party/material_design_icons:ic_info",
    "//third_party/material_design_icons:ic_search",
  ]
}

group("branded") {
  deps = [ "//ios/chrome/browser/shared/ui/symbols/resources:branded_assets" ]
}