Imported Upstream version 1.8.1
[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   extract_make_variable (hb_subset_get_codepoints_fuzzer_SOURCES ${MAKEFILEAM})
6
7   # TODO: enable these two
8   #extract_make_variable (FUZZING_CPPFLAGS ${MAKEFILEAM}) # extracting regex fail
9   #add_executable (hb-shape-fuzzer # it should be run only after ragel execution
10   #  ${project_sources} ${project_extra_sources} ${project_headers}
11   #  ${hb_shape_fuzzer_SOURCES})
12
13   add_executable (hb-shape-fuzzer ${hb_shape_fuzzer_SOURCES})
14   target_link_libraries (hb-shape-fuzzer harfbuzz)
15
16   add_executable (hb-subset-fuzzer ${hb_subset_fuzzer_SOURCES})
17   target_link_libraries (hb-subset-fuzzer harfbuzz-subset)
18
19   add_executable (hb-subset-get-codepoints-fuzzer ${hb_subset_get_codepoints_fuzzer_SOURCES})
20   target_link_libraries (hb-subset-get-codepoints-fuzzer harfbuzz-subset)
21
22   target_compile_definitions(hb-shape-fuzzer PUBLIC ${FUZZING_CPPFLAGS})
23   target_compile_definitions(hb-subset-fuzzer PUBLIC ${FUZZING_CPPFLAGS})
24   target_compile_definitions(hb-subset-get-codepoints-fuzzer PUBLIC ${FUZZING_CPPFLAGS})
25
26   add_test (NAME hb-shape-fuzzer
27     COMMAND "${PYTHON_EXECUTABLE}" run-shape-fuzzer-tests.py $<TARGET_FILE:hb-shape-fuzzer>
28     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
29   add_test (NAME hb-subset-fuzzer
30     COMMAND "${PYTHON_EXECUTABLE}" run-subset-fuzzer-tests.py $<TARGET_FILE:hb-subset-fuzzer> $<TARGET_FILE:hb-subset-get-codepoints-fuzzer>
31     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
32 endif ()