From 4fe413a419e2baf23b835bbf1b9739de40c624de Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 23 Nov 2015 15:45:52 +1100 Subject: [PATCH] CMake: use -Wshadow warning for C source C source now builds without shadowing, enable with GCC by default. --- CMakeLists.txt | 5 +++++ intern/mikktspace/CMakeLists.txt | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7319a34d11b..507676667c9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2602,6 +2602,11 @@ if(CMAKE_COMPILER_IS_GNUCC) ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_REDUNDANT_DECLS -Wredundant-decls) endif() + # versions before gcc4.8 include global name-space. + if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.8") + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_SHADOW -Wshadow) + endif() + # disable because it gives warnings for printf() & friends. # ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_DOUBLE_PROMOTION -Wdouble-promotion -Wno-error=double-promotion) diff --git a/intern/mikktspace/CMakeLists.txt b/intern/mikktspace/CMakeLists.txt index e48b0240f98..8abd9559358 100644 --- a/intern/mikktspace/CMakeLists.txt +++ b/intern/mikktspace/CMakeLists.txt @@ -23,6 +23,13 @@ # # ***** END GPL LICENSE BLOCK ***** +if(CMAKE_COMPILER_IS_GNUCC) + remove_cc_flag( + "-Wshadow" + "-Werror=shadow" + ) +endif() + set(INC . )