Skip to content

Commit

Permalink
cmake: Treat warnings as errors on Clang and GCC
Browse files Browse the repository at this point in the history
-Wformat-security is enabled, some Linux packages build system have it
enabled.
obsproject#5766

-Wunused-parameter is enabled too.

Also ensure that null conversion (C++ only for GCC) is enabled because its
enablement by default can depend on the CMake generator.

-Wswitch is enabled but it is keep as a warning. It was already enabled
with Clang.

If Clang has -Wshorten-64-to-32 enabled, keep it as warnings.
  • Loading branch information
tytan652 committed Nov 18, 2022
1 parent 9bb5603 commit e9d6313
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions cmake/Modules/CompilerConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,23 @@ else()
endif()

add_compile_options(
-Werror
-Wextra
-Wvla
-Wswitch
-Wno-error=switch
-Wformat
-Wformat-security
-Wunused-parameter
-Wno-unused-function
-Wno-missing-field-initializers
-fno-strict-aliasing
"$<$<COMPILE_LANGUAGE:C>:-Werror-implicit-function-declaration;-Wno-missing-braces>"
"$<$<BOOL:${USE_LIBCXX}>:-stdlib=libc++>"
"$<$<CONFIG:DEBUG>:-DDEBUG=1;-D_DEBUG=1>"
"$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-fcolor-diagnostics>"
"$<$<COMPILE_LANG_AND_ID:C,AppleClang,Clang>:-fcolor-diagnostics>")
"$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wnull-conversion;-fcolor-diagnostics;-Wno-error=shorten-64-to-32>"
"$<$<COMPILE_LANG_AND_ID:C,AppleClang,Clang>:-Wnull-conversion;-fcolor-diagnostics;-Wno-error=shorten-64-to-32>"
"$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wconversion-null>")

if(OBS_CODESIGN_LINKER)
add_link_options("LINKER:$<$<PLATFORM_ID:Darwin>:-adhoc_codesign>")
Expand Down

0 comments on commit e9d6313

Please sign in to comment.