blob: 4aedd8117b857f2f601b602d49e020f391052e8f [file] [log] [blame]
Willy Tue39f9392022-06-15 13:24:20 -07001project(
2 'fb-ipmi-oem',
3 'cpp',
4 version: '0.1',
5 meson_version: '>=0.57.0',
6 default_options: [
7 'werror=true',
8 'warning_level=3',
9 'cpp_std=c++20',
10 ])
11
12# Project Arguments
13cpp = meson.get_compiler('cpp')
14add_project_arguments(
15 cpp.get_supported_arguments([
16 '-DBOOST_ERROR_CODE_HEADER_ONLY',
17 '-DBOOST_SYSTEM_NO_DEPRECATED',
18 '-DBOOST_ALL_NO_LIB',
19 '-DBOOST_NO_RTTI',
20 '-DBOOST_NO_TYPEID',
21 '-DBOOST_ASIO_DISABLE_THREADS',
22 '-DBOOST_COROUTINES_NO_DEPRECATION_WARNING',
23 '-Wno-psabi',
24 '-Wno-pedantic',
25 ]),
26 language : 'cpp')
27
28host_instances = '0'
29if get_option('host-instances') != ''
30 host_instances = get_option('host-instances')
31endif
32
Jayashree Dhanapal4ec80562022-06-28 15:41:47 +053033conf_data = configuration_data()
34conf_data.set_quoted('INSTANCES',host_instances)
35
36configure_file(input: 'meson_config.h.in',
37 output: 'config.h',
38 configuration: conf_data)
Willy Tue39f9392022-06-15 13:24:20 -070039
40if not get_option('bic').disabled()
41 add_project_arguments(
42 cpp.get_supported_arguments([
43 '-DBIC_ENABLED',
44 ]),
45 language : 'cpp')
46endif
47
48root_inc = include_directories('.', 'include')
49
50# Dependencies
51phosphor_logging_dep = dependency('phosphor-logging')
52sdbusplus_dep = dependency('sdbusplus', required : false, include_type: 'system')
53ipmid_dep = dependency('libipmid')
54channellayer_dep = cpp.find_library('channellayer', required: true)
55userlayer_dep = cpp.find_library('userlayer', required: true)
56
57zfboemcmds_pre = declare_dependency(
58 include_directories: root_inc,
59 dependencies: [
60 phosphor_logging_dep,
61 sdbusplus_dep,
62 ipmid_dep,
63 channellayer_dep,
64 userlayer_dep,
65 ])
66
Patrick Williams17bd2ea2022-06-24 16:44:51 -050067zfboemcmds_lib = library(
Willy Tue39f9392022-06-15 13:24:20 -070068 'zfboemcmds',
69 'src/oemcommands.cpp',
70 'src/appcommands.cpp',
71 'src/storagecommands.cpp',
72 'src/usb-dbg.cpp',
73 'src/selcommands.cpp',
74 'src/transportcommands.cpp',
75 'src/biccommands.cpp',
76 implicit_include_directories: false,
77 dependencies: zfboemcmds_pre,
Patrick Williams17bd2ea2022-06-24 16:44:51 -050078 version: meson.project_version(),
79 override_options: ['b_lundef=false'],
Willy Tue39f9392022-06-15 13:24:20 -070080 install: true,
81 install_dir: get_option('libdir') / 'ipmid-providers')
Karthikeyan Pasupathi3048dd52022-06-30 21:51:11 +053082
83if get_option('machine') != ''
84 configfile = [
85 'cri_sensors.json',
86 'gpio_desc.json',
87 'post_desc.json'
88 ]
89 foreach c : configfile
90 file = join_paths(get_option('machine'), c)
91 install_data(
92 sources : file,
93 install_dir : get_option('datadir') / 'lcd-debug' )
94 endforeach
95endif