diff --git a/meson.build b/meson.build index 6014d9560..4d54b49b3 100644 --- a/meson.build +++ b/meson.build @@ -27,6 +27,7 @@ glib = dependency('glib-2.0') libvmi = dependency('libvmi') jsonc = dependency('json-c') deps = [glib, libvmi, jsonc] +check = dependency('check') version = meson.project_version() if not get_option('release') diff --git a/src/plugins/meson.build b/src/plugins/meson.build index dcb4b5139..46bd23f51 100644 --- a/src/plugins/meson.build +++ b/src/plugins/meson.build @@ -3,7 +3,6 @@ incdir = include_directories('..', '../..') plugin_sources = [ 'plugins.cpp', 'plugins_ex.cpp', - 'plugin_utils.cpp', 'helpers/exclude_matcher.cpp', 'output_format/ostream.cpp' ] @@ -354,10 +353,27 @@ summary({ ################# +plugin_utils = static_library('plugin_utils', + sources : 'plugin_utils.cpp', + include_directories : incdir, + dependencies : deps, + link_args : hardened_link_args +) + drakvuf_plugins = static_library('drakvuf_plugins', sources : plugin_sources, include_directories : incdir, dependencies : deps, - link_with : [libdrakvuf, libhook, libusermode], + link_with : [libdrakvuf, libhook, libusermode, plugin_utils], link_args : hardened_link_args ) + +if check.found() + plugin_utils_check = executable('plugin_utils_check', + sources : 'plugin_utils_check.cpp', + include_directories : incdir, + dependencies : [deps, check], + link_with : [libdrakvuf, plugin_utils], + ) + test('plugin_utils_check', plugin_utils_check) +endif