From 6acef4edf8ec353313f84103162c3064ecd2efb6 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Thu, 4 May 2023 11:07:52 +0200 Subject: [PATCH] cmake: Enforce -Wmaybe-uninitialized to never turn into an error --- cmake/Modules/CompilerConfig.cmake | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/cmake/Modules/CompilerConfig.cmake b/cmake/Modules/CompilerConfig.cmake index 41c56da8b4cee..849d19de75ccf 100644 --- a/cmake/Modules/CompilerConfig.cmake +++ b/cmake/Modules/CompilerConfig.cmake @@ -100,6 +100,13 @@ else() endif() option(CALM_DEPRECATION "Keep deprecated-declarations as warnings" OFF) + #[[ + Note about -Wmaybe-uninitialized on GCC, this warning seems to be subject of various regressions and false positives. This + warning is set to not turn into an error. + + - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105562 for 12.1.0 + - https://github.com/obsproject/obs-studio/issues/8850 for 13.1.1 + ]] add_compile_options( -Werror -Wextra @@ -117,19 +124,13 @@ else() "$<$:-DDEBUG=1;-D_DEBUG=1>" "$<$:-Wnull-conversion;-fcolor-diagnostics;-Wno-error=shorten-64-to-32>" "$<$:-Wnull-conversion;-fcolor-diagnostics;-Wno-error=shorten-64-to-32>" - "$<$:-Wconversion-null>" + "$<$:-Wconversion-null;-Wno-error=maybe-uninitialized>" + "$<$:-Wno-error=maybe-uninitialized>" "$<$:-Wno-error=deprecated-declarations>") - if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - # GCC on aarch64 emits type-limits warnings that do not appear on x86_64 - if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") - add_compile_options(-Wno-error=type-limits) - endif() - - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105562 - if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "12.1.0") - add_compile_options(-Wno-error=maybe-uninitialized) - endif() + # GCC on aarch64 emits type-limits warnings that do not appear on x86_64 + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") + add_compile_options(-Wno-error=type-limits) endif() if(OBS_CODESIGN_LINKER)