1b59fd09eSSunnySrivastava1984project('vpd-manager',
2b59fd09eSSunnySrivastava1984        'cpp',
3*f6d541e8SSunnySrivastava1984        'c',
4b59fd09eSSunnySrivastava1984        default_options : ['cpp_std=c++17'],
5b59fd09eSSunnySrivastava1984        version : '1.0')
6b59fd09eSSunnySrivastava1984sdbusplus = dependency('sdbusplus')
7b59fd09eSSunnySrivastava1984phosphor_logging = dependency('phosphor-logging')
8b59fd09eSSunnySrivastava1984systemd = dependency('libsystemd', version : '>= 221')
9b59fd09eSSunnySrivastava1984phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces')
10b59fd09eSSunnySrivastava1984
11b59fd09eSSunnySrivastava1984compiler = meson.get_compiler('cpp')
12de3c60deSSunnySrivastava1984compiler.has_header('nlohmann/json.hpp')
13b59fd09eSSunnySrivastava1984
14b59fd09eSSunnySrivastava1984configure_file( output: 'config.h',
15b59fd09eSSunnySrivastava1984                        configuration: {
16b59fd09eSSunnySrivastava1984                        'BUSNAME' : '"' + get_option('BUSNAME') + '"',
17b59fd09eSSunnySrivastava1984                        'OBJPATH' : '"' + get_option('OBJPATH') + '"',
18b59fd09eSSunnySrivastava1984                        'IFACE' : '"' + get_option('IFACE') + '"',
19de3c60deSSunnySrivastava1984                        'INVENTORY_JSON' : '"' + get_option('INVENTORY_JSON') + '"'
20b59fd09eSSunnySrivastava1984                        }
21b59fd09eSSunnySrivastava1984                )
22b59fd09eSSunnySrivastava1984
23b59fd09eSSunnySrivastava1984configuration_inc = include_directories('.', '../')
24b59fd09eSSunnySrivastava1984
25b59fd09eSSunnySrivastava1984vpd_manager_SOURCES =[
26b59fd09eSSunnySrivastava1984                        'manager_main.cpp',
27b59fd09eSSunnySrivastava1984                        'manager.cpp',
28b59fd09eSSunnySrivastava1984                        'server.cpp',
2919be6d3dSSunnySrivastava1984                        'error.cpp',
30*f6d541e8SSunnySrivastava1984                        'editor_impl.cpp',
31*f6d541e8SSunnySrivastava1984                        '../impl.cpp',
32*f6d541e8SSunnySrivastava1984                        '../parser.cpp',
33*f6d541e8SSunnySrivastava1984                        '../utils.cpp',
34*f6d541e8SSunnySrivastava1984                        '../vpdecc/vpdecc.c'
35b59fd09eSSunnySrivastava1984                        ]
36b59fd09eSSunnySrivastava1984
37b59fd09eSSunnySrivastava1984vpd_manager_exe = executable('vpd-manager',
38b59fd09eSSunnySrivastava1984                                 vpd_manager_SOURCES,
39b59fd09eSSunnySrivastava1984                                 include_directories : configuration_inc,
40b59fd09eSSunnySrivastava1984                                 dependencies :[
41b59fd09eSSunnySrivastava1984                                                 sdbusplus,
42b59fd09eSSunnySrivastava1984                                                 phosphor_logging,
43b59fd09eSSunnySrivastava1984                                                 systemd,
44b59fd09eSSunnySrivastava1984                                                 phosphor_dbus_interfaces,
45b59fd09eSSunnySrivastava1984                                             ],
46b59fd09eSSunnySrivastava1984                              )
47