summaryrefslogtreecommitdiff
path: root/libs/cargs/cmake/EnableWarnings.cmake
diff options
context:
space:
mode:
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