[EFL] Enable -Werror for the EFL port
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Nov 2012 14:03:14 +0000 (14:03 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Nov 2012 14:03:14 +0000 (14:03 +0000)
https://bugs.webkit.org/show_bug.cgi?id=98715

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-11-09
Reviewed by Gyuyoung Kim.

Treat all warnings as errors, except the existing warnings in the
current code base ("unused-parameter", "sign-compare" and "switch").

Thanks for Raphael Kubo da Costa for the extra help.

* Source/CMakeLists.txt: Enable warnings as error for all libraries
(except WebKit and WebKit2) for the EFL port.
Other cmake-based ports are welcome to join.

* Source/cmake/WebKitHelpers.cmake: Treat warnings as errors by
default for cmake-based ports when ENABLE_WERROR is set.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@134057 268f45cc-cd09-0410-ab3c-d52691b4dbfc

ChangeLog
Source/CMakeLists.txt
Source/cmake/WebKitHelpers.cmake

index af6d976..87899aa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2012-11-09  Laszlo Gombos  <l.gombos@samsung.com>
+
+        [EFL] Enable -Werror for the EFL port
+        https://bugs.webkit.org/show_bug.cgi?id=98715
+
+        Reviewed by Gyuyoung Kim.
+
+        Treat all warnings as errors, except the existing warnings in the
+        current code base ("unused-parameter", "sign-compare" and "switch").
+
+        Thanks for Raphael Kubo da Costa for the extra help.      
+
+        * Source/CMakeLists.txt: Enable warnings as error for all libraries
+        (except WebKit and WebKit2) for the EFL port. 
+        Other cmake-based ports are welcome to join.
+
+        * Source/cmake/WebKitHelpers.cmake: Treat warnings as errors by
+        default for cmake-based ports when ENABLE_WERROR is set.
+
 2012-11-08  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
 
         [EFL] Turn WTF_USE_TILED_BACKING_STORE in OptionsEfl.cmake.
index a1d410e..c843f0a 100644 (file)
@@ -26,12 +26,16 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
 # -----------------------------------------------------------------------------
 # Set compiler flags for all targets
 # -----------------------------------------------------------------------------
-WEBKIT_SET_EXTRA_COMPILER_FLAGS(${WTF_LIBRARY_NAME})
-WEBKIT_SET_EXTRA_COMPILER_FLAGS(${JavaScriptCore_LIBRARY_NAME})
-WEBKIT_SET_EXTRA_COMPILER_FLAGS(${WebCoreTestSupport_LIBRARY_NAME})
+IF (${PORT} STREQUAL "Efl")
+    SET(ADDITIONAL_FLAGS ENABLE_WERROR)
+ENDIF ()
+
+WEBKIT_SET_EXTRA_COMPILER_FLAGS(${WTF_LIBRARY_NAME} ${ADDITIONAL_FLAGS})
+WEBKIT_SET_EXTRA_COMPILER_FLAGS(${JavaScriptCore_LIBRARY_NAME} ${ADDITIONAL_FLAGS})
+WEBKIT_SET_EXTRA_COMPILER_FLAGS(${WebCoreTestSupport_LIBRARY_NAME} ${ADDITIONAL_FLAGS})
 
 IF (ENABLE_WEBCORE)
-    WEBKIT_SET_EXTRA_COMPILER_FLAGS(${WebCore_LIBRARY_NAME})
+    WEBKIT_SET_EXTRA_COMPILER_FLAGS(${WebCore_LIBRARY_NAME} ${ADDITIONAL_FLAGS})
 ENDIF ()
 
 IF (ENABLE_WEBKIT)
index b151fbc..cdab7e2 100644 (file)
@@ -2,8 +2,8 @@ INCLUDE(CMakeParseArguments)
 # Sets extra compile flags for a target, depending on the compiler being used.
 # Currently, only GCC is supported.
 MACRO(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
-  SET(options IGNORECXX_WARNINGS)
-  CMAKE_PARSE_ARGUMENTS("OPTION" "IGNORECXX_WARNINGS" "" "" ${ARGN})
+  SET(options ENABLE_WERROR IGNORECXX_WARNINGS)
+  CMAKE_PARSE_ARGUMENTS("OPTION" "${options}" "" "" ${ARGN})
   IF (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
     GET_TARGET_PROPERTY(OLD_COMPILE_FLAGS ${_target} COMPILE_FLAGS)
     IF (${OLD_COMPILE_FLAGS} STREQUAL "OLD_COMPILE_FLAGS-NOTFOUND")
@@ -37,7 +37,12 @@ MACRO(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
 
     # Enable warnings by default
     IF (NOT ${OPTION_IGNORECXX_WARNINGS})
-        SET(OLD_COMPILE_FLAGS "-DANOTHER_BRICK_IN_THE -Wall -Wextra -Wcast-align -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wundef -Wwrite-strings ${OLD_COMPILE_FLAGS}")
+        SET(OLD_COMPILE_FLAGS "-Wall -Wextra -Wcast-align -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wundef -Wwrite-strings ${OLD_COMPILE_FLAGS}")
+    ENDIF ()
+
+    # Enable errors on warning
+    IF (OPTION_ENABLE_WERROR)
+        SET(OLD_COMPILE_FLAGS "${OLD_COMPILE_FLAGS} -Werror -Wno-error=unused-parameter -Wno-error=sign-compare -Wno-error=switch")
     ENDIF ()
 
     # Disable C++0x compat warnings for GCC >= 4.6.0 until we build