include_directories( ../libi2pd ${Boost_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR} ) set(LIBS libi2pd ${Boost_LIBRARIES} OpenSSL::SSL OpenSSL::Crypto ZLIB::ZLIB Threads::Threads ${CMAKE_REQUIRED_LIBRARIES} ) add_library(fuzzing OBJECT fuzzing_impl.cc fuzzing_throttle.cc fuzzing.h) link_libraries(fuzzing) set(FUZZERS Base32ToByteStream Base64ToByteStream BlindedPublicKey ByteStreamToBase32 ByteStreamToBase64 HandleI2NPMessage IdentityEx LeaseSet LeaseSet2 NetDb-AddRouterInfo NetDb-HandleDatabaseSearchReplyMsg NetDb-HandleDatabaseStoreMsg NetDb-HandleDatabaseLookupMsg NetDb-HandleNTCP2RouterInfoMsg NetDb-PostI2NPMsg RouterContext-DecryptTunnelBuildRecord RouterContext-ProcessDeliveryStatusMessage RouterContext-ProcessGarlicMessage ) string(REPLACE "fuzzer-no-link" "fuzzer" _LINK_FLAGS "${_SANITIZE_FLAGS}") foreach(F IN LISTS FUZZERS) add_executable(fuzz-${F} fuzz-${F}.cc) target_link_libraries(fuzz-${F} ${LIBS}) target_link_options(fuzz-${F} PRIVATE ${_LINK_FLAGS}) endforeach()