| function(_link_fuzztest_compatibility_mode name) |
| if (FUZZTEST_COMPATIBILITY_MODE STREQUAL "libfuzzer") |
| EXECUTE_PROCESS ( |
| COMMAND bash -c "command -v llvm-config || command -v llvm-config-16 || command -v llvm-config-15 || command -v llvm-config-14 || command -v llvm-config-13 || command -v llvm-config-12 || echo" |
| OUTPUT_VARIABLE LLVM_CONFIG OUTPUT_STRIP_TRAILING_WHITESPACE |
| ) |
| EXECUTE_PROCESS( |
| COMMAND bash -c "find $(${LLVM_CONFIG} --libdir) -name libclang_rt.fuzzer_no_main-x86_64.a | head -1" |
| OUTPUT_VARIABLE FUZZER_NO_MAIN OUTPUT_STRIP_TRAILING_WHITESPACE |
| ) |
| target_link_libraries(${name} PRIVATE ${FUZZER_NO_MAIN}) |
| endif () |
| endfunction() |
| |
| function(link_fuzztest name) |
| target_link_libraries( |
| ${name} |
| PRIVATE |
| fuzztest::fuzztest |
| fuzztest::fuzztest_gtest_main |
| ) |
| _link_fuzztest_compatibility_mode(${name}) |
| endfunction() |
| |
| function(link_fuzztest_core name) |
| target_link_libraries( |
| ${name} |
| PRIVATE |
| fuzztest::fuzztest_core |
| fuzztest::fuzztest_gtest_main |
| ) |
| _link_fuzztest_compatibility_mode(${name}) |
| endfunction() |