# Copyright 2014 PDFium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

group("samples") {
  deps = [
    ":pdfium_test",
  ]
}

config("pdfium_samples_config") {
  defines = [
    "PNG_PREFIX",
    "PNGPREFIX_H",
    "PNG_USE_READ_MACROS",
  ]
}

executable("pdfium_test") {
  sources = [
    "image_diff_png.cc",
    "pdfium_test.cc",
  ]
  deps = [
    "//third_party/pdfium",
    "//v8:v8_libplatform",
  ]
  include_dirs = [
    "//v8",
    "//v8/include",
  ]
  configs += [ ":pdfium_samples_config" ]
}

executable("pdfium_diff") {
  sources = [
    "image_diff.cc",
    "image_diff_png.cc",
    "image_diff_png.h",
  ]
  deps = [
    "//third_party/pdfium",
  ]
  configs += [ ":pdfium_samples_config" ]
}
