aboutsummaryrefslogtreecommitdiff
path: root/cmake/Modules/CheckCCompilerFlagSSP.cmake
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2011-07-29 11:37:27 +0200
committerAndreas Schneider <asn@cryptomilk.org>2011-07-29 11:37:52 +0200
commitca47c9b46eebf19189e5bed19aacc1f278bfbf68 (patch)
treee9047365b89c0ac4655dd2d03728f73c350cd24b /cmake/Modules/CheckCCompilerFlagSSP.cmake
parent0943ce3a4ac2c9883b3f6bd1dac4c7a2656d4c96 (diff)
downloadlibssh-ca47c9b46eebf19189e5bed19aacc1f278bfbf68.tar.gz
libssh-ca47c9b46eebf19189e5bed19aacc1f278bfbf68.tar.xz
libssh-ca47c9b46eebf19189e5bed19aacc1f278bfbf68.zip
cmake: Make CHECK_C_COMPILER_FLAG_SSP a function.
Diffstat (limited to 'cmake/Modules/CheckCCompilerFlagSSP.cmake')
-rw-r--r--cmake/Modules/CheckCCompilerFlagSSP.cmake26
1 files changed, 26 insertions, 0 deletions
diff --git a/cmake/Modules/CheckCCompilerFlagSSP.cmake b/cmake/Modules/CheckCCompilerFlagSSP.cmake
new file mode 100644
index 00000000..2fe43954
--- /dev/null
+++ b/cmake/Modules/CheckCCompilerFlagSSP.cmake
@@ -0,0 +1,26 @@
+# - Check whether the C compiler supports a given flag in the
+# context of a stack checking compiler option.
+
+# CHECK_C_COMPILER_FLAG_SSP(FLAG VARIABLE)
+#
+# FLAG - the compiler flag
+# VARIABLE - variable to store the result
+#
+# This actually calls check_c_source_compiles.
+# 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)
+
+function(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)