summaryrefslogtreecommitdiff
path: root/modules/printbackends/meson.build
blob: 64d8a41974c7255e7b112d84b7f489cdf814800e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
print_backends = []

printbackends_subdir = 'gtk-4.0/@0@/printbackends'.format(gtk_binary_version)
printbackends_install_dir = join_paths(get_option('libdir'), printbackends_subdir)

printbackends_args = [
  '-DGTK_COMPILATION',
  '-DGTK_DISABLE_DEPRECATION_WARNINGS',
  '-DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED',
  '-D_GLIB_EXTERN=@0@'.format(visibility_define),
] + common_cflags

cups_dep = dependency('cups', version : '>=2.0', required: get_option('print-cups'))
if cups_dep.found()
  print_backends += 'cups'
  shared_module('printbackend-cups',
    sources: [
      'gtkprintbackendcups.c',
      'gtkprintercups.c',
      'gtkcupsutils.c',
      'gtkcupssecretsutils.c',
    ],
    c_args: printbackends_args,
    dependencies: [libgtk_dep, cups_dep, colord_dep],
    install_dir: printbackends_install_dir,
    install: true,
  )
else
  # Automatic fall-back to the lpr backend
  print_backends += 'lpr'
  shared_module('printbackend-lpr',
    sources: 'gtkprintbackendlpr.c',
    c_args: printbackends_args,
    dependencies: libgtk_dep,
    install_dir: printbackends_install_dir,
    install: true,
  )
endif

rest_dep = dependency('rest-0.7', required : get_option('print-cloudprint'))
json_glib_dep = dependency('json-glib-1.0', required : get_option('print-cloudprint'))
if rest_dep.found() and json_glib_dep.found()
  print_backends += 'cloudprint'
  shared_module('printbackend-cloudprint',
    sources: [
      'gtkprintbackendcloudprint.c',
      'gtkprintercloudprint.c',
      'gtkcloudprintaccount.c',
    ],
    c_args: printbackends_args,
    dependencies: [ libgtk_dep, rest_dep, json_glib_dep ],
    install_dir: printbackends_install_dir,
    install: true)
endif

# The 'file' print backend cannot be disabled
print_backends += 'file'
shared_module('printbackend-file',
  sources: 'gtkprintbackendfile.c',
  c_args: printbackends_args,
  dependencies: libgtk_dep,
  install_dir: printbackends_install_dir,
  install: true,
)

cdata.set_quoted('GTK_PRINT_BACKENDS', ','.join(print_backends))