cmake: Build ssh_server_fuzzer if enabled
Fixes T67 Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Этот коммит содержится в:
родитель
d84b0926f0
Коммит
25ff1214a4
@ -14,7 +14,8 @@ option(WITH_TESTING "Build with unit tests" OFF)
|
||||
option(WITH_CLIENT_TESTING "Build with client tests; requires a running sshd" OFF)
|
||||
option(WITH_BENCHMARKS "Build benchmarks tools" OFF)
|
||||
option(WITH_EXAMPLES "Build examples" ON)
|
||||
option(WITH_NACL "Build with libnacl (curve25519" ON)
|
||||
option(WITH_NACL "Build with libnacl (curve25519)" ON)
|
||||
option(FUZZ_TESTING "Build with fuzzer for the server" OFF)
|
||||
if (WITH_ZLIB)
|
||||
set(WITH_LIBZ ON)
|
||||
else (WITH_ZLIB)
|
||||
|
32
cmake/Modules/FindClangFuzzer.cmake
Обычный файл
32
cmake/Modules/FindClangFuzzer.cmake
Обычный файл
@ -0,0 +1,32 @@
|
||||
# - Try to find Fuzzer
|
||||
# Once done this will define
|
||||
#
|
||||
# CLANG_FUZZER_FOUND - system has Fuzzer
|
||||
# CLANG_FUZZER_LIBRARY - Link these to use Fuzzer
|
||||
#
|
||||
#=============================================================================
|
||||
# Copyright (c) 2018 Andreas Schneider <asn@cryptomilk.org>
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
# see accompanying file Copyright.txt for details.
|
||||
#
|
||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
#
|
||||
|
||||
find_package(Clang REQUIRED CONFIG)
|
||||
|
||||
find_library(CLANG_FUZZER_LIBRARY
|
||||
NAMES
|
||||
Fuzzer
|
||||
HINTS
|
||||
${LLVM_LIBRARY_DIR}/clang/${LLVM_PACKAGE_VERSION}/lib
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Fuzzer DEFAULT_MSG CLANG_FUZZER_LIBRARY)
|
||||
|
||||
# show the CLANG_FUZZER_LIBRARY variables only in the advanced view
|
||||
mark_as_advanced(CLANG_FUZZER_LIBRARY)
|
@ -138,3 +138,7 @@ endif (WITH_BENCHMARKS)
|
||||
if (WITH_SERVER)
|
||||
add_subdirectory(pkd)
|
||||
endif (WITH_SERVER)
|
||||
|
||||
if (FUZZ_TESTING)
|
||||
add_subdirectory(fuzz)
|
||||
endif()
|
||||
|
9
tests/fuzz/CMakeLists.txt
Обычный файл
9
tests/fuzz/CMakeLists.txt
Обычный файл
@ -0,0 +1,9 @@
|
||||
project(fuzzing CXX)
|
||||
|
||||
find_package(ClangFuzzer)
|
||||
|
||||
add_executable(ssh_server_fuzzer ssh_server_fuzzer.cpp)
|
||||
target_link_libraries(ssh_server_fuzzer
|
||||
${CLANG_FUZZER_LIBRARY}
|
||||
${LIBSSH_THREADS_STATIC_LIBRARY}
|
||||
${LIBSSH_THREADS_LINK_LIBRARIES})
|
Загрузка…
Ссылка в новой задаче
Block a user