aboutsummaryrefslogtreecommitdiff
path: root/plugins/HostlistFilter/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/HostlistFilter/CMakeLists.txt')
-rw-r--r--plugins/HostlistFilter/CMakeLists.txt33
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()