aboutsummaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-08-09 02:56:28 +0200
committercrueter <crueter@eden-emu.dev>2026-08-09 02:56:28 +0200
commitc4ab2f6b9eaa65a266ad7b9339eb1fc57983476b (patch)
tree09826b1326085753c7f8b9c46c3877a13613b8dc /src/CMakeLists.txt
parentdd12266c26f6e1bf0091041d22fbbd68886d0a40 (diff)
[cmake] Add ENABLE_WERROR option (#4080)
Should warnings be errors? that's a philosophical debate which I can only answer with "no, but if you think otherwise here is an option for you" Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4080 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a6d526c5eb..882aff70f0 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -155,12 +155,24 @@ else()
$<$<COMPILE_LANGUAGE:CXX>:-fno-rtti>)
endif()
+ if (ENABLE_WERROR)
+ add_compile_options(
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=all>
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=extra>
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=missing-declarations>
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=shadow>
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=unused>)
+ else()
+ add_compile_options(
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Wall>
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Wextra>
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Wmissing-declarations>
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Wshadow>
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Wunused>
+ # Some compilers could particularly misbehave :)
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Wno-error-all>)
+ endif()
add_compile_options(
- $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=all>
- $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=extra>
- $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=missing-declarations>
- $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=shadow>
- $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=unused>
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-attributes>
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-invalid-offsetof>
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unused-parameter>
@@ -169,9 +181,9 @@ else()
if (CXX_CLANG OR CXX_ICC OR CXX_APPLE) # Clang, AppleClang, or Intel C++
if (NOT MSVC)
add_compile_options(
- $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=shadow-uncaptured-local>
- $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=implicit-fallthrough>
- $<$<COMPILE_LANGUAGE:C,CXX>:-Werror=type-limits>)
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Wshadow-uncaptured-local>
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Wimplicit-fallthrough>
+ $<$<COMPILE_LANGUAGE:C,CXX>:-Wtype-limits>)
endif()
add_compile_options(
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-braced-scalar-init>