blob: ba7f23af79ef873692ad2af320fd67008b21442f [file] [log] [blame]
Lei YUe065f612019-07-30 14:10:52 +08001project('phosphor-psu-code-mgmt', 'cpp',
Patrick Williams81312192023-07-12 11:15:35 -05002 version: '0.1', meson_version: '>=1.1.1',
Lei YUe065f612019-07-30 14:10:52 +08003 default_options: [
4 'warning_level=3',
5 'werror=true',
Patrick Williams81312192023-07-12 11:15:35 -05006 'cpp_std=c++23',
Lei YU01539e72019-07-31 10:57:38 +08007 'b_lto=true',
Patrick Williams9ca9a222021-10-06 15:39:33 -05008 ],
Patrick Williams81312192023-07-12 11:15:35 -05009 meson_version: '>=1.1.1',
Patrick Williams9ca9a222021-10-06 15:39:33 -050010 )
Lei YUe065f612019-07-30 14:10:52 +080011
12systemd = dependency('systemd')
Patrick Williams200adf82023-04-12 08:01:16 -050013servicedir = systemd.get_variable('systemdsystemunitdir')
Lei YU617c0b72020-02-10 16:11:47 +080014subdir('services')
Lei YUe065f612019-07-30 14:10:52 +080015
Lei YU5e0dcb32019-08-02 18:04:34 +080016# Common configurations for src and test
17cdata = configuration_data()
Lei YUad90ad52019-08-06 11:19:28 +080018cdata.set_quoted('ITEM_IFACE', 'xyz.openbmc_project.Inventory.Item')
Lei YU9edb7332019-09-19 14:46:19 +080019cdata.set_quoted('ASSET_IFACE', 'xyz.openbmc_project.Inventory.Decorator.Asset')
Lei YU5e0dcb32019-08-02 18:04:34 +080020cdata.set_quoted('VERSION_IFACE', 'xyz.openbmc_project.Software.Version')
21cdata.set_quoted('FILEPATH_IFACE', 'xyz.openbmc_project.Common.FilePath')
22cdata.set_quoted('BUSNAME_UPDATER', 'xyz.openbmc_project.Software.Psu.Updater')
23cdata.set_quoted('PSU_INVENTORY_IFACE', 'xyz.openbmc_project.Inventory.Item.PowerSupply')
24cdata.set_quoted('ACTIVATION_FWD_ASSOCIATION', 'inventory')
25cdata.set_quoted('ACTIVATION_REV_ASSOCIATION', 'activation')
26cdata.set_quoted('ACTIVE_FWD_ASSOCIATION', 'active')
27cdata.set_quoted('ACTIVE_REV_ASSOCIATION', 'software_version')
28cdata.set_quoted('FUNCTIONAL_FWD_ASSOCIATION', 'functional')
29cdata.set_quoted('FUNCTIONAL_REV_ASSOCIATION', 'software_version')
Lei YUa8b966f2020-03-18 10:32:24 +080030cdata.set_quoted('UPDATEABLE_FWD_ASSOCIATION', 'updateable')
31cdata.set_quoted('UPDATEABLE_REV_ASSOCIATION', 'software_version')
Lei YUf77189f2019-08-07 14:26:30 +080032cdata.set_quoted('VERSION', 'Version')
33cdata.set_quoted('PRESENT', 'Present')
Lei YU9edb7332019-09-19 14:46:19 +080034cdata.set_quoted('MANUFACTURER', 'Manufacturer')
35cdata.set_quoted('MODEL', 'Model')
Lei YU5e0dcb32019-08-02 18:04:34 +080036
37cdata.set_quoted('SOFTWARE_OBJPATH', get_option('SOFTWARE_OBJPATH'))
38cdata.set_quoted('MANIFEST_FILE', get_option('MANIFEST_FILE'))
39cdata.set_quoted('PSU_INVENTORY_PATH_BASE', get_option('PSU_INVENTORY_PATH_BASE'))
Lei YU5f3584d2019-08-27 16:28:53 +080040cdata.set_quoted('PSU_VERSION_UTIL', get_option('PSU_VERSION_UTIL'))
Lei YU65207482019-10-11 16:39:36 +080041cdata.set_quoted('PSU_VERSION_COMPARE_UTIL', get_option('PSU_VERSION_COMPARE_UTIL'))
Lei YU12c9f4c2019-09-11 15:08:15 +080042cdata.set_quoted('PSU_UPDATE_SERVICE', get_option('PSU_UPDATE_SERVICE'))
43cdata.set_quoted('IMG_DIR', get_option('IMG_DIR'))
Lei YU2e0e2de2019-09-26 16:42:23 +080044cdata.set_quoted('IMG_DIR_PERSIST', get_option('IMG_DIR_PERSIST'))
45cdata.set_quoted('IMG_DIR_BUILTIN', get_option('IMG_DIR_BUILTIN'))
Lei YU5e0dcb32019-08-02 18:04:34 +080046
47phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces')
48phosphor_logging = dependency('phosphor-logging')
49sdbusplus = dependency('sdbusplus')
Lei YUad90ad52019-08-06 11:19:28 +080050ssl = dependency('openssl')
Lei YU5e0dcb32019-08-02 18:04:34 +080051
Lei YUe065f612019-07-30 14:10:52 +080052subdir('src')
Lei YU5e0dcb32019-08-02 18:04:34 +080053
54build_tests = get_option('tests')
Lei YU5f3584d2019-08-27 16:28:53 +080055build_examples = get_option('examples')
56
57if build_examples
58 subdir('vendor-example')
59endif
Lei YU5e0dcb32019-08-02 18:04:34 +080060
61if not build_tests.disabled()
62 subdir('test')
63endif