blob: 2d4dd9119f06df3393f2373222b71b9966f51755 [file] [log] [blame]
George Liuc7d70b62021-05-17 16:02:18 +08001project(
2 'phosphor-ledcontroller', 'cpp',
3 version : '1.0.0',
Patrick Williams3778f8e2023-04-12 08:01:18 -05004 meson_version: '>=0.58.0',
George Liuc7d70b62021-05-17 16:02:18 +08005 default_options: [
6 'warning_level=3',
7 'werror=true',
8 'cpp_std=c++20',
9 'buildtype=debugoptimized'
10 ]
11)
12
George Liu3c894262021-12-28 10:32:49 +080013sdbusplus_dep = dependency('sdbusplus')
14phosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces')
Andrew Jefferyebc30b72023-02-06 14:19:16 +103015boost = dependency('boost', include_type: 'system')
George Liueaa1c892023-08-03 16:19:51 +080016
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
George Liuc7d70b62021-05-17 16:02:18 +080024deps = [
George Liueaa1c892023-08-03 16:19:51 +080025 cli11_dep,
George Liuc7d70b62021-05-17 16:02:18 +080026 sdbusplus_dep,
27 phosphor_dbus_interfaces_dep,
Andrew Jefferyebc30b72023-02-06 14:19:16 +103028 boost,
George Liuc7d70b62021-05-17 16:02:18 +080029]
30
Patrick Williams3778f8e2023-04-12 08:01:18 -050031udevdir = dependency('udev').get_variable('udevdir')
Andrew Jefferyd32dd3f2023-02-03 11:11:04 +103032install_data(['udev' / 'rules.d' / '70-leds.rules'], install_dir : udevdir / 'rules.d')
Jayashree Dhanapal3930b6b2022-09-20 17:08:15 +053033
34systemd = dependency('systemd')
Andrew Jeffery97ca7872023-02-07 10:52:42 +103035install_data(['systemd' / 'system' / 'xyz.openbmc_project.led.controller@.service'],
Patrick Williams3778f8e2023-04-12 08:01:18 -050036 install_dir: systemd.get_variable('systemdsystemunitdir')
Jayashree Dhanapal3930b6b2022-09-20 17:08:15 +053037)
38
George Liuc7d70b62021-05-17 16:02:18 +080039sources = [
George Liuc7d70b62021-05-17 16:02:18 +080040 '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,
Jayashree Dhanapal3930b6b2022-09-20 17:08:15 +053051 install_dir: '/usr/libexec/phosphor-led-sysfs'
George Liuc7d70b62021-05-17 16:02:18 +080052)
53
54build_tests = get_option('tests')
55if build_tests.enabled()
56 subdir('test')
57endif