Skip to content

Commit 37e6fd0

Browse files
committed
add required lib if UMF_BUILD_FUZZTESTS is set
1 parent d31509a commit 37e6fd0

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

CMakeLists.txt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -585,6 +585,35 @@ if(UMF_BUILD_FUZZTESTS
585585
AND LINUX)
586586
add_compile_options("-fsanitize=fuzzer-no-link")
587587
add_link_options("-fsanitize=fuzzer-no-link")
588+
589+
#file(GLOB_RECURSE LIBRARY_FILES /usr/lib/*)
590+
#message(STATUS "Files in /usr/lib:")
591+
#foreach(FILE ${LIBRARY_FILES})
592+
# message(STATUS " ${FILE}")
593+
#endforeach()
594+
595+
message(STATUS "CMAKE_C_COMPILER_VERSION: ${CMAKE_C_COMPILER_VERSION}")
596+
message(STATUS "/usr/lib/llvm-{CMAKE_C_COMPILER_VERSION}/lib/clang/${CMAKE_C_COMPILER_VERSION}/lib/linux/")
597+
message(STATUS "/usr/lib/llvm-18/lib/clang/18/lib/linux/libclang_rt.fuzzer_no_main-x86_64.a")
598+
599+
find_library(
600+
FUZZER_NO_MAIN_LIB
601+
NAMES libclang_rt.fuzzer_no_main-x86_64.a
602+
PATHS
603+
"/usr/lib/llvm-{CMAKE_C_COMPILER_VERSION}/lib/clang/${CMAKE_C_COMPILER_VERSION}/lib/linux/"
604+
"lib/clang/${CMAKE_C_COMPILER_VERSION}/lib/linux/"
605+
)
606+
607+
# /usr/lib/llvm-18/lib/clang/18/lib/linux/libclang_rt.fuzzer_no_main-x86_64.a
608+
609+
if(FUZZER_NO_MAIN_LIB)
610+
message(STATUS "Found fuzzer lib: ${FUZZER_NO_MAIN_LIB}")
611+
link_libraries(${FUZZER_NO_MAIN_LIB})
612+
link_libraries("stdc++")
613+
else()
614+
message(FATAL_ERROR "libclang_rt.fuzzer_no_main-x86_64 not found!")
615+
616+
endif()
588617
endif()
589618

590619
# A header-only lib to specify include directories in transitive dependencies

0 commit comments

Comments
 (0)