diff --git a/cmake/Modules/CheckCCompilerFlagSSP.cmake b/cmake/Modules/CheckCCompilerFlagSSP.cmake index 2fe43954..870f68a1 100644 --- a/cmake/Modules/CheckCCompilerFlagSSP.cmake +++ b/cmake/Modules/CheckCCompilerFlagSSP.cmake @@ -16,11 +16,14 @@ # For details see the accompanying COPYING-CMAKE-SCRIPTS file. +include_guard(GLOBAL) include(CheckCSourceCompiles) -function(CHECK_C_COMPILER_FLAG_SSP _FLAG _RESULT) +macro(CHECK_C_COMPILER_FLAG_SSP _FLAG _RESULT) set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}") set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}") + check_c_source_compiles("int main(int argc, char **argv) { char buffer[256]; return buffer[argc]=0;}" ${_RESULT}) + set(CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}") -endfunction(CHECK_C_COMPILER_FLAG_SSP) +endmacro(CHECK_C_COMPILER_FLAG_SSP)