Tweak warning settings more, compilerwise

This commit is contained in:
Dmitry Marakasov 2016-02-27 05:53:53 +03:00
parent 3b90f0e4a6
commit 4f801ab190

View File

@ -68,6 +68,7 @@ ELSE(SDL2PP_WITH_MIXER)
ENDIF(SDL2PP_WITH_MIXER)
# compiler flags & definitions
MESSAGE(STATUS "Compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
IF(MSVC)
SET(SDL2PP_WARNINGS "${SDL2PP_WARNINGS} /W3")
SET(SDL2PP_WERROR_FLAG "/WX")
@ -82,17 +83,26 @@ ELSE(MSVC)
INCLUDE(AppendCXXFlagIfSupported)
IF(SDL2PP_EXTENDED_CLANG_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Weverything SDL2PP_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Wno-c++98-compat SDL2PP_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Wno-c++98-compat-pedantic SDL2PP_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Wno-padded SDL2PP_WARNINGS)
ENDIF(SDL2PP_EXTENDED_CLANG_WARNINGS)
IF(CMAKE_COMPILER_IS_GNUCXX)
# gcc
IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1.1)
# gcc < 5 has overly strict missing initializers warning, fixed in later versions
# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36750
APPEND_CXX_FLAG_IF_SUPPORTED(-Wno-missing-field-initializers SDL2PP_WARNINGS)
ENDIF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1.1)
ELSEIF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
# clang
IF(SDL2PP_EXTENDED_CLANG_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Weverything SDL2PP_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Wno-c++98-compat SDL2PP_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Wno-c++98-compat-pedantic SDL2PP_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Wno-padded SDL2PP_WARNINGS)
ENDIF(SDL2PP_EXTENDED_CLANG_WARNINGS)
# always try to enable some warnings beyond -Wall
APPEND_CXX_FLAG_IF_SUPPORTED(-Wmissing-prototypes SDL2PP_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Wtautological-compare SDL2PP_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Wshorten-64-to-32 SDL2PP_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Wmissing-prototypes SDL2PP_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Wtautological-compare SDL2PP_WARNINGS)
APPEND_CXX_FLAG_IF_SUPPORTED(-Wshorten-64-to-32 SDL2PP_WARNINGS)
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
ENDIF(MSVC)
LIST(REMOVE_DUPLICATES SDL2_ALL_INCLUDE_DIRS)