aboutsummaryrefslogtreecommitdiff
path: root/cmake/Modules/AddCCompilerFlag.cmake
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2018-08-20 15:17:09 +0200
committerAndreas Schneider <asn@cryptomilk.org>2018-08-20 18:42:03 +0200
commita9a99fb31f2b5b28a321b1637ed491ef0fdc9b2e (patch)
tree9c244d909b75750cd35d0a9ac4a36ea8a2d11003 /cmake/Modules/AddCCompilerFlag.cmake
parent26a40977427797c46f89708001b1e37cf5de534e (diff)
downloadlibssh-a9a99fb31f2b5b28a321b1637ed491ef0fdc9b2e.tar.gz
libssh-a9a99fb31f2b5b28a321b1637ed491ef0fdc9b2e.tar.xz
libssh-a9a99fb31f2b5b28a321b1637ed491ef0fdc9b2e.zip
cmake: Improve compiler flag detection
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'cmake/Modules/AddCCompilerFlag.cmake')
-rw-r--r--cmake/Modules/AddCCompilerFlag.cmake13
1 files changed, 13 insertions, 0 deletions
diff --git a/cmake/Modules/AddCCompilerFlag.cmake b/cmake/Modules/AddCCompilerFlag.cmake
new file mode 100644
index 00000000..3c270722
--- /dev/null
+++ b/cmake/Modules/AddCCompilerFlag.cmake
@@ -0,0 +1,13 @@
+include(CheckCCompilerFlag)
+
+macro(add_c_compiler_flag _COMPILER_FLAG _OUTPUT_VARIABLE)
+ string(TOUPPER ${_COMPILER_FLAG} _COMPILER_FLAG_NAME)
+ string(REGEX REPLACE "^-" "" _COMPILER_FLAG_NAME "${_COMPILER_FLAG_NAME}")
+ string(REGEX REPLACE "(-|=|\ )" "_" _COMPILER_FLAG_NAME "${_COMPILER_FLAG_NAME}")
+
+ check_c_compiler_flag("${_COMPILER_FLAG}" WITH_${_COMPILER_FLAG_NAME}_FLAG)
+ if (WITH_${_COMPILER_FLAG_NAME}_FLAG)
+ #string(APPEND ${_OUTPUT_VARIABLE} "${_COMPILER_FLAG} ")
+ list(APPEND ${_OUTPUT_VARIABLE} ${_COMPILER_FLAG})
+ endif()
+endmacro()