diff options
author | Simon Rettberg | 2020-03-23 11:32:29 +0100 |
---|---|---|
committer | Simon Rettberg | 2020-03-23 11:32:29 +0100 |
commit | 411051a14781b004705e45e6fb2842e0b635812e (patch) | |
tree | 716e2aa7e1e917941be12473301ee904e8c65104 /CMakeLists.txt | |
parent | [SHARED] connect_ms might change above, don't check (diff) | |
download | dnbd3-411051a14781b004705e45e6fb2842e0b635812e.tar.gz dnbd3-411051a14781b004705e45e6fb2842e0b635812e.tar.xz dnbd3-411051a14781b004705e45e6fb2842e0b635812e.zip |
[SERVER] Make lock/thread debugging dedicated cmake option
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b061bb..952ff00 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,8 @@ OPTION(BUILD_FUSE_CLIENT "Build dnbd3 fuse client" ON) OPTION(BUILD_SERVER "Build dnbd3 server" ON) OPTION(BUILD_STRESSTEST "Build dnbd3 stress testing tool" OFF) SET(EXTRA_C_FLAGS "" CACHE STRING "Additional options to pass to compiler") +OPTION(DEBUG_LOCKS "Add lock debugging code to dnbd3-server" OFF) +OPTION(DEBUG_THREADS "Add thread debugging code to dnbd3-server" OFF) OPTION(SERVER_FOR_AFL "Build dnbd3-server for usage with afl-fuzz" OFF) @@ -47,16 +49,16 @@ macro (TRY_ADD_FLAG _FLAG) endmacro() # Common for gcc and clang -SET(CMAKE_EXE_LINKER_FLAGS "-Wl,-z,relro,-z,now,-z,defs -pie") -SET(CMAKE_C_FLAGS "-fPIE -std=c11 -Wno-multichar -fno-strict-aliasing -D_GNU_SOURCE -D_FORTIFY_SOURCE=2 ${EXTRA_C_FLAGS}") -SET(CMAKE_C_FLAGS_RELEASE " -O3 -Wno-unused-result -DNDEBUG") +#SET(CMAKE_EXE_LINKER_FLAGS "-Wl,-z,relro,-z,now,-z,defs -pie") +SET(CMAKE_C_FLAGS_RELEASE "-DNDEBUG") +SET(CMAKE_C_FLAGS "-std=c11 -Wno-multichar -fno-strict-aliasing -D_GNU_SOURCE -D_FORTIFY_SOURCE=2 ${EXTRA_C_FLAGS}") # Hardening. Try as much as is possible. -TRY_ADD_FLAG("-mmitigate-rop") -TRY_ADD_FLAG("-fstack-protector-strong") -TRY_ADD_FLAG("-fstack-clash-protection") -TRY_ADD_FLAG("-Wformat") -TRY_ADD_FLAG("-Wformat-security") -TRY_ADD_FLAG("-Werror=format-security") +#TRY_ADD_FLAG("-mmitigate-rop") +#TRY_ADD_FLAG("-fstack-protector-strong") +#TRY_ADD_FLAG("-fstack-clash-protection") +#TRY_ADD_FLAG("-Wformat") +#TRY_ADD_FLAG("-Wformat-security") +#TRY_ADD_FLAG("-Werror=format-security") if(CMAKE_C_COMPILER MATCHES "clang") message( "Using clang flags." ) SET(CMAKE_C_FLAGS_DEBUG " -O1 -fno-omit-frame-pointer -g -Wall -Wextra -Wpedantic -Wno-unused-result -D_DEBUG") @@ -72,6 +74,12 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64) ADD_DEFINITIONS(-DWITH_IPV6) ADD_DEFINITIONS(-DBUILD_TYPE=${CMAKE_BUILD_TYPE}) +if (DEBUG_LOCKS) + ADD_DEFINITIONS(-DDEBUG_LOCKS) +ENDIF() +if (DEBUG_THREADS) + ADD_DEFINITIONS(-DDEBUG_THREADS) +ENDIF() FIND_PACKAGE(Threads) |