diff options
| author | Nathan Moinvaziri <nathan@nathanm.com> | 2022-04-02 15:31:22 -0700 |
|---|---|---|
| committer | Hans Kristian Rosbach <hk-github@circlestorm.org> | 2022-04-04 09:25:28 +0200 |
| commit | 12eb5aba08c5fa0ddf96ea94fff370f9531b5219 (patch) | |
| tree | 8dbd30d7747067e55ec59751b3bac29a05b750b8 /test/fuzz | |
| parent | 11f54459f30d71ebd4b36798ec1ea83f26ff72c3 (diff) | |
| download | Project-Tick-12eb5aba08c5fa0ddf96ea94fff370f9531b5219.tar.gz Project-Tick-12eb5aba08c5fa0ddf96ea94fff370f9531b5219.zip | |
Move fuzzer cmake into fuzz directory.
Diffstat (limited to 'test/fuzz')
| -rw-r--r-- | test/fuzz/CMakeLists.txt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/fuzz/CMakeLists.txt b/test/fuzz/CMakeLists.txt new file mode 100644 index 0000000000..c21f9c1ca4 --- /dev/null +++ b/test/fuzz/CMakeLists.txt @@ -0,0 +1,44 @@ +cmake_minimum_required(VERSION 3.5.1) + +if(CMAKE_C_COMPILER_ID MATCHES "Clang") + enable_language(CXX) + + if(DEFINED ENV{LIB_FUZZING_ENGINE}) + set(FUZZING_ENGINE $ENV{LIB_FUZZING_ENGINE}) + set(FUZZING_ENGINE_FOUND ON) + else() + find_library(FUZZING_ENGINE "FuzzingEngine") + endif() +endif() + +set(FUZZERS + fuzzer_checksum + fuzzer_compress + fuzzer_example_small + fuzzer_example_large + fuzzer_example_flush + fuzzer_example_dict + ) + +if(WITH_GZFILEOP) + list(APPEND FUZZERS fuzzer_minigzip) +endif() + +foreach(FUZZER ${FUZZERS}) + add_executable(${FUZZER} ${FUZZER}.c) + + if(NOT FUZZING_ENGINE_FOUND) + target_sources(${FUZZER} PRIVATE standalone_fuzz_target_runner.c) + endif() + + target_link_libraries(${FUZZER} zlibstatic) + if(FUZZING_ENGINE_FOUND) + target_link_libraries(${FUZZER} ${FUZZING_ENGINE}) + endif() + + if(ZLIB_ENABLE_TESTS) + file(GLOB FUZZER_TEST_FILES ${CMAKE_SOURCE_DIR}/*) + set(FUZZER_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:${FUZZER}> ${FUZZER_TEST_FILES}) + add_test(NAME ${FUZZER} COMMAND ${FUZZER_COMMAND}) + endif() +endforeach() |
