# Copyright 2019 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")

assert(pdf_enable_xfa)

jumbo_source_set("layout") {
  sources = [
    "cxfa_contentlayoutitem.cpp",
    "cxfa_contentlayoutitem.h",
    "cxfa_contentlayoutprocessor.cpp",
    "cxfa_contentlayoutprocessor.h",
    "cxfa_layoutcontext.cpp",
    "cxfa_layoutcontext.h",
    "cxfa_layoutitem.cpp",
    "cxfa_layoutitem.h",
    "cxfa_layoutprocessor.cpp",
    "cxfa_layoutprocessor.h",
    "cxfa_traversestrategy_layoutitem.h",
    "cxfa_viewlayoutitem.cpp",
    "cxfa_viewlayoutitem.h",
    "cxfa_viewlayoutprocessor.cpp",
    "cxfa_viewlayoutprocessor.h",
  ]
  deps = [
    "../../../core/fxcrt",
    "../../../fxjs",
    "../parser",
  ]
  allow_circular_includes_from = [ "../../../fxjs" ]
  configs += [
    "../../../:pdfium_core_config",
    "../../:xfa_warnings",
  ]
  visibility = [ "../../../*" ]
}

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