blob: 83b124c01400e2d5fe02795f7bb934a2ae224bbb [file] [log] [blame]
# CMakeLists.txt
#
# Copyright 2018-2019 by
# Armin Hasitzka.
#
# This file is part of the FreeType project, and may only be used, modified,
# and distributed under the terms of the FreeType project license,
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
# indicate that you have read the license and understand and accept it
# fully.
add_executable(driver
"${FUZZING_SRC_DIR}/driver/driver.cpp"
"${FUZZING_SRC_DIR}/driver/DriverInternals.cpp"
"${FUZZING_SRC_DIR}/legacy/ftfuzzer.cc")
set_target_properties(driver PROPERTIES OUTPUT_NAME "${DRIVER_EXE_NAME}")
target_link_libraries(driver
PRIVATE
"${LIBARCHIVE_STATIC_LIBRARY}"
fuzztargets
"${FREETYPE_STATIC_LIBRARY}"
"${BZIP2_STATIC_LIBRARY}"
"${BROTLI_STATIC_LIBRARY}")
if("${LOGGER_NAME}" STREQUAL "LOGGER_GLOG")
target_compile_definitions(driver PRIVATE "LOGGER_GLOG")
target_link_libraries(driver PRIVATE "${GLOG_STATIC_LIBRARY}")
endif()
foreach(suite ${FUZZ_TARGET_NAMES})
set(suite_dir "${FUZZING_CORPORA_DIR}/${suite}")
file(GLOB_RECURSE test_input_paths "${suite_dir}/*")
foreach(test_input_path ${test_input_paths})
if("${test_input_path}" MATCHES "/README\\.md$")
continue()
endif()
string(REPLACE "${suite_dir}/" "" test_name "${test_input_path}")
set(full_test_name "${suite}:${test_name}")
add_test(
NAME "${full_test_name}"
COMMAND driver "--${suite}" "${test_input_path}")
set_tests_properties("${full_test_name}" PROPERTIES TIMEOUT 10)
endforeach()
endforeach()