xref: /openbmc/sdeventplus/src/meson.build (revision e68f5b51)
1sdeventplus_deps = [
2  dependency('libsystemd', version: '>=239'),
3  dependency('stdplus', fallback: ['stdplus', 'stdplus']),
4]
5
6sdeventplus_headers = include_directories('.')
7
8sdeventplus_lib = library(
9  'sdeventplus',
10  [
11    'sdeventplus/clock.cpp',
12    'sdeventplus/event.cpp',
13    'sdeventplus/exception.cpp',
14    'sdeventplus/internal/sdevent.cpp',
15    'sdeventplus/source/base.cpp',
16    'sdeventplus/source/child.cpp',
17    'sdeventplus/source/event.cpp',
18    'sdeventplus/source/io.cpp',
19    'sdeventplus/source/signal.cpp',
20    'sdeventplus/source/time.cpp',
21    'sdeventplus/utility/timer.cpp',
22  ],
23  include_directories: sdeventplus_headers,
24  implicit_include_directories: false,
25  version: meson.project_version(),
26  dependencies: sdeventplus_deps,
27  install: true)
28
29sdeventplus = declare_dependency(
30  dependencies: sdeventplus_deps,
31  include_directories: sdeventplus_headers,
32  link_with: sdeventplus_lib)
33
34sdeventplus_reqs = []
35foreach dep : sdeventplus_deps
36  if dep.type_name() == 'pkgconfig'
37	sdeventplus_reqs += dep
38  endif
39endforeach
40
41import('pkgconfig').generate(
42  name: 'sdeventplus',
43  description: 'C++ systemd event wrapper',
44  version: meson.project_version(),
45  libraries: sdeventplus,
46  requires: sdeventplus_reqs)
47
48install_headers(
49  'sdeventplus/clock.hpp',
50  'sdeventplus/event.hpp',
51  'sdeventplus/exception.hpp',
52  subdir: 'sdeventplus')
53
54install_headers(
55  'sdeventplus/internal/sdevent.hpp',
56  'sdeventplus/internal/utils.hpp',
57  subdir: 'sdeventplus/internal')
58
59install_headers(
60  'sdeventplus/source/base.hpp',
61  'sdeventplus/source/child.hpp',
62  'sdeventplus/source/event.hpp',
63  'sdeventplus/source/io.hpp',
64  'sdeventplus/source/signal.hpp',
65  'sdeventplus/source/time.hpp',
66  subdir: 'sdeventplus/source')
67
68install_headers(
69  'sdeventplus/test/sdevent.hpp',
70  subdir: 'sdeventplus/test')
71
72install_headers(
73  'sdeventplus/utility/timer.hpp',
74  subdir: 'sdeventplus/utility')
75