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

config("config") {
  include_dirs = [ "forwarding_headers" ]
}

config("private_config") {
  include_dirs = [ "src/src" ]
  visibility = [ ":motion_interchange_objc" ]
}

source_set("motion_interchange_objc") {
  sources = [
    "src/src/CAMediaTimingFunction+MDMTimingCurve.h",
    "src/src/CAMediaTimingFunction+MDMTimingCurve.m",
    "src/src/MDMAnimationTraits.h",
    "src/src/MDMAnimationTraits.m",
    "src/src/MDMMotionCurve.h",
    "src/src/MDMMotionCurve.m",
    "src/src/MDMMotionRepetition.h",
    "src/src/MDMMotionTiming.h",
    "src/src/MDMRepetition.h",
    "src/src/MDMRepetition.m",
    "src/src/MDMRepetitionOverTime.h",
    "src/src/MDMRepetitionOverTime.m",
    "src/src/MDMRepetitionTraits.h",
    "src/src/MDMSpringTimingCurve.h",
    "src/src/MDMSpringTimingCurve.m",
    "src/src/MDMSpringTimingCurveGenerator.h",
    "src/src/MDMSpringTimingCurveGenerator.m",
    "src/src/MDMSubclassingRestricted.h",
    "src/src/MDMTimingCurve.h",
    "src/src/MotionInterchange.h",
  ]
  public = [
    "src/src/CAMediaTimingFunction+MDMTimingCurve.h",
    "src/src/MDMAnimationTraits.h",
    "src/src/MDMMotionCurve.h",
    "src/src/MDMMotionRepetition.h",
    "src/src/MDMMotionTiming.h",
    "src/src/MDMRepetition.h",
    "src/src/MDMRepetitionOverTime.h",
    "src/src/MDMRepetitionTraits.h",
    "src/src/MDMSpringTimingCurve.h",
    "src/src/MDMSpringTimingCurveGenerator.h",
    "src/src/MDMSubclassingRestricted.h",
    "src/src/MDMTimingCurve.h",
    "src/src/MotionInterchange.h",
  ]

  libs = [
    "CoreGraphics.framework",
    "Foundation.framework",
    "QuartzCore.framework",
    "UIKit.framework",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [
    ":private_config",
    "//build/config/compiler:enable_arc",
    "//build/config/compiler:no_chromium_code",
  ]
  public_configs = [
    ":config",
    "//build/config/compiler:default_include_dirs",
  ]
}
