Commit 3dbe1534 authored by Dominik Charousset's avatar Dominik Charousset

Fix flags for --more-clang-warnings

parent 05d2dcf3
...@@ -102,35 +102,37 @@ if(NOT WIN32 AND NOT NO_COMPILER_CHECK) ...@@ -102,35 +102,37 @@ if(NOT WIN32 AND NOT NO_COMPILER_CHECK)
endif() endif()
endif() endif()
# set optional build flags # set optional build flags
set(CXX_EXTRA_FLAGS "") set(EXTRA_FLAGS "")
# add "-Werror" flag if --pedantic-build is used # add "-Werror" flag if --pedantic-build is used
if(CXX_WARNINGS_AS_ERROS) if(CXX_WARNINGS_AS_ERROS)
set(CXX_EXTRA_FLAGS "-Werror") set(EXTRA_FLAGS "-Werror")
endif() endif()
# enable a ton of warnings if --more-clang-warnings is used # enable a ton of warnings if --more-clang-warnings is used
if(MORE_CLANG_WARNINGS AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") if(MORE_CLANG_WARNINGS AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CXX_EXTRA_FLAGS "${CXX_EXTRA_FLAGS} -Weverything -Wno-c++98-compat " set(WFLAGS "-Weverything -Wno-c++98-compat -Wno-padded -Wno-missing-noreturn "
"-Wno-padded -Wno-documentation-unknown-command " "-Wno-documentation-unknown-command -Wno-exit-time-destructors "
"-Wno-exit-time-destructors -Wno-global-constructors " "-Wno-global-constructors -Wno-missing-prototypes "
"-Wno-missing-prototypes -Wno-c++98-compat-pedantic " "-Wno-c++98-compat-pedantic -Wno-unused-member-function "
"-Wno-unused-member-function " "-Wno-unused-const-variable -Wno-switch-enum")
"-Wno-unused-const-variable") string(REPLACE ";" "" WFLAGS_STR ${WFLAGS})
set(EXTRA_FLAGS "${EXTRA_FLAGS} ${WFLAGS_STR}")
endif() endif()
# add -stdlib=libc++ when using Clang # add -stdlib=libc++ when using Clang
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
message(STATUS "NOTE: Automatically added -stdlib=libc++ flag, " message(STATUS "NOTE: Automatically added -stdlib=libc++ flag, "
"you can override this by defining CMAKE_CXX_FLAGS " "you can override this by defining CMAKE_CXX_FLAGS "
"(see 'configure --help')") "(see 'configure --help')")
set(CXX_EXTRA_FLAGS "${CXX_EXTRA_FLAGS} -stdlib=libc++") set(EXTRA_FLAGS "${EXTRA_FLAGS} -stdlib=libc++")
endif() endif()
# enable address sanitizer if requested by the user # enable address sanitizer if requested by the user
if(ENABLE_ADDRESS_SANITIZER) if(ENABLE_ADDRESS_SANITIZER)
message(STATUS "Enable address sanitizer") message(STATUS "Enable address sanitizer")
set(CXX_EXTRA_FLAGS "${CXX_EXTRA_FLAGS} -fsanitize=address -fno-omit-frame-pointer") set(EXTRA_FLAGS
"${EXTRA_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
endif(ENABLE_ADDRESS_SANITIZER) endif(ENABLE_ADDRESS_SANITIZER)
# -pthread is ignored on MacOSX but required on other platforms # -pthread is ignored on MacOSX but required on other platforms
if(NOT APPLE AND NOT WIN32) if(NOT APPLE AND NOT WIN32)
set(CXX_EXTRA_FLAGS "${CXX_EXTRA_FLAGS} -pthread") set(EXTRA_FLAGS "${EXTRA_FLAGS} -pthread")
endif() endif()
# check if the user provided CXXFLAGS, set defaults otherwise # check if the user provided CXXFLAGS, set defaults otherwise
if(CMAKE_CXX_FLAGS) if(CMAKE_CXX_FLAGS)
...@@ -139,7 +141,7 @@ if(CMAKE_CXX_FLAGS) ...@@ -139,7 +141,7 @@ if(CMAKE_CXX_FLAGS)
set(CMAKE_CXX_FLAGS_RELEASE "") set(CMAKE_CXX_FLAGS_RELEASE "")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "")
else() else()
set(CMAKE_CXX_FLAGS "-std=c++11 -Wextra -Wall -pedantic -fPIC ${CXX_EXTRA_FLAGS}") set(CMAKE_CXX_FLAGS "-std=c++11 -Wextra -Wall -pedantic -fPIC ${EXTRA_FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os") set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment