/ external / libder / tests / CMakeLists.txt
CMakeLists.txt
 1  set(FUZZERS fuzz_parallel fuzz_stream fuzz_write)
 2  set(UTILS )
 3  set(TESTS test_privkey test_pubkey)
 4  
 5  set(ALL_TESTS ${UTILS} ${TESTS})
 6  
 7  if(BUILD_FUZZERS)
 8  	set(UTILS ${UTILS} make_corpus)
 9  	set(ALL_TESTS ${ALL_TESTS} ${FUZZERS} make_corpus)
10  
11  	foreach(fuzzer IN LISTS FUZZERS)
12  		add_executable(${fuzzer} ${fuzzer}.c)
13  
14  		target_compile_options(${fuzzer} PUBLIC -fsanitize=fuzzer)
15  		target_link_options(${fuzzer} PUBLIC -fsanitize=fuzzer)
16  	endforeach()
17  
18  	target_link_options(fuzz_parallel PUBLIC -pthread)
19  endif()
20  
21  foreach(prog IN LISTS UTILS TESTS)
22  	add_executable(${prog} ${prog}.c)
23  endforeach()
24  
25  foreach(prog IN LISTS ALL_TESTS)
26  	target_include_directories(${prog} PRIVATE ${CMAKE_SOURCE_DIR}/libder)
27  	target_link_libraries(${prog} der_static)
28  endforeach()
29  
30  add_custom_command(TARGET test_privkey POST_BUILD
31  	COMMAND ${CMAKE_COMMAND} -E copy
32  	${CMAKE_CURRENT_SOURCE_DIR}/repo.priv ${CMAKE_CURRENT_BINARY_DIR}/repo.priv)
33  add_custom_command(TARGET test_pubkey POST_BUILD
34  	COMMAND ${CMAKE_COMMAND} -E copy
35  	${CMAKE_CURRENT_SOURCE_DIR}/repo.pub ${CMAKE_CURRENT_BINARY_DIR}/repo.pub)
36  
37  add_custom_target(check
38  	DEPENDS test_pubkey test_privkey
39  	COMMAND "${CMAKE_CURRENT_BINARY_DIR}/test_pubkey"
40  	COMMAND "${CMAKE_CURRENT_BINARY_DIR}/test_privkey"
41  )