xref: /openbmc/phosphor-led-sysfs/meson.build (revision f4eb29da)
1project(
2    'phosphor-ledcontroller', 'cpp',
3    version : '1.0.0',
4    meson_version: '>=0.58.0',
5    default_options: [
6        'warning_level=3',
7        'werror=true',
8        'cpp_std=c++20',
9        'buildtype=debugoptimized'
10    ]
11)
12
13sdbusplus_dep = dependency('sdbusplus')
14phosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces')
15boost = dependency('boost', include_type: 'system')
16
17cxx = meson.get_compiler('cpp')
18if cxx.has_header('CLI/CLI.hpp')
19    cli11_dep = declare_dependency()
20else
21    cli11_dep = dependency('CLI11')
22endif
23
24deps = [
25    cli11_dep,
26    sdbusplus_dep,
27    phosphor_dbus_interfaces_dep,
28    boost,
29]
30
31udevdir = dependency('udev').get_variable('udevdir')
32install_data(['udev' / 'rules.d' / '70-leds.rules'], install_dir : udevdir / 'rules.d')
33
34systemd = dependency('systemd')
35install_data(['systemd' / 'system' / 'xyz.openbmc_project.led.controller@.service'],
36             install_dir: systemd.get_variable('systemdsystemunitdir')
37)
38
39sources = [
40    'controller.cpp',
41    'physical.cpp',
42    'sysfs.cpp',
43]
44
45executable(
46    'phosphor-ledcontroller',
47    sources,
48    implicit_include_directories: true,
49    dependencies: deps,
50    install: true,
51    install_dir: '/usr/libexec/phosphor-led-sysfs'
52)
53
54if get_option('tests').allowed()
55  subdir('test')
56endif
57