-set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb -DDEBUG=1")
-set(CMAKE_C_FLAGS_RELEASE "-O2")
-set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
+ include(CheckCCompilerFlag)
+ CHECK_C_COMPILER_FLAG(-fstack-protector-strong COMPILER_SUPPORTS_STACK_PROTECTOR_STRONG)
+ if (COMPILER_SUPPORTS_STACK_PROTECTOR_STRONG)
+ add_flags(CMAKE_C_FLAGS -fstack-protector-strong)
+ else()
+ add_flags(CMAKE_C_FLAGS -fstack-protector)
+ endif()
+
+ add_flags(DEBUG_FLAGS
+ -ggdb)
+
+ add_flags(RELEASE_FLAGS
+ -Wp,-D_FORTIFY_SOURCE=2)