summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorSimon Rettberg2020-03-23 11:32:29 +0100
committerSimon Rettberg2020-03-23 11:32:29 +0100
commit411051a14781b004705e45e6fb2842e0b635812e (patch)
tree716e2aa7e1e917941be12473301ee904e8c65104 /CMakeLists.txt
parent[SHARED] connect_ms might change above, don't check (diff)
downloaddnbd3-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.txt26
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)