# Copyright 2018 The 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.

import("//build/config/jumbo.gni")
import("../../../pdfium.gni")
import("../../../testing/test.gni")

jumbo_source_set("edit") {
  sources = [
    "cpdf_creator.cpp",
    "cpdf_creator.h",
    "cpdf_encryptor.cpp",
    "cpdf_encryptor.h",
    "cpdf_flateencoder.cpp",
    "cpdf_flateencoder.h",
    "cpdf_pagecontentgenerator.cpp",
    "cpdf_pagecontentgenerator.h",
    "cpdf_pagecontentmanager.cpp",
    "cpdf_pagecontentmanager.h",
    "cpdf_stringarchivestream.cpp",
    "cpdf_stringarchivestream.h",
  ]
  configs += [ "../../../:pdfium_core_config" ]
  deps = [
    "../../../constants",
    "../../../third_party:skia_shared",
    "../../fxcrt",
    "../font",
    "../page",
    "../parser",
  ]
  allow_circular_includes_from = [ "../parser" ]
  visibility = [ "../../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cpdf_pagecontentgenerator_unittest.cpp",
  ]
  deps = [
    ":edit",
    "../",
    "../font",
    "../page",
    "../parser",
  ]
  pdfium_root_dir = "../../../"
}

pdfium_embeddertest_source_set("embeddertests") {
  sources = [
    "cpdf_creator_embeddertest.cpp",
  ]
  pdfium_root_dir = "../../../"
}
