blob: c1cc9b81553cd0cd9915ea6c9893732cdf0370a3 [file] [log] [blame]
Jason M. Bills6199ccf2021-10-21 14:48:59 -07001project(
2 'power-control',
3 'cpp',
4 default_options: [
5 'warning_level=3',
Jason M. Bills48c94c52021-10-19 14:36:14 -07006 'cpp_std=c++20'
Jason M. Bills6199ccf2021-10-21 14:48:59 -07007 ],
8 license: 'Apache-2.0',
9 version: '0.1',
10 meson_version: '>=0.57.0',
11)
12
13add_project_arguments(
14 '-Wno-psabi',
15 '-DBOOST_SYSTEM_NO_DEPRECATED',
16 '-DBOOST_ERROR_CODE_HEADER_ONLY',
17 '-DBOOST_NO_RTTI',
18 '-DBOOST_NO_TYPEID',
19 '-DBOOST_ALL_NO_LIB',
20 '-DBOOST_ASIO_DISABLE_THREADS',
21 language: 'cpp',
22)
23
24cpp_args = []
25
26if get_option('chassis-system-reset').enabled()
27 cpp_args += '-DCHASSIS_SYSTEM_RESET'
28endif
29if get_option('use-plt-rst').enabled()
30 cpp_args += '-DUSE_PLT_RST'
31endif
Andrei Kartashev99e8f9d2022-01-09 12:15:05 +030032if get_option('use-acboot').enabled()
33 cpp_args += '-DUSE_ACBOOT'
34endif
Jason M. Bills6199ccf2021-10-21 14:48:59 -070035
36deps = [
37 dependency('libgpiodcxx', fallback: ['libgpiod', 'gpiodcxx_dep'], default_options: ['bindings=cxx']),
38 dependency('systemd'),
39 dependency('sdbusplus', fallback: ['sdbusplus', 'sdbusplus_dep']),
Jason M. Billsc46ebb42021-11-10 11:41:31 -080040 dependency('phosphor-logging', fallback: ['phosphor-logging', 'phosphor_logging_dep']),
41
Jason M. Bills6199ccf2021-10-21 14:48:59 -070042]
43
44executable(
45 'power-control',
46 'src/power_control.cpp',
Andrei Kartashev50fe8ee2022-01-04 21:24:22 +030047 include_directories: include_directories('src'),
Jason M. Bills6199ccf2021-10-21 14:48:59 -070048 cpp_args: cpp_args,
49 dependencies: deps,
50 install: true,
51 install_dir: get_option('bindir'))
52
53systemd = dependency('systemd')
54if systemd.found()
55 install_data(
56 'service_files/chassis-system-reset.service',
57 'service_files/chassis-system-reset.target',
58 'service_files/xyz.openbmc_project.Chassis.Control.Power@.service',
59 install_dir: systemd.get_variable(pkgconfig: 'systemdsystemunitdir'))
60endif
61
62install_data(
63 'config/power-config-host0.json',
Andrei Kartashev50fe8ee2022-01-04 21:24:22 +030064 install_dir: '/usr/share/x86-power-control/')