aboutsummaryrefslogtreecommitdiff
path: root/cmake/Modules/MacroCheckCCompilerFlagSSP.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/Modules/MacroCheckCCompilerFlagSSP.cmake')
-rw-r--r--cmake/Modules/MacroCheckCCompilerFlagSSP.cmake25
1 files changed, 25 insertions, 0 deletions
diff --git a/cmake/Modules/MacroCheckCCompilerFlagSSP.cmake b/cmake/Modules/MacroCheckCCompilerFlagSSP.cmake
new file mode 100644
index 00000000..6e83a8b4
--- /dev/null
+++ b/cmake/Modules/MacroCheckCCompilerFlagSSP.cmake
@@ -0,0 +1,25 @@
+# - Check whether the C compiler supports a given flag.
+# CHECK_C_COMPILER_FLAG(FLAG VARIABLE)
+#
+# FLAG - the compiler flag
+# VARIABLE - variable to store the result
+#
+# This actually calls the check_c_source_compiles macro.
+# See help for CheckCSourceCompiles for a listing of variables
+# that can modify the build.
+
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+INCLUDE(CheckCSourceCompiles)
+
+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}")
+ENDMACRO (CHECK_C_COMPILER_FLAG_SSP)
+