Added CMake macro REMOVE_STRICT_FLAGS(), this means developers can build with -Werror in their CMAKE_C_FLAGS_DEBUG (so all warnings give errors).
but external libs which we don't maintain & generated code will have -Werror removed. This is GCC only, MSVC can be added easily.
This commit is contained in:
@@ -238,6 +238,41 @@ MACRO(TEST_SSE_SUPPORT)
|
||||
|
||||
ENDMACRO(TEST_SSE_SUPPORT)
|
||||
|
||||
# when we have warnings as errors applied globally this
|
||||
# needs to be removed for some external libs which we dont maintain.
|
||||
|
||||
# utility macro
|
||||
MACRO(_REMOVE_STRICT_FLAGS
|
||||
flag)
|
||||
|
||||
STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
|
||||
STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
|
||||
STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
|
||||
STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_MINSIZEREL ${CMAKE_C_FLAGS_MINSIZEREL})
|
||||
STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO})
|
||||
|
||||
STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
|
||||
STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
|
||||
STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
|
||||
STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS_MINSIZEREL})
|
||||
STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
|
||||
|
||||
ENDMACRO(_REMOVE_STRICT_FLAGS)
|
||||
|
||||
MACRO(REMOVE_STRICT_FLAGS)
|
||||
|
||||
IF(CMAKE_COMPILER_IS_GNUCC)
|
||||
_REMOVE_STRICT_FLAGS("-Wunused-parameter")
|
||||
_REMOVE_STRICT_FLAGS("-Werror=[^ ]+")
|
||||
_REMOVE_STRICT_FLAGS("-Werror")
|
||||
ENDIF(CMAKE_COMPILER_IS_GNUCC)
|
||||
|
||||
IF(MSVC)
|
||||
# TODO
|
||||
ENDIF(MSVC)
|
||||
|
||||
ENDMACRO(REMOVE_STRICT_FLAGS)
|
||||
|
||||
|
||||
MACRO(GET_BLENDER_VERSION)
|
||||
FILE(READ ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender.h CONTENT)
|
||||
|
2
extern/CMakeLists.txt
vendored
2
extern/CMakeLists.txt
vendored
@@ -25,7 +25,7 @@
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
# Otherwise we get warnings here that we cant fix in external projects
|
||||
STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
|
||||
REMOVE_STRICT_FLAGS()
|
||||
|
||||
IF(WITH_BULLET)
|
||||
ADD_SUBDIRECTORY(bullet2)
|
||||
|
@@ -24,8 +24,8 @@
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
# this warning on generated files gets annoying
|
||||
STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
|
||||
# Generated code has some unused vars we can ignore.
|
||||
REMOVE_STRICT_FLAGS()
|
||||
|
||||
FILE(GLOB DEFSRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.c")
|
||||
FILE(GLOB APISRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*_api.c")
|
||||
|
@@ -25,7 +25,7 @@
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
# remove warning until render branch merged.
|
||||
STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
|
||||
REMOVE_STRICT_FLAGS()
|
||||
|
||||
SET(INC
|
||||
intern/include
|
||||
|
@@ -25,7 +25,7 @@
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
# this warning on generated files gets annoying
|
||||
STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
|
||||
REMOVE_STRICT_FLAGS()
|
||||
|
||||
SET(INC
|
||||
.
|
||||
|
Reference in New Issue
Block a user