tweak remove_strict_flags so it can be used with gcc's -Wall
authorCampbell Barton <ideasman42@gmail.com>
Thu, 27 Oct 2011 07:26:41 +0000 (07:26 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 27 Oct 2011 07:26:41 +0000 (07:26 +0000)
build_files/cmake/macros.cmake
intern/opennl/CMakeLists.txt

index bf90ef8..8e5d914 100644 (file)
@@ -377,7 +377,7 @@ endmacro()
 # needs to be removed for some external libs which we dont maintain.
 
 # utility macro
-macro(remove_flag
+macro(remove_cc_flag
        flag)
 
        string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
@@ -394,16 +394,27 @@ macro(remove_flag
 
 endmacro()
 
+macro(add_cc_flag
+       flag)
+
+       set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
+       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
+endmacro()
+
 macro(remove_strict_flags)
 
        if(CMAKE_COMPILER_IS_GNUCC)
-               remove_flag("-Wstrict-prototypes")
-               remove_flag("-Wunused-parameter")
-               remove_flag("-Wwrite-strings")
-               remove_flag("-Wundef")
-               remove_flag("-Wshadow")
-               remove_flag("-Werror=[^ ]+")
-               remove_flag("-Werror")
+               remove_cc_flag("-Wstrict-prototypes")
+               remove_cc_flag("-Wunused-parameter")
+               remove_cc_flag("-Wwrite-strings")
+               remove_cc_flag("-Wundef")
+               remove_cc_flag("-Wshadow")
+               remove_cc_flag("-Werror=[^ ]+")
+               remove_cc_flag("-Werror")
+
+               # negate flags implied by '-Wall'
+               add_cc_flag("-Wno-unused-parameter")
+               add_cc_flag("-Wno-unused-but-set-variable")
        endif()
 
        if(MSVC)
index f146a96..231802b 100644 (file)
@@ -28,7 +28,7 @@ remove_strict_flags()
 
 # remove debug flag here since this is not a blender maintained library
 # and debug gives a lot of prints on UV unwrapping. developers can enable if they need to.
-remove_flag("-DDEBUG")
+remove_cc_flag("-DDEBUG")
 
 
 # quiet compiler warnings about undefined defines