Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-10-24 07:57:07 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-10-24 07:57:07 +0400
commitc7ff23cc34e67e0c8f292fe19c4af4af05b15f1c (patch)
tree7d1042471c76dc5ea79c9dad427318d9b6083536
parentea5670f4b597828bfb0170f9b659d19ebdb5ab33 (diff)
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.
-rw-r--r--build_files/cmake/macros.cmake35
-rw-r--r--extern/CMakeLists.txt2
-rw-r--r--source/blender/makesrna/intern/CMakeLists.txt4
-rw-r--r--source/blender/render/CMakeLists.txt2
-rw-r--r--source/blenderplayer/bad_level_call_stubs/CMakeLists.txt2
5 files changed, 40 insertions, 5 deletions
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index 9237f01a950..afd5f302314 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -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)
diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt
index 61acff4cfe4..1dc610cc1b4 100644
--- a/extern/CMakeLists.txt
+++ b/extern/CMakeLists.txt
@@ -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)
diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt
index 97e16bba057..5fd7ae1bd8a 100644
--- a/source/blender/makesrna/intern/CMakeLists.txt
+++ b/source/blender/makesrna/intern/CMakeLists.txt
@@ -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")
diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt
index f2da8f4d13e..bed48a3fd17 100644
--- a/source/blender/render/CMakeLists.txt
+++ b/source/blender/render/CMakeLists.txt
@@ -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
diff --git a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
index a40c0f19725..a242c8b7551 100644
--- a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
+++ b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
@@ -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
.