blob: 840f4eaf130c1a991e049383405073dcf2e39333 [file] [log] [blame]
George Liuc7d70b62021-05-17 16:02:18 +08001project(
2 'phosphor-ledcontroller', 'cpp',
3 version : '1.0.0',
Patrick Williams2b50fa62023-07-17 10:07:11 -05004 meson_version: '>=1.1.1',
George Liuc7d70b62021-05-17 16:02:18 +08005 default_options: [
6 'warning_level=3',
7 'werror=true',
Patrick Williams2b50fa62023-07-17 10:07:11 -05008 'cpp_std=c++23',
George Liuc7d70b62021-05-17 16:02:18 +08009 '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
George Liuf4eb29d2023-08-07 19:49:21 +080054if get_option('tests').allowed()
George Liuc7d70b62021-05-17 16:02:18 +080055 subdir('test')
56endif