summaryrefslogtreecommitdiff
path: root/rest/meson.build
blob: 7bf733879b04b8e031786e0cab5a1c95e494d2d8 (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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
librest_enums = gnome.mkenums_simple('rest-enum-types',
  sources: [ 'rest-proxy.h', 'rest-proxy-call.h' ],
  install_header: true,
  install_dir: get_option('includedir') / librest_pkg_string / 'rest',
)

librest_marshal = gnome.genmarshal('rest-marshal',
  sources: 'rest-marshal.txt',
)

librest_sources = [
  'rest-param.c',
  'rest-params.c',
  'rest-proxy.c',
  'rest-proxy-auth.c',
  'rest-proxy-call.c',
  'rest-xml-node.c',
  'rest-xml-parser.c',
  'rest-main.c',
  'oauth-proxy.c',
  'oauth-proxy-call.c',
  'oauth2-proxy.c',
  'oauth2-proxy-call.c',
  'sha1.c',

  librest_enums,
  librest_marshal,
]

librest_headers = [
  'oauth-proxy-call.h',
  'oauth-proxy.h',
  'oauth2-proxy-call.h',
  'oauth2-proxy.h',
  'rest-param.h',
  'rest-params.h',
  'rest-proxy-auth.h',
  'rest-proxy-call.h',
  'rest-proxy.h',
  'rest-xml-node.h',
  'rest-xml-parser.h',
]

librest_deps = [
  glib_dep,
  libsoup_dep,
  libxml_dep,
]

librest_c_args = [
  '-DG_LOG_DOMAIN="Rest"',
]

librest_lib = library('rest-@0@'.format(librest_api_version),
  librest_sources,
  dependencies: librest_deps,
  c_args: librest_c_args,
  include_directories: config_h_inc,
  version: librest_module_version,
  soversion: librest_soversion,
  install: true,
)

install_headers(librest_headers,
  subdir: librest_pkg_string / 'rest',
)

# GObject Introspection
if get_option('introspection')
  librest_gir_extra_args = [
    '--accept-unprefixed',
    '--c-include=rest/rest-enum-types.h',
  ]

  foreach header : librest_headers
    librest_gir_extra_args += '--c-include=rest/@0@'.format(header)
  endforeach

  librest_gir = gnome.generate_gir(librest_lib,
    sources: [ librest_headers, librest_enums[1] ],
    namespace: 'Rest',
    nsversion: librest_api_version,
    includes: [ 'GObject-2.0', 'Gio-2.0', 'Soup-2.4' ],
    extra_args: librest_gir_extra_args,
    install: true,
  )
endif

librest_dep = declare_dependency(
  link_with: librest_lib,
)

# Test suite
test_runner_c_args = [
  '-DBUILD_TESTS',
]

test_runner_bin = executable('test-runner',
  [ 'test-runner.c', librest_sources ],
  dependencies: librest_deps,
  c_args: test_runner_c_args,
  include_directories: config_h_inc,
)

test('test-runner', test_runner_bin,
  suite: 'rest',
)