From: Nathan Moinvaziri Date: Sat, 2 Apr 2022 22:31:22 +0000 (-0700) Subject: Move fuzzer cmake into fuzz directory. X-Git-Tag: 2.1.0-beta1~283 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12eb5aba08c5fa0ddf96ea94fff370f9531b5219;p=thirdparty%2Fzlib-ng.git Move fuzzer cmake into fuzz directory. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 13850528..6c8d8679 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1252,33 +1252,7 @@ if(ZLIB_ENABLE_TESTS) -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-compare.cmake) if(WITH_FUZZERS) - 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 checksum compress example_small example_large example_flush example_dict minigzip) - file(GLOB ALL_SRC_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") - foreach(FUZZER ${FUZZERS}) - set(FUZZER_SRCS test/fuzz/fuzzer_${FUZZER}.c) - if(NOT FUZZING_ENGINE_FOUND) - list(APPEND FUZZER_SRCS test/fuzz/standalone_fuzz_target_runner.c) - endif() - add_executable(fuzzer_${FUZZER} ${FUZZER_SRCS}) - configure_test_executable(fuzzer_${FUZZER}) - target_link_libraries(fuzzer_${FUZZER} zlib) - if(FUZZING_ENGINE_FOUND) - target_link_libraries(fuzzer_${FUZZER} ${FUZZING_ENGINE}) - endif() - set(FUZZER_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ALL_SRC_FILES}) - add_test(NAME fuzzer_${FUZZER} COMMAND ${FUZZER_COMMAND}) - endforeach() + add_subdirectory(test/fuzz) endif() macro(test_minigzip name path) diff --git a/test/fuzz/CMakeLists.txt b/test/fuzz/CMakeLists.txt new file mode 100644 index 00000000..c21f9c1c --- /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} $ ${FUZZER_TEST_FILES}) + add_test(NAME ${FUZZER} COMMAND ${FUZZER_COMMAND}) + endif() +endforeach()