summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Holman <dholman@gymli.org>2024-11-19 14:40:34 -0600
committerDanny Holman <dholman@gymli.org>2024-11-19 14:40:34 -0600
commite5da500489437c21baad5d0d1436fa98a6c6f990 (patch)
tree58068d7ff881d3bae83c1d960fa39a15aa3289d7
parent534aba7074ff2ddcbeb5f4eae850fde7f65b94b9 (diff)
build: add a function that enables compiler flags
Add a function that enables a specified compiler flag. Signed-off-by: Danny Holman <dholman@gymli.org>
-rw-r--r--CMake/EnableCFLAG.cmake12
1 files changed, 12 insertions, 0 deletions
diff --git a/CMake/EnableCFLAG.cmake b/CMake/EnableCFLAG.cmake
new file mode 100644
index 0000000..1a3df38
--- /dev/null
+++ b/CMake/EnableCFLAG.cmake
@@ -0,0 +1,12 @@
+include(CheckCCompilerFlag)
+
+function(enable_c_compiler_flag_if_supported flag)
+ string(FIND "${CMAKE_C_FLAGS}" "${flag}" flag_already_set)
+ if (flag_already_set EQUAL -1)
+ check_c_compiler_flag("${flag}" flag_supported)
+ if (flag_supported)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}" PARENT_SCOPE)
+ endif ()
+ unset(flag_supported CACHE)
+ endif ()
+endfunction ()