Revision: 32674
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32674
Author:   campbellbarton
Date:     2010-10-24 05:57:07 +0200 (Sun, 24 Oct 2010)

Log Message:
-----------
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.

Modified Paths:
--------------
    trunk/blender/build_files/cmake/macros.cmake
    trunk/blender/extern/CMakeLists.txt
    trunk/blender/source/blender/makesrna/intern/CMakeLists.txt
    trunk/blender/source/blender/render/CMakeLists.txt
    trunk/blender/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt

Modified: trunk/blender/build_files/cmake/macros.cmake
===================================================================
--- trunk/blender/build_files/cmake/macros.cmake        2010-10-24 02:02:37 UTC 
(rev 32673)
+++ trunk/blender/build_files/cmake/macros.cmake        2010-10-24 03:57:07 UTC 
(rev 32674)
@@ -238,7 +238,42 @@
 
 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)
        STRING(REGEX REPLACE "\n" ";" CONTENT "${CONTENT}")

Modified: trunk/blender/extern/CMakeLists.txt
===================================================================
--- trunk/blender/extern/CMakeLists.txt 2010-10-24 02:02:37 UTC (rev 32673)
+++ trunk/blender/extern/CMakeLists.txt 2010-10-24 03:57:07 UTC (rev 32674)
@@ -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)

Modified: trunk/blender/source/blender/makesrna/intern/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/makesrna/intern/CMakeLists.txt 2010-10-24 
02:02:37 UTC (rev 32673)
+++ trunk/blender/source/blender/makesrna/intern/CMakeLists.txt 2010-10-24 
03:57:07 UTC (rev 32674)
@@ -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")

Modified: trunk/blender/source/blender/render/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/render/CMakeLists.txt  2010-10-24 02:02:37 UTC 
(rev 32673)
+++ trunk/blender/source/blender/render/CMakeLists.txt  2010-10-24 03:57:07 UTC 
(rev 32674)
@@ -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

Modified: trunk/blender/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
===================================================================
--- trunk/blender/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt      
2010-10-24 02:02:37 UTC (rev 32673)
+++ trunk/blender/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt      
2010-10-24 03:57:07 UTC (rev 32674)
@@ -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 
        .


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to