summaryrefslogtreecommitdiff
path: root/cmake/Helpers.cmake
diff options
context:
space:
mode:
authorMathias Preiner <mathias.preiner@gmail.com>2018-09-20 13:31:45 -0700
committerMathias Preiner <mathias.preiner@gmail.com>2018-09-22 16:30:59 -0700
commite86a06829491bae68cef1b2156d245874516fd17 (patch)
tree64cc697a63dc6d48f536671d951c7be5fd5e7679 /cmake/Helpers.cmake
parentfe83ed76f721b7bc631f75440375fce8dc35da50 (diff)
cmake: Add more documentation, some fixes and cleanup.
Diffstat (limited to 'cmake/Helpers.cmake')
-rw-r--r--cmake/Helpers.cmake12
1 files changed, 12 insertions, 0 deletions
diff --git a/cmake/Helpers.cmake b/cmake/Helpers.cmake
index 86008e0d2..ec7216452 100644
--- a/cmake/Helpers.cmake
+++ b/cmake/Helpers.cmake
@@ -1,6 +1,7 @@
include(CheckCCompilerFlag)
include(CheckCXXCompilerFlag)
+# Add a C flag to the global list of C flags.
macro(add_c_flag flag)
if(CMAKE_C_FLAGS)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
@@ -10,6 +11,7 @@ macro(add_c_flag flag)
message(STATUS "Configuring with C flag '${flag}'")
endmacro()
+# Add a CXX flag to the global list of CXX flags.
macro(add_cxx_flag flag)
if(CMAKE_CXX_FLAGS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
@@ -19,11 +21,13 @@ macro(add_cxx_flag flag)
message(STATUS "Configuring with CXX flag '${flag}'")
endmacro()
+# Add a C and CXX flag to the global list of C/CXX flags.
macro(add_c_cxx_flag flag)
add_c_flag(${flag})
add_cxx_flag(${flag})
endmacro()
+# Check if C flag is supported and add to global list of C flags.
macro(add_check_c_flag flag)
string(REGEX REPLACE "[-=]" "_" flagname ${flag})
check_c_compiler_flag("${flag}" HAVE_FLAG${flagname})
@@ -32,6 +36,7 @@ macro(add_check_c_flag flag)
endif()
endmacro()
+# Check if CXX flag is supported and add to global list of CXX flags.
macro(add_check_cxx_flag flag)
string(REGEX REPLACE "[-=]" "_" flagname ${flag})
check_cxx_compiler_flag("${flag}" HAVE_FLAG${flagname})
@@ -40,11 +45,14 @@ macro(add_check_cxx_flag flag)
endif()
endmacro()
+# Check if C/CXX flag is supported and add to global list of C/CXX flags.
macro(add_check_c_cxx_flag flag)
add_check_c_flag(${flag})
add_check_cxx_flag(${flag})
endmacro()
+# Add required CXX flag. Configuration fails if the CXX flag is not supported
+# by the compiler.
macro(add_required_cxx_flag flag)
string(REGEX REPLACE "[-=]" "_" flagnamename ${flag})
check_cxx_compiler_flag("${flag}" HAVE_FLAG${flagname})
@@ -54,6 +62,8 @@ macro(add_required_cxx_flag flag)
add_cxx_flag(${flag})
endmacro()
+# Add required C flag. Configuration fails if the C flag is not supported by
+# the compiler.
macro(add_required_c_flag flag)
string(REGEX REPLACE "[-=]" "_" flagname ${flag})
check_c_compiler_flag("${flag}" HAVE_FLAG${flagname})
@@ -63,6 +73,8 @@ macro(add_required_c_flag flag)
add_c_flag(${flag})
endmacro()
+# Add requied C/CXX flag. Configuration fails if the C/CXX flag is not
+# supported by the compiler.
macro(add_required_c_cxx_flag flag)
add_required_c_flag(${flag})
add_required_cxx_flag(${flag})
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback