diff --git a/ports/CMakeCommon.cmake b/ports/CMakeCommon.cmake index f51b311..3695050 100644 --- a/ports/CMakeCommon.cmake +++ b/ports/CMakeCommon.cmake @@ -46,48 +46,58 @@ set(LWIP_COMPILER_FLAGS_GNU_CLANG -Wmissing-prototypes -Waggregate-return -Wlogical-not-parentheses - ) +) if (NOT LWIP_HAVE_MBEDTLS) list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG -Wredundant-decls - ) + ) endif() if(CMAKE_C_COMPILER_ID STREQUAL GNU) list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG -Wlogical-op -Wtrampolines - ) + ) + if (NOT LWIP_HAVE_MBEDTLS) list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG -Wc90-c99-compat - ) + ) endif() if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9) - list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG -# -fsanitize=address -# -fsanitize=undefined -# -fno-sanitize=alignment -# -fstack-protector -# -fstack-check + if(LWIP_USE_SANITIZERS) + list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG + -fsanitize=address + -fsanitize=undefined + -fno-sanitize=alignment + -fstack-protector + -fstack-check ) -# set(LWIP_SANITIZER_LIBS asan ubsan) + set(LWIP_SANITIZER_LIBS asan ubsan) + endif() endif() + set(LWIP_COMPILER_FLAGS ${LWIP_COMPILER_FLAGS_GNU_CLANG}) endif() if(CMAKE_C_COMPILER_ID STREQUAL Clang) list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG -# -fsanitize=address -# -fsanitize=undefined -# -fno-sanitize=alignment -Wdocumentation -Wno-documentation-deprecated-sync + ) + + if(LWIP_USE_SANITIZERS) + list(APPEND LWIP_COMPILER_FLAGS_GNU_CLANG + -fsanitize=address + -fsanitize=undefined + -fno-sanitize=alignment ) + set(LWIP_SANITIZER_LIBS asan ubsan) + endif() + set(LWIP_COMPILER_FLAGS ${LWIP_COMPILER_FLAGS_GNU_CLANG}) -# set(LWIP_SANITIZER_LIBS asan ubsan) endif() if(CMAKE_C_COMPILER_ID STREQUAL MSVC) diff --git a/ports/unix/check/CMakeLists.txt b/ports/unix/check/CMakeLists.txt index facaf9e..a5063ea 100644 --- a/ports/unix/check/CMakeLists.txt +++ b/ports/unix/check/CMakeLists.txt @@ -9,6 +9,7 @@ endif() set(LWIP_CONTRIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../..) set(LWIP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../../lwip) +set(LWIP_USE_SANITIZERS true) include(${LWIP_CONTRIB_DIR}/ports/CMakeCommon.cmake) if(CMAKE_C_COMPILER_ID STREQUAL Clang)