libx52/subprojects/pinelog/meson.build

60 lines
1.8 KiB
Meson

project('pinelog', 'C',
default_options: {'show-date': true, 'show-level': true, 'show-backtrace': true})
pinelog_cflags = [
'-DPINELOG_SHOW_DATE=@0@'.format(get_option('show-date').to_int()),
'-DPINELOG_SHOW_LEVEL=@0@'.format(get_option('show-level').to_int()),
'-DPINELOG_SHOW_BACKTRACE=@0@'.format(get_option('show-backtrace').to_int()),
]
libpinelog = static_library('pinelog', 'pinelog.c', c_args: pinelog_cflags)
libpinelog_inc = include_directories('.')
libpinelog_dep = declare_dependency(
include_directories: libpinelog_inc,
link_with: libpinelog
)
prog_class = ['bench', 'test']
date_class = ['nots', 'ts']
level_class = ['nolvl', 'lvl']
backtrace_class = ['notr', 'tr']
test_files = []
test_name_template = '@0@-@1@-@2@-@3@'
foreach test_type: ['bench', 'test']
test_src = test_type + '_pinelog.c'
foreach date_arg: [0, 1]
date_def = '-DPINELOG_SHOW_DATE=' + date_arg.to_string()
date_name = date_arg == 1 ? 'ts' : 'nots'
foreach level_arg: [0, 1]
level_def = '-DPINELOG_SHOW_LEVEL=' + level_arg.to_string()
level_name = level_arg == 1 ? 'lvl' : 'nolvl'
foreach backtrace_arg: [0, 1]
backtrace_def = '-DPINELOG_SHOW_BACKTRACE=' + backtrace_arg.to_string()
backtrace_name = backtrace_arg == 1 ? 'tr' : 'notr'
test_name = test_name_template.format(test_type,
date_name, level_name, backtrace_name)
test_exe = executable(test_name, test_src, 'pinelog.c',
c_args: [
'-DPINELOG_FATAL_STR="F"',
'-DPINELOG_ERROR_STR="E"',
'-DPINELOG_WARNING_STR="W"',
'-DPINELOG_INFO_STR="I"',
'-DPINELOG_DEBUG_STR="D"',
'-DPINELOG_TRACE_STR="T"',
'-DPINELOG_DEFAULT_LEVEL=PINELOG_LVL_TRACE',
'-DPINELOG_DEFAULT_STREAM=stderr',
'-DPINELOG_TEST',
date_def, level_def, backtrace_def
])
test(test_name, test_exe, protocol: 'tap')
endforeach
endforeach
endforeach
endforeach