File: Fuzzing.cmake

package info (click to toggle)
yubihsm-shell 2.7.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,992 kB
  • sloc: ansic: 41,928; sh: 1,679; cpp: 528; makefile: 18
file content (27 lines) | stat: -rw-r--r-- 1,156 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
option(FUZZING "Compile binaries with fuzzing instrumentation" OFF)
option(LIBFUZZER_ASAN "Enable ASAN instrumentation with libfuzzer" OFF)
option(FUZZING_MSAN "Compile binaries with MemorySanitizer instrumentation" OFF)

if (FUZZING)
    message(STATUS "Building with fuzzing instrumentation.")

    string (APPEND CMAKE_C_FLAGS " -DFUZZING")
    string (APPEND CMAKE_C_FLAGS " -fno-omit-frame-pointer -O1 -g")

    string (APPEND CMAKE_CXX_FLAGS " -std=c++17")
    string (APPEND CMAKE_CXX_FLAGS " -DFUZZING")
    string (APPEND CMAKE_CXX_FLAGS " -fno-omit-frame-pointer -O1 -g")

    string (APPEND CMAKE_EXE_LINKER_FLAGS " -g")

    if (FUZZING_MSAN)
        string (APPEND CMAKE_C_FLAGS " -fsanitize=memory")
        string (APPEND CMAKE_CXX_FLAGS " -fsanitize=memory")
        string (APPEND CMAKE_EXE_LINKER_FLAGS " -fsanitize=memory")
    else (FUZZING_MSAN)
        string (APPEND CMAKE_C_FLAGS " -fsanitize=address -fsanitize=undefined")
        string (APPEND CMAKE_CXX_FLAGS " -fsanitize=address -fsanitize=undefined")
        string (APPEND CMAKE_EXE_LINKER_FLAGS " -fsanitize=address -fsanitize=undefined")
    endif (FUZZING_MSAN)

endif ()