aboutsummaryrefslogtreecommitdiff
path: root/plugins/HostlistFilter/CMakeLists.txt
blob: b477967567e9751960b3f602b228d63f22fd9951 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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()