From 54a1fb77e7cb629fffdd3a40416ed6a42c3fd569 Mon Sep 17 00:00:00 2001 From: Rui Abreu Ferreira Date: Wed, 14 Oct 2015 00:46:32 +0100 Subject: MinGW: don't use -fstack-protector Mingw-w64 fails to link when using -fstack-protector flags, disabled the flag check for non Unix system. --- CMakeLists.txt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c12486d4e..74130debf3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -216,12 +216,16 @@ if(HAS_WVLA_FLAG) add_definitions(-Wvla) endif() -check_c_compiler_flag(-fstack-protector-strong HAS_FSTACK_PROTECTOR_STRONG_FLAG) -check_c_compiler_flag(-fstack-protector HAS_FSTACK_PROTECTOR_FLAG) -if(HAS_FSTACK_PROTECTOR_STRONG_FLAG) - add_definitions(-fstack-protector-strong) -elseif(HAS_FSTACK_PROTECTOR_FLAG) - add_definitions(-fstack-protector --param ssp-buffer-size=4) +if(UNIX) + # -fstack-protector breaks non Unix builds even in Mingw-w64 + check_c_compiler_flag(-fstack-protector-strong HAS_FSTACK_PROTECTOR_STRONG_FLAG) + check_c_compiler_flag(-fstack-protector HAS_FSTACK_PROTECTOR_FLAG) + + if(HAS_FSTACK_PROTECTOR_STRONG_FLAG) + add_definitions(-fstack-protector-strong) + elseif(HAS_FSTACK_PROTECTOR_FLAG) + add_definitions(-fstack-protector --param ssp-buffer-size=4) + endif() endif() check_c_compiler_flag(-fdiagnostics-color=auto HAS_DIAG_COLOR_FLAG) -- cgit