# Copyright 2019 The Chromium OS 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("//common-mk/pkg_config.gni")

group("all") {
  deps = [
    ":media_v4l2_is_capture_device",
    ":media_v4l2_test",
  ]
}

executable("media_v4l2_is_capture_device") {
  sources = [
    "media_v4l2_device.cc",
    "media_v4l2_is_capture_device.cc",
  ]
  configs += [ "//camera/build:cros_camera_common" ]
}

executable("media_v4l2_test") {
  sources = [
    "//camera/hal/usb/camera_characteristics.cc",
    "media_v4l2_device.cc",
    "media_v4l2_test.cc",
  ]

  configs += [
    "//common-mk:test",
    "//camera/build:cros_camera_common",
  ]

  pkg_deps = [
    "libbrillo",
    "libchrome",
    "libcros_config",
    "libyuv",
    "re2",
  ]
}
