mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
cleanup: simplify maintainer.cmake
This commit is contained in:
parent
7407313f11
commit
4418abb267
1 changed files with 21 additions and 45 deletions
|
@ -14,56 +14,32 @@
|
|||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
# Common warning flags for GCC, G++, Clang and Clang++
|
||||
SET(MY_WARNING_FLAGS "-Wall -Wextra -Wformat-security -Wno-init-self")
|
||||
MY_CHECK_C_COMPILER_FLAG("-Wvla") # Requires GCC 4.3+ or Clang
|
||||
IF(HAVE_C__Wvla)
|
||||
SET(MY_WARNING_FLAGS "${MY_WARNING_FLAGS} -Wvla")
|
||||
ENDIF()
|
||||
|
||||
MY_CHECK_C_COMPILER_FLAG("-Wno-format-truncation")
|
||||
IF(HAVE_C__Wno_format_truncation)
|
||||
SET(MY_WARNING_FLAGS "${MY_WARNING_FLAGS} -Wno-format-truncation")
|
||||
ENDIF()
|
||||
|
||||
MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-nonnull-compare")
|
||||
|
||||
# Common warning flags for GCC and Clang
|
||||
SET(MY_C_WARNING_FLAGS
|
||||
"${MY_WARNING_FLAGS} -Wwrite-strings -Wdeclaration-after-statement")
|
||||
|
||||
# Common warning flags for G++ and Clang++
|
||||
SET(MY_CXX_WARNING_FLAGS
|
||||
"${MY_WARNING_FLAGS} -Woverloaded-virtual -Wno-unused-parameter")
|
||||
|
||||
# Extra warning flags for Clang++
|
||||
IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
SET(MY_CXX_WARNING_FLAGS
|
||||
"${MY_CXX_WARNING_FLAGS} -Wno-null-conversion -Wno-unused-private-field")
|
||||
ENDIF()
|
||||
|
||||
# Turn on Werror (warning => error) when using maintainer mode.
|
||||
IF(MYSQL_MAINTAINER_MODE MATCHES "ERR")
|
||||
SET(MY_C_WARNING_FLAGS "${MY_C_WARNING_FLAGS} -DFORCE_INIT_OF_VARS -Werror")
|
||||
SET(MY_CXX_WARNING_FLAGS "${MY_CXX_WARNING_FLAGS} -DFORCE_INIT_OF_VARS -Werror")
|
||||
ENDIF()
|
||||
|
||||
# Set warning flags for GCC/Clang
|
||||
IF(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
|
||||
SET(MY_MAINTAINER_C_WARNINGS "${MY_C_WARNING_FLAGS}")
|
||||
ENDIF()
|
||||
# Set warning flags for G++/Clang++
|
||||
IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
||||
SET(MY_MAINTAINER_CXX_WARNINGS "${MY_CXX_WARNING_FLAGS}")
|
||||
ENDIF()
|
||||
SET(MY_WARNING_FLAGS
|
||||
-Wall
|
||||
-Wdeclaration-after-statement
|
||||
-Wextra
|
||||
-Wformat-security
|
||||
-Wno-format-truncation
|
||||
-Wno-init-self
|
||||
-Wno-nonnull-compare
|
||||
-Wno-null-conversion
|
||||
-Wno-unused-parameter
|
||||
-Wno-unused-private-field
|
||||
-Woverloaded-virtual
|
||||
-Wvla
|
||||
-Wwrite-strings
|
||||
)
|
||||
|
||||
IF(MYSQL_MAINTAINER_MODE MATCHES "ON")
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_MAINTAINER_C_WARNINGS}")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_MAINTAINER_CXX_WARNINGS}")
|
||||
SET(WHERE)
|
||||
ELSEIF(MYSQL_MAINTAINER_MODE MATCHES "AUTO")
|
||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${MY_MAINTAINER_C_WARNINGS}")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${MY_MAINTAINER_CXX_WARNINGS}")
|
||||
SET(WHERE DEBUG)
|
||||
ENDIF()
|
||||
|
||||
FOREACH(F ${MY_WARNING_FLAGS})
|
||||
MY_CHECK_AND_SET_COMPILER_FLAG(${F} ${WHERE})
|
||||
ENDFOREACH()
|
||||
|
||||
IF(CMAKE_C_COMPILER_ID MATCHES "GNU")
|
||||
STRING(REPLACE " -E " " -E -dDI " CMAKE_C_CREATE_PREPROCESSED_SOURCE ${CMAKE_C_CREATE_PREPROCESSED_SOURCE})
|
||||
ENDIF()
|
||||
|
|
Loading…
Add table
Reference in a new issue