From 92b3c2dcff3e85ad3d455f6ab845d9a97d3b525b Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Mon, 7 Dec 2020 12:22:15 +0200 Subject: Rewrite meson build scripts into cmakelists --- plugins/HostlistFilter/CMakeLists.txt | 33 +++++++++++++++++ plugins/HostlistFilter/meson.build | 43 ---------------------- .../plugin/smolblokHostlistPlugin.json | 4 -- plugins/HostlistFilter/smolblokHostlistPlugin.json | 4 ++ 4 files changed, 37 insertions(+), 47 deletions(-) create mode 100644 plugins/HostlistFilter/CMakeLists.txt delete mode 100644 plugins/HostlistFilter/meson.build delete mode 100644 plugins/HostlistFilter/plugin/smolblokHostlistPlugin.json create mode 100644 plugins/HostlistFilter/smolblokHostlistPlugin.json (limited to 'plugins') diff --git a/plugins/HostlistFilter/CMakeLists.txt b/plugins/HostlistFilter/CMakeLists.txt new file mode 100644 index 0000000..b477967 --- /dev/null +++ b/plugins/HostlistFilter/CMakeLists.txt @@ -0,0 +1,33 @@ +# interface +add_library(hostlist INTERFACE) +target_sources(hostlist INTERFACE filterlist.h filterlist.cpp) +target_link_libraries(hostlist INTERFACE Qt5::WebEngine) +target_include_directories(hostlist INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include) + +# plugin +add_library(hostlistPlugin MODULE plugin/plugin.cpp) +target_link_libraries(hostlistPlugin PRIVATE hostlist) + +# tests + +add_executable(hostlistRule_test test/rule.cpp) +target_link_libraries(hostlistRule_test PRIVATE hostlist) +target_sanitize(hostlistRule_test) +add_test(NAME hostlist_rule COMMAND hostlistRule_test) + +add_executable(hostlistFilter_test test/filterlist.cpp) +target_link_libraries(hostlistFilter_test PRIVATE hostlist) +target_sanitize(hostlistFilter_test) +add_test(NAME hostlist_filter COMMAND hostlistFilter_test) +set_tests_properties(hostlist_filter PROPERTIES ENVIRONMENT "HOSTLIST_TXT=${CMAKE_CURRENT_SOURCE_DIR}/test/hostlist.txt") + +# plugin load test +add_test(NAME hostlist_load COMMAND pluginloader_load $) + +# fuzzer +if(${CMAKE_CXX_COMPILER_ID} MATCHES Clang) + add_executable(hostlistFilter_fuzzer filterlist.cpp) + target_link_libraries(hostlistFilter_fuzzer PRIVATE hostlist) + target_compile_definitions(hostlistFilter_fuzzer PRIVATE FUZZER) + target_sanitize_fuzzer(hostlistFilter_fuzzer) +endif() diff --git a/plugins/HostlistFilter/meson.build b/plugins/HostlistFilter/meson.build deleted file mode 100644 index 1562524..0000000 --- a/plugins/HostlistFilter/meson.build +++ /dev/null @@ -1,43 +0,0 @@ -dep_hostlistfilter = declare_dependency( - include_directories: [ '.', smolbote_interfaces ], - link_with: static_library('hostlistfilter', [ 'filterlist.cpp' ], include_directories: smolbote_interfaces, dependencies: [dep_qt5]) -) - -# 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 diff --git a/plugins/HostlistFilter/plugin/smolblokHostlistPlugin.json b/plugins/HostlistFilter/plugin/smolblokHostlistPlugin.json deleted file mode 100644 index aa53cdd..0000000 --- a/plugins/HostlistFilter/plugin/smolblokHostlistPlugin.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "smolblok Hostlist filter plugin", - "author": "Aqua " -} diff --git a/plugins/HostlistFilter/smolblokHostlistPlugin.json b/plugins/HostlistFilter/smolblokHostlistPlugin.json new file mode 100644 index 0000000..aa53cdd --- /dev/null +++ b/plugins/HostlistFilter/smolblokHostlistPlugin.json @@ -0,0 +1,4 @@ +{ + "name": "smolblok Hostlist filter plugin", + "author": "Aqua " +} -- cgit v1.2.1