# 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. import("//build/config/locales.gni") config("config") { visibility = [ ":material_components_ios" ] include_dirs = [ "src/components/ActivityIndicator/src", "src/components/AppBar/src", "src/components/ButtonBar/src", "src/components/Buttons/src", "src/components/CollectionCells/src", "src/components/CollectionLayoutAttributes/src", "src/components/Collections/src", "src/components/Dialogs/src", "src/components/FlexibleHeader/src", "src/components/HeaderStackView/src", "src/components/Ink/src", "src/components/NavigationBar/src", "src/components/OverlayWindow/src", "src/components/Palettes/src", "src/components/ProgressView/src", "src/components/ShadowElevations/src", "src/components/ShadowLayer/src", "src/components/Snackbar/src", "src/components/Themes/src", "src/components/Typography/src", "src/components/private/Shapes/src/", "src/components/private/UIMetrics/src", "src/components/schemes/Color/src", "src/components/schemes/Typography/src", ] } config("disable_deprecated_errors") { cflags = [ "-Wno-deprecated", "-Wno-deprecated-declarations", ] } _icon_names = [ "ic_check", "ic_check_circle", "ic_chevron_right", "ic_info", "ic_radio_button_unchecked", "ic_reorder", ] source_set("material_components_ios") { sources = [ "src/components/ActivityIndicator/src/ColorThemer/MDCActivityIndicatorColorThemer.h", "src/components/ActivityIndicator/src/ColorThemer/MDCActivityIndicatorColorThemer.m", "src/components/ActivityIndicator/src/MDCActivityIndicator.h", "src/components/ActivityIndicator/src/MDCActivityIndicator.m", "src/components/ActivityIndicator/src/MaterialActivityIndicator.h", "src/components/ActivityIndicator/src/private/MDCActivityIndicator+Private.h", "src/components/ActivityIndicator/src/private/MDCActivityIndicatorMotionSpec.h", "src/components/ActivityIndicator/src/private/MDCActivityIndicatorMotionSpec.m", "src/components/ActivityIndicator/src/private/MaterialActivityIndicatorStrings.h", "src/components/ActivityIndicator/src/private/MaterialActivityIndicatorStrings_table.h", "src/components/AnimationTiming/src/CAMediaTimingFunction+MDCAnimationTiming.h", "src/components/AnimationTiming/src/CAMediaTimingFunction+MDCAnimationTiming.m", "src/components/AnimationTiming/src/MaterialAnimationTiming.h", "src/components/AnimationTiming/src/UIView+MDCTimingFunction.h", "src/components/AnimationTiming/src/UIView+MDCTimingFunction.m", "src/components/AppBar/src/MDCAppBar.h", "src/components/AppBar/src/MDCAppBarContainerViewController.h", "src/components/AppBar/src/MDCAppBarContainerViewController.m", "src/components/AppBar/src/MDCAppBarViewController.h", "src/components/AppBar/src/MDCAppBarViewController.m", "src/components/AppBar/src/MaterialAppBar.h", "src/components/BottomSheet/src/MDCBottomSheetController.h", "src/components/BottomSheet/src/MDCBottomSheetController.m", "src/components/BottomSheet/src/MDCBottomSheetPresentationController.h", "src/components/BottomSheet/src/MDCBottomSheetPresentationController.m", "src/components/BottomSheet/src/MDCBottomSheetTransitionController.h", "src/components/BottomSheet/src/MDCBottomSheetTransitionController.m", "src/components/BottomSheet/src/MDCSheetState.h", "src/components/BottomSheet/src/MaterialBottomSheet.h", "src/components/BottomSheet/src/UIViewController+MaterialBottomSheet.h", "src/components/BottomSheet/src/UIViewController+MaterialBottomSheet.m", "src/components/BottomSheet/src/private/MDCDraggableView.h", "src/components/BottomSheet/src/private/MDCDraggableView.m", "src/components/BottomSheet/src/private/MDCSheetBehavior.h", "src/components/BottomSheet/src/private/MDCSheetBehavior.m", "src/components/BottomSheet/src/private/MDCSheetContainerView.h", "src/components/BottomSheet/src/private/MDCSheetContainerView.m", "src/components/ButtonBar/src/ColorThemer/MDCButtonBarColorThemer.h", "src/components/ButtonBar/src/ColorThemer/MDCButtonBarColorThemer.m", "src/components/ButtonBar/src/MDCButtonBar.h", "src/components/ButtonBar/src/MDCButtonBar.m", "src/components/ButtonBar/src/MDCButtonBarButton.h", "src/components/ButtonBar/src/MaterialButtonBar.h", "src/components/ButtonBar/src/private/MDCAppBarButtonBarBuilder.h", "src/components/ButtonBar/src/private/MDCAppBarButtonBarBuilder.m", "src/components/ButtonBar/src/private/MDCButtonBarButton.m", "src/components/Buttons/src/ButtonThemer/MDCButtonScheme.h", "src/components/Buttons/src/ButtonThemer/MDCButtonScheme.m", "src/components/Buttons/src/ButtonThemer/MDCTextButtonThemer.h", "src/components/Buttons/src/ButtonThemer/MDCTextButtonThemer.m", "src/components/Buttons/src/ColorThemer/MDCTextButtonColorThemer.h", "src/components/Buttons/src/ColorThemer/MDCTextButtonColorThemer.m", "src/components/Buttons/src/MDCButton.h", "src/components/Buttons/src/MDCButton.m", "src/components/Buttons/src/MDCFlatButton.h", "src/components/Buttons/src/MDCFlatButton.m", "src/components/Buttons/src/MDCFloatingButton.h", "src/components/Buttons/src/MDCFloatingButton.m", "src/components/Buttons/src/MDCRaisedButton.h", "src/components/Buttons/src/MDCRaisedButton.m", "src/components/Buttons/src/MaterialButtons.h", "src/components/Buttons/src/TypographyThemer/MDCButtonTypographyThemer.h", "src/components/Buttons/src/TypographyThemer/MDCButtonTypographyThemer.m", "src/components/Buttons/src/private/MDCButton+Subclassing.h", "src/components/CollectionCells/src/MDCCollectionViewCell.h", "src/components/CollectionCells/src/MDCCollectionViewCell.m", "src/components/CollectionCells/src/MDCCollectionViewTextCell.h", "src/components/CollectionCells/src/MDCCollectionViewTextCell.m", "src/components/CollectionCells/src/MaterialCollectionCells.h", "src/components/CollectionLayoutAttributes/src/MDCCollectionViewLayoutAttributes.h", "src/components/CollectionLayoutAttributes/src/MDCCollectionViewLayoutAttributes.m", "src/components/CollectionLayoutAttributes/src/MaterialCollectionLayoutAttributes.h", "src/components/Collections/src/MDCCollectionViewController.h", "src/components/Collections/src/MDCCollectionViewController.m", "src/components/Collections/src/MDCCollectionViewEditing.h", "src/components/Collections/src/MDCCollectionViewEditingDelegate.h", "src/components/Collections/src/MDCCollectionViewFlowLayout.h", "src/components/Collections/src/MDCCollectionViewFlowLayout.m", "src/components/Collections/src/MDCCollectionViewStyling.h", "src/components/Collections/src/MDCCollectionViewStylingDelegate.h", "src/components/Collections/src/MaterialCollections.h", "src/components/Collections/src/private/MDCCollectionGridBackgroundView.h", "src/components/Collections/src/private/MDCCollectionGridBackgroundView.m", "src/components/Collections/src/private/MDCCollectionInfoBarView.h", "src/components/Collections/src/private/MDCCollectionInfoBarView.m", "src/components/Collections/src/private/MDCCollectionStringResources.h", "src/components/Collections/src/private/MDCCollectionStringResources.m", "src/components/Collections/src/private/MDCCollectionViewEditor.h", "src/components/Collections/src/private/MDCCollectionViewEditor.m", "src/components/Collections/src/private/MDCCollectionViewStyler.h", "src/components/Collections/src/private/MDCCollectionViewStyler.m", "src/components/Collections/src/private/MaterialCollectionsStrings.h", "src/components/Collections/src/private/MaterialCollectionsStrings_table.h", "src/components/Dialogs/src/ColorThemer/MDCAlertColorThemer.h", "src/components/Dialogs/src/ColorThemer/MDCAlertColorThemer.m", "src/components/Dialogs/src/MDCAlertController.h", "src/components/Dialogs/src/MDCAlertController.m", "src/components/Dialogs/src/MDCAlertControllerView.h", "src/components/Dialogs/src/MDCDialogPresentationController.h", "src/components/Dialogs/src/MDCDialogPresentationController.m", "src/components/Dialogs/src/MDCDialogTransitionController.h", "src/components/Dialogs/src/MDCDialogTransitionController.m", "src/components/Dialogs/src/MaterialDialogs.h", "src/components/Dialogs/src/UIViewController+MaterialDialogs.h", "src/components/Dialogs/src/UIViewController+MaterialDialogs.m", "src/components/Dialogs/src/private/MDCAlertControllerView+Private.h", "src/components/Dialogs/src/private/MDCAlertControllerView+Private.m", "src/components/Dialogs/src/private/MDCDialogShadowedView.h", "src/components/Dialogs/src/private/MDCDialogShadowedView.m", "src/components/Dialogs/src/private/MaterialDialogsStrings.h", "src/components/Dialogs/src/private/MaterialDialogsStrings_table.h", "src/components/FlexibleHeader/src/MDCFlexibleHeaderContainerViewController.h", "src/components/FlexibleHeader/src/MDCFlexibleHeaderContainerViewController.m", "src/components/FlexibleHeader/src/MDCFlexibleHeaderView.h", "src/components/FlexibleHeader/src/MDCFlexibleHeaderView.m", "src/components/FlexibleHeader/src/MDCFlexibleHeaderViewController.h", "src/components/FlexibleHeader/src/MDCFlexibleHeaderViewController.m", "src/components/FlexibleHeader/src/MaterialFlexibleHeader.h", "src/components/FlexibleHeader/src/private/MDCStatusBarShifter.h", "src/components/FlexibleHeader/src/private/MDCStatusBarShifter.m", "src/components/HeaderStackView/src/MDCHeaderStackView.h", "src/components/HeaderStackView/src/MDCHeaderStackView.m", "src/components/HeaderStackView/src/MaterialHeaderStackView.h", "src/components/Ink/src/ColorThemer/MDCInkColorThemer.h", "src/components/Ink/src/ColorThemer/MDCInkColorThemer.m", "src/components/Ink/src/MDCInkGestureRecognizer.h", "src/components/Ink/src/MDCInkGestureRecognizer.m", "src/components/Ink/src/MDCInkTouchController.h", "src/components/Ink/src/MDCInkTouchController.m", "src/components/Ink/src/MDCInkView.h", "src/components/Ink/src/MDCInkView.m", "src/components/Ink/src/MaterialInk.h", "src/components/Ink/src/private/MDCInkLayer.h", "src/components/Ink/src/private/MDCInkLayer.m", "src/components/Ink/src/private/MDCLegacyInkLayer+Testing.h", "src/components/Ink/src/private/MDCLegacyInkLayer.h", "src/components/Ink/src/private/MDCLegacyInkLayer.m", "src/components/NavigationBar/src/MDCNavigationBar.h", "src/components/NavigationBar/src/MDCNavigationBar.m", "src/components/NavigationBar/src/MaterialNavigationBar.h", "src/components/OverlayWindow/src/MDCOverlayWindow.h", "src/components/OverlayWindow/src/MDCOverlayWindow.m", "src/components/OverlayWindow/src/MaterialOverlayWindow.h", "src/components/Palettes/src/MDCPalettes.h", "src/components/Palettes/src/MDCPalettes.m", "src/components/Palettes/src/MaterialPalettes.h", "src/components/Palettes/src/private/MDCPaletteExpansions.h", "src/components/Palettes/src/private/MDCPaletteExpansions.m", "src/components/Palettes/src/private/MDCPaletteNames.h", "src/components/Palettes/src/private/MDCPaletteNames.m", "src/components/ProgressView/src/ColorThemer/MDCProgressViewColorThemer.h", "src/components/ProgressView/src/ColorThemer/MDCProgressViewColorThemer.m", "src/components/ProgressView/src/MDCProgressView.h", "src/components/ProgressView/src/MDCProgressView.m", "src/components/ProgressView/src/MaterialProgressView.h", "src/components/ProgressView/src/private/MDCProgressViewMotionSpec.h", "src/components/ProgressView/src/private/MDCProgressViewMotionSpec.m", "src/components/ShadowElevations/src/MDCShadowElevations.h", "src/components/ShadowElevations/src/MDCShadowElevations.m", "src/components/ShadowElevations/src/MaterialShadowElevations.h", "src/components/ShadowLayer/src/MDCShadowLayer.h", "src/components/ShadowLayer/src/MDCShadowLayer.m", "src/components/ShadowLayer/src/MaterialShadowLayer.h", "src/components/Snackbar/src/MDCSnackbarManager.h", "src/components/Snackbar/src/MDCSnackbarManager.m", "src/components/Snackbar/src/MDCSnackbarMessage.h", "src/components/Snackbar/src/MDCSnackbarMessage.m", "src/components/Snackbar/src/MDCSnackbarMessageView.h", "src/components/Snackbar/src/MDCSnackbarMessageView.m", "src/components/Snackbar/src/MaterialSnackbar.h", "src/components/Snackbar/src/private/MDCSnackbarMessageInternal.h", "src/components/Snackbar/src/private/MDCSnackbarMessageViewInternal.h", "src/components/Snackbar/src/private/MDCSnackbarOverlayView.h", "src/components/Snackbar/src/private/MDCSnackbarOverlayView.m", "src/components/Typography/src/MDCTypography.h", "src/components/Typography/src/MDCTypography.m", "src/components/Typography/src/MaterialTypography.h", "src/components/Typography/src/UIFont+MaterialTypography.h", "src/components/Typography/src/UIFont+MaterialTypography.m", "src/components/Typography/src/UIFontDescriptor+MaterialTypography.h", "src/components/Typography/src/UIFontDescriptor+MaterialTypography.m", "src/components/Typography/src/private/MDCFontTraits.h", "src/components/Typography/src/private/MDCFontTraits.m", "src/components/Typography/src/private/UIFont+MaterialTypographyPrivate.h", "src/components/Typography/src/private/UIFont+MaterialTypographyPrivate.m", "src/components/private/Application/src/MaterialApplication.h", "src/components/private/Application/src/UIApplication+AppExtensions.h", "src/components/private/Application/src/UIApplication+AppExtensions.m", "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons+ic_arrow_back.h", "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons+ic_arrow_back.m", "src/components/private/Icons/icons/ic_check/src/MaterialIcons+ic_check.h", "src/components/private/Icons/icons/ic_check/src/MaterialIcons+ic_check.m", "src/components/private/Icons/icons/ic_check_circle/src/MaterialIcons+ic_check_circle.h", "src/components/private/Icons/icons/ic_check_circle/src/MaterialIcons+ic_check_circle.m", "src/components/private/Icons/icons/ic_chevron_right/src/MaterialIcons+ic_chevron_right.h", "src/components/private/Icons/icons/ic_chevron_right/src/MaterialIcons+ic_chevron_right.m", "src/components/private/Icons/icons/ic_info/src/MaterialIcons+ic_info.h", "src/components/private/Icons/icons/ic_info/src/MaterialIcons+ic_info.m", "src/components/private/Icons/icons/ic_radio_button_unchecked/src/MaterialIcons+ic_radio_button_unchecked.h", "src/components/private/Icons/icons/ic_radio_button_unchecked/src/MaterialIcons+ic_radio_button_unchecked.m", "src/components/private/Icons/icons/ic_reorder/src/MaterialIcons+ic_reorder.h", "src/components/private/Icons/icons/ic_reorder/src/MaterialIcons+ic_reorder.m", "src/components/private/Icons/src/MDCIcons+BundleLoader.h", "src/components/private/Icons/src/MDCIcons.h", "src/components/private/Icons/src/MDCIcons.m", "src/components/private/Icons/src/MaterialIcons.h", "src/components/private/KeyboardWatcher/src/MDCKeyboardWatcher.h", "src/components/private/KeyboardWatcher/src/MDCKeyboardWatcher.m", "src/components/private/Math/src/MDCMath.h", "src/components/private/Math/src/MaterialMath.h", "src/components/private/Overlay/src/MDCOverlayImplementor.h", "src/components/private/Overlay/src/MDCOverlayObserver.h", "src/components/private/Overlay/src/MDCOverlayObserver.m", "src/components/private/Overlay/src/MDCOverlayTransitioning.h", "src/components/private/Overlay/src/MaterialOverlay.h", "src/components/private/Overlay/src/private/MDCOverlayAnimationObserver.h", "src/components/private/Overlay/src/private/MDCOverlayAnimationObserver.m", "src/components/private/Overlay/src/private/MDCOverlayObserverOverlay.h", "src/components/private/Overlay/src/private/MDCOverlayObserverOverlay.m", "src/components/private/Overlay/src/private/MDCOverlayObserverTransition.h", "src/components/private/Overlay/src/private/MDCOverlayObserverTransition.m", "src/components/private/Overlay/src/private/MDCOverlayUtilities.h", "src/components/private/Overlay/src/private/MDCOverlayUtilities.m", "src/components/private/Shapes/src/MDCShapedShadowLayer.h", "src/components/private/Shapes/src/MDCShapedShadowLayer.m", "src/components/private/Shapes/src/MDCShapedView.h", "src/components/private/Shapes/src/MDCShapedView.m", "src/components/private/Shapes/src/MaterialShapes.h", "src/components/private/ThumbTrack/src/MDCNumericValueLabel.h", "src/components/private/ThumbTrack/src/MDCNumericValueLabel.m", "src/components/private/ThumbTrack/src/MDCThumbTrack.h", "src/components/private/ThumbTrack/src/MDCThumbTrack.m", "src/components/private/ThumbTrack/src/MDCThumbView.h", "src/components/private/ThumbTrack/src/MDCThumbView.m", "src/components/private/ThumbTrack/src/MaterialThumbTrack.h", "src/components/private/UIMetrics/src/MDCLayoutMetrics.h", "src/components/private/UIMetrics/src/MDCLayoutMetrics.m", "src/components/private/UIMetrics/src/MaterialUIMetrics.h", "src/components/schemes/Color/src/MDCLegacyColorScheme.h", "src/components/schemes/Color/src/MDCLegacyColorScheme.m", "src/components/schemes/Color/src/MDCLegacyTonalColorScheme.h", "src/components/schemes/Color/src/MDCLegacyTonalColorScheme.m", "src/components/schemes/Color/src/MDCLegacyTonalPalette.h", "src/components/schemes/Color/src/MDCLegacyTonalPalette.m", "src/components/schemes/Color/src/MDCSemanticColorScheme.h", "src/components/schemes/Color/src/MDCSemanticColorScheme.m", "src/components/schemes/Color/src/MaterialColorScheme.h", "src/components/schemes/Typography/src/MDCLegacyFontScheme.h", "src/components/schemes/Typography/src/MDCLegacyFontScheme.m", "src/components/schemes/Typography/src/MDCTypographyScheme.h", "src/components/schemes/Typography/src/MDCTypographyScheme.m", "src/components/schemes/Typography/src/MaterialTypographyScheme.h", ] include_dirs = [ "src/components/ActivityIndicator/src", "src/components/AnimationTiming/src", "src/components/AppBar/src", "src/components/BottomSheet/src", "src/components/ButtonBar/src", "src/components/Buttons/src/ButtonThemer", "src/components/Buttons/src/ColorThemer", "src/components/Buttons/src/TypographyThemer", "src/components/NavigationBar/src", "src/components/OverlayWindow/src", "src/components/private/Math/src", "src/components/private/Application/src", "src/components/private/Color/src", "src/components/private/Icons/src", "src/components/private/Icons/icons/ic_arrow_back/src", "src/components/private/Icons/icons/ic_check/src", "src/components/private/Icons/icons/ic_check_circle/src", "src/components/private/Icons/icons/ic_chevron_right/src", "src/components/private/Icons/icons/ic_info/src", "src/components/private/Icons/icons/ic_radio_button_unchecked/src", "src/components/private/Icons/icons/ic_reorder/src", "src/components/private/KeyboardWatcher/src", "src/components/private/Overlay/src", "src/components/private/Shapes/src", "src/components/private/ThumbTrack/src", ] libs = [ "CoreGraphics.framework", "CoreText.framework", "QuartzCore.framework", "UIKit.framework", ] deps = [ ":material_collection_cells_bundle", ":material_collections_bundle", ":material_component_ic_arrow_back_bundle", "//ios/third_party/material_internationalization_ios", "//ios/third_party/material_text_accessibility_ios", "//ios/third_party/motion_animator_objc", "//ios/third_party/motion_transitioning_objc", ] public_deps = [ "//ios/third_party/motion_animator_objc", "//ios/third_party/motion_transitioning_objc", ] foreach(icon_name, _icon_names) { deps += [ ":material_component_${icon_name}_bundle" ] } public_configs = [ ":config" ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ ":config", "//build/config/compiler:enable_arc", "//build/config/compiler:no_chromium_code", # material_components_ios internally uses deprecated methods. # Disable the warning about deprecation usage. ":disable_deprecated_errors", ] } _locales = [ "en" ] foreach(locale, _locales) { bundle_data("material_collections_bundle_$locale") { visibility = [ ":material_collections_bundle" ] sources = [ "src/components/Collections/src/MaterialCollections.bundle/Resources/$locale.lproj/MaterialCollections.strings", ] outputs = [ "{{bundle_resources_dir}}/MaterialCollections.bundle/Resources/$locale.lproj/{{source_file_part}}", ] } bundle_data("material_collection_cells_bundle_$locale") { visibility = [ ":material_collection_cells_bundle" ] sources = [ "src/components/CollectionCells/src/MaterialCollectionCells.bundle/Resources/$locale.lproj/MaterialCollectionCells.strings", ] outputs = [ "{{bundle_resources_dir}}/MaterialCollectionCells.bundle/Resources/$locale.lproj/{{source_file_part}}", ] } } group("material_collections_bundle") { visibility = [ ":material_components_ios" ] deps = [] foreach(locale, _locales) { deps += [ ":material_collections_bundle_$locale" ] } } group("material_collection_cells_bundle") { visibility = [ ":material_components_ios" ] deps = [] foreach(locale, _locales) { deps += [ ":material_collection_cells_bundle_$locale" ] } } # TODO(crbug.com/662421): Move back to _icon_names when there is just one # resource. bundle_data("material_component_ic_arrow_back_bundle") { visibility = [ ":material_components_ios" ] sources = [ "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back.png", "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back@2x.png", "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back@3x.png", "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back_ios.png", "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back_ios@2x.png", "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back_ios@3x.png", ] outputs = [ "{{bundle_resources_dir}}/MaterialIcons_ic_arrow_back.bundle/" + "{{source_file_part}}", ] } # Template to declare a bundle_data target to pack an icon bundle. # # Arguments: # # icon_name: # string, short name of the icon without .bundle or .png extension. # template("material_component_icon_bundle") { assert(defined(invoker.icon_name) && invoker.icon_name != "", "icon_name must be defined for $target_name") _icon_name = invoker.icon_name _icon_path = "src/components/private/Icons/icons/$_icon_name/src/" + "MaterialIcons_$_icon_name.bundle/$_icon_name" bundle_data(target_name) { forward_variables_from(invoker, "*", [ "sources", "outputs", "icon_name", ]) sources = [ "$_icon_path.png", "$_icon_path@2x.png", "$_icon_path@3x.png", ] outputs = [ "{{bundle_resources_dir}}/MaterialIcons_$_icon_name.bundle/" + "{{source_file_part}}", ] } } foreach(icon_name, _icon_names) { material_component_icon_bundle("material_component_${icon_name}_bundle") { visibility = [ ":material_components_ios" ] icon_name = "$icon_name" } }