summaryrefslogtreecommitdiff
path: root/libgcab/meson.build
blob: 2b6f1d28bb15813bbb8249435986b700a723bda0 (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
cargs = [
  '-DG_LOG_DOMAIN="gcab"',
]

enum_headers = ['gcab-folder.h', 'gcab-file.h']
enums = gnome.mkenums(
  'gcab-enums',
  sources : enum_headers,
  c_template : 'gcab-enums.c.etemplate',
  h_template : 'gcab-enums.h.etemplate',
  install_header : true,
  install_dir : 'libgcab-1.0/libgcab',
  symbol_prefix : 'gcab',
  identifier_prefix : 'GCab',
)

install_headers([
    'gcab-cabinet.h',
    'gcab-file.h',
    'gcab-folder.h',
  ],
  subdir : 'libgcab-1.0/libgcab',
)

mapfile = '../libgcab.syms'
vflag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile)
libgcab = shared_library(
  'gcab-1.0',
  enums,
  sources : [
    'gcab-cabinet.c',
    'gcab-folder.c',
    'gcab-file.c',
    'cabinet.c',
    'decomp.c',
    'glib-compat.c',
  ],
  soversion : lt_current,
  version : lt_version,
  dependencies : [
    gio,
    libz,
  ],
  c_args : cargs,
  include_directories : [
    include_directories('.'),
    include_directories('..'),
  ],
  link_args : vflag,
  link_depends : mapfile,
  install : true
)

pkgg = import('pkgconfig')
pkgg.generate(
  libraries : libgcab,
  requires : [ 'gio-2.0' ],
  subdirs : 'libgcab-1.0',
  version : meson.project_version(),
  name : 'libgcab',
  filebase : 'libgcab-1.0',
  description : 'Cabinet file library',
)

if get_option('introspection')
  gir = gnome.generate_gir(libgcab,
    sources : [
      'gcab-cabinet.c',
      'gcab-cabinet.h',
      'gcab-folder.c',
      'gcab-folder.h',
      'gcab-file.c',
      'gcab-file.h',
    ],
    nsversion : '1.0',
    namespace : 'GCab',
    symbol_prefix : 'gcab',
    identifier_prefix : 'GCab',
    export_packages : 'libgcab',
    dependencies : [
      gio,
    ],
    includes : [
      'Gio-2.0',
      'GObject-2.0',
    ],
    install : true
  )
endif