xref: /aosp_15_r20/external/pdfium/samples/BUILD.gn (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1*3ac0a46fSAndroid Build Coastguard Worker# Copyright 2014 The PDFium Authors
2*3ac0a46fSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*3ac0a46fSAndroid Build Coastguard Worker# found in the LICENSE file.
4*3ac0a46fSAndroid Build Coastguard Worker
5*3ac0a46fSAndroid Build Coastguard Workerimport("//build/config/sanitizers/sanitizers.gni")
6*3ac0a46fSAndroid Build Coastguard Workerimport("../pdfium.gni")
7*3ac0a46fSAndroid Build Coastguard Worker
8*3ac0a46fSAndroid Build Coastguard Workergroup("samples") {
9*3ac0a46fSAndroid Build Coastguard Worker  testonly = true
10*3ac0a46fSAndroid Build Coastguard Worker  deps = [ ":pdfium_test" ]
11*3ac0a46fSAndroid Build Coastguard Worker}
12*3ac0a46fSAndroid Build Coastguard Worker
13*3ac0a46fSAndroid Build Coastguard Workerconfig("pdfium_samples_config") {
14*3ac0a46fSAndroid Build Coastguard Worker  cflags = []
15*3ac0a46fSAndroid Build Coastguard Worker  ldflags = []
16*3ac0a46fSAndroid Build Coastguard Worker  defines = []
17*3ac0a46fSAndroid Build Coastguard Worker  include_dirs = [ ".." ]
18*3ac0a46fSAndroid Build Coastguard Worker  if (pdf_use_skia) {
19*3ac0a46fSAndroid Build Coastguard Worker    defines += [ "PDF_ENABLE_SKIA" ]
20*3ac0a46fSAndroid Build Coastguard Worker  }
21*3ac0a46fSAndroid Build Coastguard Worker  if (is_asan) {
22*3ac0a46fSAndroid Build Coastguard Worker    defines += [ "PDF_ENABLE_ASAN" ]
23*3ac0a46fSAndroid Build Coastguard Worker  }
24*3ac0a46fSAndroid Build Coastguard Worker  if (pdf_use_partition_alloc) {
25*3ac0a46fSAndroid Build Coastguard Worker    defines += [ "PDF_USE_PARTITION_ALLOC" ]
26*3ac0a46fSAndroid Build Coastguard Worker  }
27*3ac0a46fSAndroid Build Coastguard Worker  if (enable_callgrind) {
28*3ac0a46fSAndroid Build Coastguard Worker    defines += [ "ENABLE_CALLGRIND" ]
29*3ac0a46fSAndroid Build Coastguard Worker  }
30*3ac0a46fSAndroid Build Coastguard Worker  if (build_with_chromium) {
31*3ac0a46fSAndroid Build Coastguard Worker    defines += [ "BUILD_WITH_CHROMIUM" ]
32*3ac0a46fSAndroid Build Coastguard Worker  }
33*3ac0a46fSAndroid Build Coastguard Worker}
34*3ac0a46fSAndroid Build Coastguard Worker
35*3ac0a46fSAndroid Build Coastguard Workerexecutable("pdfium_test") {
36*3ac0a46fSAndroid Build Coastguard Worker  testonly = true
37*3ac0a46fSAndroid Build Coastguard Worker  sources = [
38*3ac0a46fSAndroid Build Coastguard Worker    "helpers/dump.cc",
39*3ac0a46fSAndroid Build Coastguard Worker    "helpers/dump.h",
40*3ac0a46fSAndroid Build Coastguard Worker    "helpers/event.cc",
41*3ac0a46fSAndroid Build Coastguard Worker    "helpers/event.h",
42*3ac0a46fSAndroid Build Coastguard Worker    "helpers/page_renderer.cc",
43*3ac0a46fSAndroid Build Coastguard Worker    "helpers/page_renderer.h",
44*3ac0a46fSAndroid Build Coastguard Worker    "helpers/write.cc",
45*3ac0a46fSAndroid Build Coastguard Worker    "helpers/write.h",
46*3ac0a46fSAndroid Build Coastguard Worker    "pdfium_test.cc",
47*3ac0a46fSAndroid Build Coastguard Worker  ]
48*3ac0a46fSAndroid Build Coastguard Worker
49*3ac0a46fSAndroid Build Coastguard Worker  # Note: One should write programs that depend on ../:pdfium. Whereas this
50*3ac0a46fSAndroid Build Coastguard Worker  # sample program does not set a good example, and depends on PDFium internals,
51*3ac0a46fSAndroid Build Coastguard Worker  # as well as test support code, for convenience.
52*3ac0a46fSAndroid Build Coastguard Worker  deps = [
53*3ac0a46fSAndroid Build Coastguard Worker    "../:pdfium_public_headers",
54*3ac0a46fSAndroid Build Coastguard Worker    "../fpdfsdk",
55*3ac0a46fSAndroid Build Coastguard Worker    "../testing:test_support",
56*3ac0a46fSAndroid Build Coastguard Worker    "../testing/image_diff",
57*3ac0a46fSAndroid Build Coastguard Worker    "../third_party:pdfium_base",
58*3ac0a46fSAndroid Build Coastguard Worker    "//build/win:default_exe_manifest",
59*3ac0a46fSAndroid Build Coastguard Worker  ]
60*3ac0a46fSAndroid Build Coastguard Worker  configs += [ ":pdfium_samples_config" ]
61*3ac0a46fSAndroid Build Coastguard Worker
62*3ac0a46fSAndroid Build Coastguard Worker  if (is_win) {
63*3ac0a46fSAndroid Build Coastguard Worker    sources += [
64*3ac0a46fSAndroid Build Coastguard Worker      "helpers/win32/com_factory.cc",
65*3ac0a46fSAndroid Build Coastguard Worker      "helpers/win32/com_factory.h",
66*3ac0a46fSAndroid Build Coastguard Worker    ]
67*3ac0a46fSAndroid Build Coastguard Worker  }
68*3ac0a46fSAndroid Build Coastguard Worker
69*3ac0a46fSAndroid Build Coastguard Worker  if (pdf_enable_v8) {
70*3ac0a46fSAndroid Build Coastguard Worker    deps += [
71*3ac0a46fSAndroid Build Coastguard Worker      "//v8:v8_headers",
72*3ac0a46fSAndroid Build Coastguard Worker      "//v8:v8_libplatform",
73*3ac0a46fSAndroid Build Coastguard Worker    ]
74*3ac0a46fSAndroid Build Coastguard Worker    include_dirs = [ "//v8" ]
75*3ac0a46fSAndroid Build Coastguard Worker    configs += [ "//v8:external_startup_data" ]
76*3ac0a46fSAndroid Build Coastguard Worker  }
77*3ac0a46fSAndroid Build Coastguard Worker  if (pdf_use_skia) {
78*3ac0a46fSAndroid Build Coastguard Worker    deps += [ "//skia" ]
79*3ac0a46fSAndroid Build Coastguard Worker    if (build_with_chromium) {
80*3ac0a46fSAndroid Build Coastguard Worker      sources += [
81*3ac0a46fSAndroid Build Coastguard Worker        "chromium_support/discardable_memory_allocator.cc",
82*3ac0a46fSAndroid Build Coastguard Worker        "chromium_support/discardable_memory_allocator.h",
83*3ac0a46fSAndroid Build Coastguard Worker      ]
84*3ac0a46fSAndroid Build Coastguard Worker      deps += [ "//base/test:test_support" ]
85*3ac0a46fSAndroid Build Coastguard Worker    }
86*3ac0a46fSAndroid Build Coastguard Worker  }
87*3ac0a46fSAndroid Build Coastguard Worker}
88