diff options
Diffstat (limited to 'plugins/HostlistFilter/CMakeLists.txt')
-rw-r--r-- | plugins/HostlistFilter/CMakeLists.txt | 33 |
1 files changed, 33 insertions, 0 deletions
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 $<TARGET_FILE:hostlistPlugin>) + +# 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() |