33
44cmake_minimum_required (VERSION 3.14 )
55
6- project (wasm_fuzzing LANGUAGES C CXX )
6+ project (wamr_fuzzing LANGUAGES ASM C CXX )
7+
8+ include (CMakePrintHelpers )
79
810# Ensure Clang is used as the compiler
9- if (NOT CMAKE_C_COMPILER_ID STREQUAL "Clang" OR NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
11+ if (NOT CMAKE_C_COMPILER_ID STREQUAL "Clang"
12+ OR NOT CMAKE_ASM_COMPILER_ID STREQUAL "Clang" )
1013 message (FATAL_ERROR "Please use Clang as the C compiler for libFuzzer compatibility." )
1114endif ()
1215
@@ -46,15 +49,33 @@ set(WAMR_BUILD_AOT_VALIDATOR 1)
4649set (REPO_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR} /../../..)
4750message (STATUS "REPO_ROOT_DIR: ${REPO_ROOT_DIR} " )
4851
49- set (LLVM_SRC_ROOT ${REPO_ROOT_DIR} /core/deps/llvm)
50- set (LLVM_BUILD_ROOT ${LLVM_SRC_ROOT} /build)
51- set (LLVM_DIR ${LLVM_BUILD_ROOT} /lib/cmake/llvm)
52+ # Use LLVM_DIR from command line if defined
53+ # LLVM_DIR should be something like /path/to/llvm/build/lib/cmake/llvm
54+ if (DEFINED LLVM_DIR)
55+ set (LLVM_DIR $ENV{LLVM_DIR} )
56+ else ()
57+ set (LLVM_SRC_ROOT ${REPO_ROOT_DIR} /core/deps/llvm)
58+ set (LLVM_BUILD_ROOT ${LLVM_SRC_ROOT} /build)
59+ set (LLVM_DIR ${LLVM_BUILD_ROOT} /lib/cmake/llvm)
60+ endif ()
61+
62+ # if LLVM_DIR is an existing directory, use it
63+ if (NOT EXISTS ${LLVM_DIR} )
64+ message (FATAL_ERROR "LLVM_DIR not found: ${LLVM_DIR} " )
65+ endif ()
5266
5367find_package (LLVM REQUIRED CONFIG )
5468
5569message (STATUS "Found LLVM ${LLVM_PACKAGE_VERSION} " )
5670message (STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR} " )
5771
72+ include_directories (${LLVM_INCLUDE_DIRS} )
73+ separate_arguments (LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS} )
74+ add_definitions (${LLVM_DEFINITIONS_LIST} )
75+
76+ set (SHARED_DIR ${REPO_ROOT_DIR} /core/shared)
77+ set (IWASM_DIR ${REPO_ROOT_DIR} /core/iwasm)
78+
5879# Enable fuzzer
5980add_definitions (-DWASM_ENABLE_FUZZ_TEST=1 )
6081add_compile_options (-fsanitize=fuzzer )
@@ -75,5 +96,5 @@ if(IN_OSS_FUZZ EQUAL -1)
7596 add_link_options (-fsanitize=address -fprofile-instr-generate )
7697endif ()
7798
78- add_subdirectory (wasm_mutator )
79- add_subdirectory (aot_compiler )
99+ add_subdirectory (aot-compiler )
100+ add_subdirectory (wasm-mutator )
0 commit comments