SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
-SET(RELO_FLAGS "-D_FORTIFY_SOURCE=2 -Wl,-z,relro")
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -fPIE")
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g ")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${RELO_FLAGS} -fPIE -fPIC -Wall -Werror")
+SET(RELRO_FLAGS "-Wl,-z,relro")
+SET(FORTIFY_FLAGS "-D_FORTIFY_SOURCE=2")
+SET(STACK_CANARY_FLAGS "-fstack-protector-strong")
+SET(PIE_FLAGS "-fPIE -fPIC")
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -g")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${STACK_CANARY_FLAGS} ${FORTIFY_FLAGS} ${RELRO_FLAGS} ${PIE_FLAGS} -Wall -Werror")
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
SET(SRCS
ADD_DEFINITIONS("-DDATABASE_FULL_PATH=\"${DBPATH}\"")
ENDIF(DBPATH)
-SET(RELO_FLAGS "-D_FORTIFY_SOURCE=2 -Wl,-z,relro")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${RELO_FLAGS} -fPIE -fPIC -Wall -Werror")
+SET(RELRO_FLAGS "-Wl,-z,relro")
+SET(FORTIFY_FLAGS "-D_FORTIFY_SOURCE=2")
+SET(STACK_CANARY_FLAGS "-fstack-protector-strong")
+SET(PIE_FLAGS "-fPIE -fPIC")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${STACK_CANARY_FLAGS} ${FORTIFY_FLAGS} ${RELRO_FLAGS} ${PIE_FLAGS} -Wall -Werror")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
SET(CMAKE_C_FLAGS_RELEASE "-O2")
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")