chromium/components/prefs/BUILD.gn

# Copyright 2015 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/config/chromeos/ui_mode.gni")

component("prefs") {
  sources = [
    "command_line_pref_store.cc",
    "command_line_pref_store.h",
    "default_pref_store.cc",
    "default_pref_store.h",
    "in_memory_pref_store.cc",
    "in_memory_pref_store.h",
    "json_pref_store.cc",
    "json_pref_store.h",
    "overlay_user_pref_store.cc",
    "overlay_user_pref_store.h",
    "persistent_pref_store.cc",
    "persistent_pref_store.h",
    "pref_change_registrar.cc",
    "pref_change_registrar.h",
    "pref_filter.h",
    "pref_member.cc",
    "pref_member.h",
    "pref_name_set.h",
    "pref_notifier.h",
    "pref_notifier_impl.cc",
    "pref_notifier_impl.h",
    "pref_observer.h",
    "pref_registry.cc",
    "pref_registry.h",
    "pref_registry_simple.cc",
    "pref_registry_simple.h",
    "pref_service.cc",
    "pref_service.h",
    "pref_service_factory.cc",
    "pref_service_factory.h",
    "pref_store.cc",
    "pref_store.h",
    "pref_value_map.cc",
    "pref_value_map.h",
    "pref_value_store.cc",
    "pref_value_store.h",
    "prefs_export.h",
    "scoped_user_pref_update.cc",
    "scoped_user_pref_update.h",
    "segregated_pref_store.cc",
    "segregated_pref_store.h",
    "transparent_unordered_string_map.h",
    "value_map_pref_store.cc",
    "value_map_pref_store.h",
    "wrap_with_prefix_pref_store.cc",
    "wrap_with_prefix_pref_store.h",
    "writeable_pref_store.cc",
    "writeable_pref_store.h",
  ]

  defines = [ "COMPONENTS_PREFS_IMPLEMENTATION" ]

  deps = [ "//build:chromeos_buildflags" ]

  public_deps = [ "//base" ]

  if (is_android) {
    sources += [
      "android/pref_service_android.cc",
      "android/pref_service_android.h",
    ]
    deps += [ "android:jni_headers" ]
  }
}

static_library("test_support") {
  testonly = true
  sources = [
    "mock_pref_change_callback.cc",
    "mock_pref_change_callback.h",
    "pref_store_observer_mock.cc",
    "pref_store_observer_mock.h",
    "pref_test_utils.cc",
    "pref_test_utils.h",
    "testing_pref_service.cc",
    "testing_pref_service.h",
    "testing_pref_store.cc",
    "testing_pref_store.h",
  ]

  public_deps = [ ":prefs" ]
  deps = [
    "//base",
    "//base/test:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "default_pref_store_unittest.cc",
    "in_memory_pref_store_unittest.cc",
    "json_pref_store_unittest.cc",
    "overlay_user_pref_store_unittest.cc",
    "persistent_pref_store_unittest.cc",
    "persistent_pref_store_unittest.h",
    "pref_change_registrar_unittest.cc",
    "pref_member_unittest.cc",
    "pref_notifier_impl_unittest.cc",
    "pref_service_unittest.cc",
    "pref_value_map_unittest.cc",
    "pref_value_store_unittest.cc",
    "scoped_user_pref_update_unittest.cc",
    "segregated_pref_store_unittest.cc",
    "wrap_with_prefix_pref_store_unittest.cc",
  ]

  deps = [
    ":test_support",
    "//base",
    "//base/test:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
}