From 601ba453182678641a95f40f46b9e303c92d0bd1 Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Fri, 15 Oct 2021 18:22:32 +0100 Subject: [PATCH] CMakeLists: option to disable `-fstack-protector` This flag is not supported by all GCC + libc combination, for example it is not suported with GCC and uClibc. --- CMakeLists.txt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f394bd..180e464 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -380,10 +380,15 @@ if(BUILD_WIN) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc -DNOMINMAX") else() + option(STACK_PROTECTOR "Compile with -fstack-protector" ON) + if(STACK_PROTECTOR) + set(STACK_PROTECTOR_FLAGS -fstack-protector) + endif() + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \ ${ZT_FLAGS} \ - -fstack-protector") + ${STACK_PROTECTOR_FLAGS}") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} \ @@ -393,7 +398,7 @@ else() set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} \ ${RELEASE_OPTIMIZATION} \ - -fstack-protector") + ${STACK_PROTECTOR_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \ ${ZT_FLAGS} -Wall -Wextra -std=c++11")