aboutsummaryrefslogtreecommitdiff
path: root/plugins/smolblok_hostlist/meson.build
blob: c9ff303dcd1629ed1839b5c830adc244c064165d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
lib_hostlistfilter = static_library('hostlistfilter',
  [ 'filterlist.cpp' ],
  include_directories: smolbote_interfaces,
  dependencies: [dep_qt5]
)

dep_hostlistfilter = declare_dependency(
  include_directories: [ '.', smolbote_interfaces ],
  link_with: lib_hostlistfilter
)

# plugin
plugin = shared_library('smolblokHostlistPlugin',
  [ 'plugin/plugin.cpp',
    mod_qt5.preprocess(include_directories: smolbote_interfaces, moc_headers: 'plugin/plugin.h', dependencies: dep_qt5) ],
  include_directories: smolbote_interfaces,
  dependencies: [ dep_hostlistfilter, dep_qt5 ],
  install: true,
  install_dir: get_option('libdir')/'smolbote/plugins'
)

# tests
test('rule', executable('rule', sources: 'test/rule.cpp', dependencies: [dep_qt5, dep_catch, dep_hostlistfilter]), suite: 'hostlist')

test('filterlist', executable('filterlist',
  sources: 'test/filterlist.cpp',
  dependencies: [dep_qt5, dep_catch, dep_hostlistfilter]),
  env: 'HOSTLIST_TXT='+meson.current_source_dir()/'test/hostlist.txt',
  suite: 'hostlist'
)
test('plugin', executable('filterlist-plugin',
  sources: [ 'test/plugin.cpp', 'plugin/plugin.cpp',
    mod_qt5.preprocess(include_directories: smolbote_interfaces, moc_headers: 'plugin/plugin.h', dependencies: dep_qt5) ],
  dependencies: [dep_qt5, dep_catch, dep_hostlistfilter]),
  env: 'HOSTLIST_TXT='+meson.current_source_dir()/'test/hostlist.txt',
  suite: 'hostlist'
)

test('smolblok-load', smolblok_load, workdir: meson.build_root(), args: plugin.full_path(), suite: 'hostlist')

# fuzzer
if meson.get_compiler('cpp').has_multi_arguments('-g', '-fsanitize=fuzzer')
executable('hostlist-fuzzer',
  sources: 'filterlist.cpp',
  include_directories: smolbote_interfaces,
  dependencies: dep_qt5,
  cpp_args: [ '-g', '-fsanitize=fuzzer', '-DFUZZER' ],
  link_args: [ '-fsanitize=fuzzer' ]
)
endif