xref: /openbmc/sdeventplus/src/meson.build (revision 9f2a21c3fbb7fe42ae70568c43fd3da20ee846f4)
1sdeventplus_deps = [
2    dependency('libsystemd', version: '>=240'),
3    dependency('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)
29
30sdeventplus_dep = declare_dependency(
31    dependencies: sdeventplus_deps,
32    include_directories: sdeventplus_headers,
33    link_with: sdeventplus_lib,
34)
35
36sdeventplus_reqs = []
37foreach dep : sdeventplus_deps
38    if dep.type_name() == 'pkgconfig'
39        sdeventplus_reqs += dep
40    endif
41endforeach
42
43import('pkgconfig').generate(
44    sdeventplus_lib,
45    description: 'C++ systemd event wrapper',
46    version: meson.project_version(),
47    requires: sdeventplus_reqs,
48)
49
50install_headers(
51    'sdeventplus/clock.hpp',
52    'sdeventplus/event.hpp',
53    'sdeventplus/exception.hpp',
54    'sdeventplus/types.hpp',
55    subdir: 'sdeventplus',
56)
57
58install_headers(
59    'sdeventplus/internal/sdevent.hpp',
60    subdir: 'sdeventplus/internal',
61)
62
63install_headers(
64    'sdeventplus/source/base.hpp',
65    'sdeventplus/source/child.hpp',
66    'sdeventplus/source/event.hpp',
67    'sdeventplus/source/io.hpp',
68    'sdeventplus/source/signal.hpp',
69    'sdeventplus/source/time.hpp',
70    subdir: 'sdeventplus/source',
71)
72
73install_headers('sdeventplus/test/sdevent.hpp', subdir: 'sdeventplus/test')
74
75install_headers(
76    'sdeventplus/utility/timer.hpp',
77    'sdeventplus/utility/sdbus.hpp',
78    subdir: 'sdeventplus/utility',
79)
80