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

import("../../pdfium.gni")
import("../../testing/test.gni")

source_set("fdrm") {
  sources = [
    "fx_crypt.cpp",
    "fx_crypt.h",
    "fx_crypt_aes.cpp",
    "fx_crypt_aes.h",
    "fx_crypt_sha.cpp",
    "fx_crypt_sha.h",
  ]
  configs += [
    "../../:pdfium_strict_config",
    "../../:pdfium_noshorten_config",
  ]
  deps = [ "../fxcrt" ]
  visibility = [ "../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [ "fx_crypt_unittest.cpp" ]
  deps = [ ":fdrm" ]
  pdfium_root_dir = "../../"
}
