Imported Upstream version 2.6.4
[platform/upstream/harfbuzz.git] / test / fuzzing / CMakeLists.txt
1 if (HB_CHECK)
2   file (READ "${CMAKE_CURRENT_SOURCE_DIR}/Makefile.am" MAKEFILEAM)
3   extract_make_variable (hb_shape_fuzzer_SOURCES ${MAKEFILEAM})
4   extract_make_variable (hb_subset_fuzzer_SOURCES ${MAKEFILEAM})
5
6   # TODO: enable these two
7   #extract_make_variable (FUZZING_CPPFLAGS ${MAKEFILEAM}) # extracting regex fail
8   #add_executable (hb-shape-fuzzer # it should be run only after ragel execution
9   #  ${project_sources} ${project_extra_sources} ${project_headers}
10   #  ${hb_shape_fuzzer_SOURCES})
11
12   add_executable (hb-shape-fuzzer ${hb_shape_fuzzer_SOURCES})
13   target_link_libraries (hb-shape-fuzzer harfbuzz)
14
15   add_executable (hb-subset-fuzzer ${hb_subset_fuzzer_SOURCES})
16   target_link_libraries (hb-subset-fuzzer harfbuzz-subset)
17
18   target_compile_definitions(hb-shape-fuzzer PUBLIC ${FUZZING_CPPFLAGS})
19   target_compile_definitions(hb-subset-fuzzer PUBLIC ${FUZZING_CPPFLAGS})
20
21   add_test (NAME hb-shape-fuzzer
22     COMMAND "${PYTHON_EXECUTABLE}" run-shape-fuzzer-tests.py $<TARGET_FILE:hb-shape-fuzzer>
23     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
24   add_test (NAME hb-subset-fuzzer
25     COMMAND "${PYTHON_EXECUTABLE}" run-subset-fuzzer-tests.py $<TARGET_FILE:hb-subset-fuzzer>
26     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
27 endif ()