# 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. import("//services/service_manager/public/cpp/service.gni") import("//services/service_manager/public/service_manifest.gni") import("//testing/test.gni") source_set("lib") { sources = [ "shape_detection_service.cc", "shape_detection_service.h", "text_detection_impl.h", ] if (is_mac) { sources += [ "barcode_detection_impl_mac.h", "barcode_detection_impl_mac.mm", "barcode_detection_impl_mac_vision.h", "barcode_detection_impl_mac_vision.mm", "barcode_detection_provider_mac.h", "barcode_detection_provider_mac.mm", "detection_utils_mac.h", "detection_utils_mac.mm", "face_detection_impl_mac.h", "face_detection_impl_mac.mm", "face_detection_impl_mac_vision.h", "face_detection_impl_mac_vision.mm", "face_detection_provider_mac.h", "face_detection_provider_mac.mm", "text_detection_impl_mac.h", "text_detection_impl_mac.mm", ] libs = [ "QuartzCore.framework" ] } else if (is_win) { sources += [ "barcode_detection_provider_impl.cc", "barcode_detection_provider_impl.h", "detection_utils_win.cc", "detection_utils_win.h", "face_detection_impl_win.cc", "face_detection_impl_win.h", "face_detection_provider_win.cc", "face_detection_provider_win.h", "text_detection_impl_win.cc", "text_detection_impl_win.h", ] } else { sources += [ "barcode_detection_provider_impl.cc", "barcode_detection_provider_impl.h", "face_detection_provider_impl.cc", "face_detection_provider_impl.h", "text_detection_impl.cc", ] } deps = [ "//mojo/public/cpp/bindings", "//ui/gfx", "//ui/gfx/geometry", ] public_deps = [ "//base", "//media/capture", "//services/service_manager/public/cpp", "//services/shape_detection/public/mojom", ] if (is_android) { deps += [ ":shape_detection_jni_headers" ] } } if (is_android) { generate_jni("shape_detection_jni_headers") { sources = [ "android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java", ] jni_package = "shape_detection" } android_library("shape_detection_java") { java_files = [ "android/java/src/org/chromium/shape_detection/BarcodeDetectionImpl.java", "android/java/src/org/chromium/shape_detection/BarcodeDetectionProviderImpl.java", "android/java/src/org/chromium/shape_detection/FaceDetectionImpl.java", "android/java/src/org/chromium/shape_detection/FaceDetectionImplGmsCore.java", "android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java", "android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java", "android/java/src/org/chromium/shape_detection/BitmapUtils.java", "android/java/src/org/chromium/shape_detection/TextDetectionImpl.java", ] deps = [ "$google_play_services_package:google_play_services_base_java", "$google_play_services_package:google_play_services_basement_java", "$google_play_services_package:google_play_services_vision_common_java", "$google_play_services_package:google_play_services_vision_java", "//base:base_java", "//mojo/public/java:base_java", "//mojo/public/java:bindings_java", "//mojo/public/java:system_java", "//mojo/public/java/system:system_impl_java", "//services/service_manager/public/java:service_manager_java", "//services/service_manager/public/mojom:mojom_java", "//services/shape_detection/public/mojom:mojom_java", "//skia/public/interfaces:interfaces_java", "//ui/gfx/geometry/mojo:mojo_java", ] } } service_manifest("manifest") { name = "shape_detection" source = "manifest.json" } source_set("tests") { testonly = true sources = [ "barcode_detection_impl_mac_unittest.mm", "face_detection_impl_mac_unittest.mm", "face_detection_impl_win_unittest.cc", "text_detection_impl_mac_unittest.mm", "text_detection_impl_win_unittest.cc", ] if (is_mac) { libs = [ "CoreFoundation.framework", "CoreGraphics.framework", "QuartzCore.framework", ] } deps = [ ":lib", "//base", "//base/test:test_support", "//skia", "//testing/gmock", "//testing/gtest", "//ui/gfx", "//ui/gl", ] data = [ "//services/test/data/mona_lisa.jpg", "//services/test/data/text_detection.png", "//services/test/data/the_beatles.jpg", ] }