Skip to content

Commit 4418abb

Browse files
committed
cleanup: simplify maintainer.cmake
1 parent 7407313 commit 4418abb

File tree

1 file changed

+21
-45
lines changed

1 file changed

+21
-45
lines changed

cmake/maintainer.cmake

Lines changed: 21 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -14,56 +14,32 @@
1414
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1515

1616
# Common warning flags for GCC, G++, Clang and Clang++
17-
SET(MY_WARNING_FLAGS "-Wall -Wextra -Wformat-security -Wno-init-self")
18-
MY_CHECK_C_COMPILER_FLAG("-Wvla") # Requires GCC 4.3+ or Clang
19-
IF(HAVE_C__Wvla)
20-
SET(MY_WARNING_FLAGS "${MY_WARNING_FLAGS} -Wvla")
21-
ENDIF()
22-
23-
MY_CHECK_C_COMPILER_FLAG("-Wno-format-truncation")
24-
IF(HAVE_C__Wno_format_truncation)
25-
SET(MY_WARNING_FLAGS "${MY_WARNING_FLAGS} -Wno-format-truncation")
26-
ENDIF()
27-
28-
MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-nonnull-compare")
29-
30-
# Common warning flags for GCC and Clang
31-
SET(MY_C_WARNING_FLAGS
32-
"${MY_WARNING_FLAGS} -Wwrite-strings -Wdeclaration-after-statement")
33-
34-
# Common warning flags for G++ and Clang++
35-
SET(MY_CXX_WARNING_FLAGS
36-
"${MY_WARNING_FLAGS} -Woverloaded-virtual -Wno-unused-parameter")
37-
38-
# Extra warning flags for Clang++
39-
IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
40-
SET(MY_CXX_WARNING_FLAGS
41-
"${MY_CXX_WARNING_FLAGS} -Wno-null-conversion -Wno-unused-private-field")
42-
ENDIF()
43-
44-
# Turn on Werror (warning => error) when using maintainer mode.
45-
IF(MYSQL_MAINTAINER_MODE MATCHES "ERR")
46-
SET(MY_C_WARNING_FLAGS "${MY_C_WARNING_FLAGS} -DFORCE_INIT_OF_VARS -Werror")
47-
SET(MY_CXX_WARNING_FLAGS "${MY_CXX_WARNING_FLAGS} -DFORCE_INIT_OF_VARS -Werror")
48-
ENDIF()
49-
50-
# Set warning flags for GCC/Clang
51-
IF(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
52-
SET(MY_MAINTAINER_C_WARNINGS "${MY_C_WARNING_FLAGS}")
53-
ENDIF()
54-
# Set warning flags for G++/Clang++
55-
IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
56-
SET(MY_MAINTAINER_CXX_WARNINGS "${MY_CXX_WARNING_FLAGS}")
57-
ENDIF()
17+
SET(MY_WARNING_FLAGS
18+
-Wall
19+
-Wdeclaration-after-statement
20+
-Wextra
21+
-Wformat-security
22+
-Wno-format-truncation
23+
-Wno-init-self
24+
-Wno-nonnull-compare
25+
-Wno-null-conversion
26+
-Wno-unused-parameter
27+
-Wno-unused-private-field
28+
-Woverloaded-virtual
29+
-Wvla
30+
-Wwrite-strings
31+
)
5832

5933
IF(MYSQL_MAINTAINER_MODE MATCHES "ON")
60-
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_MAINTAINER_C_WARNINGS}")
61-
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_MAINTAINER_CXX_WARNINGS}")
34+
SET(WHERE)
6235
ELSEIF(MYSQL_MAINTAINER_MODE MATCHES "AUTO")
63-
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${MY_MAINTAINER_C_WARNINGS}")
64-
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${MY_MAINTAINER_CXX_WARNINGS}")
36+
SET(WHERE DEBUG)
6537
ENDIF()
6638

39+
FOREACH(F ${MY_WARNING_FLAGS})
40+
MY_CHECK_AND_SET_COMPILER_FLAG(${F} ${WHERE})
41+
ENDFOREACH()
42+
6743
IF(CMAKE_C_COMPILER_ID MATCHES "GNU")
6844
STRING(REPLACE " -E " " -E -dDI " CMAKE_C_CREATE_PREPROCESSED_SOURCE ${CMAKE_C_CREATE_PREPROCESSED_SOURCE})
6945
ENDIF()

0 commit comments

Comments
 (0)