blob: 63fae3daa8820e241e8001cdba4cc73d05906079 [file] [log] [blame]
William A. Kennington III42506392021-04-22 15:19:54 -07001watchdog_headers = include_directories('.')
2
3# CLI11 might not have a pkg-config. It is header only so just make
4# sure we can access the needed symbols from the header.
5cli11_dep = dependency('cli11', required: false)
6has_cli11 = meson.get_compiler('cpp').has_header_symbol(
7 'CLI/CLI.hpp',
8 'CLI::App',
9 dependencies: cli11_dep,
10 required: false)
11if not has_cli11
12 cli11_proj = subproject('cli11', required: false)
13 assert(cli11_proj.found(), 'CLI11 is required')
14 cli11_dep = cli11_proj.get_variable('CLI11_dep')
15endif
16
17watchdog_deps = [
18 cli11_dep,
19 dependency('phosphor-dbus-interfaces'),
20 dependency('phosphor-logging'),
21 dependency('sdbusplus', fallback: ['sdbusplus', 'sdbusplus_dep']),
22 dependency('sdeventplus', fallback: ['sdeventplus', 'sdeventplus_dep']),
23]
24
25watchdog_lib = static_library(
26 'watchdog',
27 'watchdog.cpp',
28 implicit_include_directories: false,
29 include_directories: watchdog_headers,
30 dependencies: watchdog_deps)
31
32watchdog_dep = declare_dependency(
33 dependencies: watchdog_deps,
34 include_directories: watchdog_headers,
35 link_with: watchdog_lib)
36
37executable(
38 'phosphor-watchdog',
39 'mainapp.cpp',
40 implicit_include_directories: false,
41 dependencies: watchdog_dep,
42 install: true,
43 install_dir: get_option('bindir'))