summaryrefslogtreecommitdiff
path: root/libs/cargs/cmake/EnableWarnings.cmake
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2022-08-24 00:02:17 -0500
committersanine <sanine.not@pm.me>2022-08-24 00:02:17 -0500
commit2cb3c3df4099297b0a0554bb482e2de04fe86b5c (patch)
tree7796b4064c16460d9d603707b5256027649aa8b6 /libs/cargs/cmake/EnableWarnings.cmake
parent709e1b6e1ce86f8da4fc136747fcefbc6c6057bd (diff)
add command-line arguments
Diffstat (limited to 'libs/cargs/cmake/EnableWarnings.cmake')
-rwxr-xr-xlibs/cargs/cmake/EnableWarnings.cmake19
1 files changed, 19 insertions, 0 deletions
diff --git a/libs/cargs/cmake/EnableWarnings.cmake b/libs/cargs/cmake/EnableWarnings.cmake
new file mode 100755
index 0000000..bfce52f
--- /dev/null
+++ b/libs/cargs/cmake/EnableWarnings.cmake
@@ -0,0 +1,19 @@
+# enable warnings
+function(enable_warnings target)
+ if(MSVC)
+ target_compile_definitions(${target} PRIVATE _CRT_SECURE_NO_WARNINGS)
+ target_compile_options(${target} PRIVATE /W4)
+ target_compile_options(${target} PRIVATE /WX)
+ elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
+ target_compile_options(${target} PRIVATE -Werror)
+ target_compile_options(${target} PRIVATE -Wall)
+ target_compile_options(${target} PRIVATE -Wextra)
+ target_compile_options(${target} PRIVATE -Wpedantic)
+ target_compile_options(${target} PRIVATE -Wno-gnu-zero-variadic-macro-arguments)
+ elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
+ target_compile_options(${target} PRIVATE -Wall)
+ target_compile_options(${target} PRIVATE -Werror)
+ target_compile_options(${target} PRIVATE -Wextra)
+ target_compile_options(${target} PRIVATE -Wpedantic)
+ endif()
+endfunction() \ No newline at end of file