xref: /openbmc/phosphor-logging/lib/meson.build (revision 9fd25af597865f7e69bfb4f15338782370e61baa)
1phosphor_logging_includes = include_directories('include')
2
3event_filter_json = get_option('event-filter')
4if event_filter_json == ''
5    event_filter_json = default_eventfilter_json
6endif
7
8lg2_eventfilter_cpp_gen = custom_target(
9    'lg2_eventfilter.cpp',
10    input: [eventfilter_gen, template_eventfilter_gen, event_filter_json],
11    output: 'lg2_eventfilter.cpp',
12    command: [python_prog, '@INPUT0@', '@INPUT2@'],
13    capture: true,
14)
15
16phosphor_logging_gen = [lg2_eventfilter_cpp_gen]
17
18subdir('include/phosphor-logging')
19
20threads_dep = dependency('threads')
21
22phosphor_logging_deps = [libsystemd_dep, pdi_dep, sdbusplus_dep, threads_dep]
23
24phosphor_logging_lib = library(
25    'phosphor_logging',
26    'elog.cpp',
27    'lg2_commit.cpp',
28    'lg2_logger.cpp',
29    'sdjournal.cpp',
30    phosphor_logging_gen,
31    implicit_include_directories: false,
32    include_directories: phosphor_logging_includes,
33    dependencies: [phosphor_logging_deps, conf_h_dep],
34    version: meson.project_version(),
35    install: true,
36)
37
38phosphor_logging_reqs = []
39foreach dep : phosphor_logging_deps
40    if dep.type_name() == 'pkgconfig'
41        phosphor_logging_reqs += dep
42    endif
43endforeach
44
45import('pkgconfig').generate(
46    phosphor_logging_lib,
47    name: 'phosphor-logging',
48    version: meson.project_version(),
49    requires: phosphor_logging_reqs,
50    description: 'Phosphor logging utilities',
51)
52
53phosphor_logging_dep = declare_dependency(
54    include_directories: phosphor_logging_includes,
55    link_with: phosphor_logging_lib,
56    sources: phosphor_logging_gen,
57    dependencies: phosphor_logging_deps,
58)
59
60if meson.is_subproject()
61    phosphor_logging_dep = phosphor_logging_dep.as_system()
62endif
63