chromium/media/learning/mojo/public/cpp/BUILD.gn

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

component("cpp") {
  visibility = [
    "//media/learning/mojo:impl",
    "//media/learning/mojo/public/cpp:unit_tests",
    "//third_party/blink/renderer/platform/media",
  ]

  sources = [
    "mojo_learning_task_controller.cc",
    "mojo_learning_task_controller.h",
  ]

  defines = [ "IS_MEDIA_LEARNING_MOJO_IMPL" ]

  deps = [
    "//base",
    "//media/learning/common",
    "//media/learning/mojo/public/mojom",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]
}

# Normally typemap traits sources should be build directly into mojom targets
# via the typemap file. This target is for typemapped mojo_base types whose
# traits are shared between chromium and blink variants.
component("shared_typemap_traits") {
  output_name = "media_learning_shared_typemap_traits"

  defines = [ "IS_MEDIA_LEARNING_SHARED_TYPEMAP_TRAITS_IMPL" ]

  sources = [
    "//media/learning/mojo/public/cpp/learning_mojom_traits.cc",
    "//media/learning/mojo/public/cpp/learning_mojom_traits.h",
  ]

  deps = [
    "//base",
    "//media/learning/common",
    "//media/learning/mojo/public/mojom:mojom_shared",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]
}

source_set("unit_tests") {
  testonly = true

  sources = [ "mojo_learning_task_controller_unittest.cc" ]

  deps = [
    "//base",
    "//base/test:test_support",
    "//media/learning/common",
    "//media/learning/mojo:impl",
    "//media/mojo:test_support",
    "//mojo/public/cpp/bindings",
    "//testing/gmock",
    "//testing/gtest",
  ]
}