# 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()