blob: 891b3b5828a8d05647d74864131ac84ca215044e [file] [log] [blame]
Zane Shelleyf480b732020-06-11 10:05:16 -05001# See README.md for details.
Zane Shelley248cbf82019-05-03 17:07:18 -05002project('openpower-hw-diags', 'cpp',
3 version: '0.1', meson_version: '>=0.49.0',
4 default_options: [
5 'warning_level=3',
6 'werror=true',
Ben Tyner92e39fd2020-02-05 18:11:02 -06007 'cpp_std=c++17',
8 'cpp_args=-Wno-unused-parameter'
Zane Shelley248cbf82019-05-03 17:07:18 -05009 ])
10
Zane Shelleyf480b732020-06-11 10:05:16 -050011# First, look if the libhei library has already been built and installed. If
12# not, default to the subproject.
13libhei_dep = dependency('hei', fallback : ['libhei', 'libhei_dep'])
Ben Tyner92e39fd2020-02-05 18:11:02 -060014
Ben Tyner0205f3b2020-02-24 10:24:47 -060015incdir = include_directories('.')
16
Ben Tyner13683082020-06-25 12:49:47 -050017# See if phosphor-logging is available, if not use test case logging code. This
18# allows for local builds outside of CI test sandbox.
19h = 'phosphor-logging/log.hpp'
20cmplr = meson.get_compiler('cpp')
21if cmplr.compiles('#include <@0@>'.format(h), name : '#include <@0@>'.format(h))
22 test_arg = []
23 phosphor_logging = true
24else
25 test_arg = [
26 '-DTEST_TRACE',
27 ]
28 phosphor_logging = false
29endif
30
Ben Tyner0205f3b2020-02-24 10:24:47 -060031subdir('analyzer')
Ben Tyneref320152020-01-09 10:31:23 -060032subdir('attn')
Zane Shelley248cbf82019-05-03 17:07:18 -050033
Ben Tyner8c2f8b22020-03-27 10:39:31 -050034pthread = declare_dependency(link_args : '-pthread')
35lrt = declare_dependency(link_args : '-lrt')
36
Ben Tynerd3cda742020-05-04 08:00:28 -050037no_listener_mode = get_option('nlmode')
38
39if not no_listener_mode.disabled()
40 executable('openpower-hw-diags', 'main_nl.cpp', 'cli.cpp',
41 link_with : [analyzer, attn],
42 install : true)
43else
44 executable('openpower-hw-diags', 'main.cpp', 'cli.cpp', 'listener.cpp',
45 dependencies : [lrt, pthread],
46 link_with : [analyzer, attn],
Ben Tyner13683082020-06-25 12:49:47 -050047 cpp_args : test_arg,
Ben Tynerd3cda742020-05-04 08:00:28 -050048 install : true)
49endif
Ben Tyner0205f3b2020-02-24 10:24:47 -060050
Zane Shelley248cbf82019-05-03 17:07:18 -050051build_tests = get_option('tests')
52
53if not build_tests.disabled()
54 subdir('test')
55endif