# This file contains compile flags and general build configuration for Quassel
#
-# (C) 2014-2019 by the Quassel Project <devel@quassel-irc.org>
+# (C) 2014-2020 by the Quassel Project <devel@quassel-irc.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-fdiagnostics-color=always
-fexceptions
-fno-common
- -fstack-protector-strong
-Wall
-Wextra
-Wcast-align
-Wvla
-Werror=return-type
"$<$<BOOL:${FATAL_WARNINGS}>:-Werror>"
+ -Wno-error=deprecated-declarations # Don't break on Qt upgrades
-Wno-unknown-pragmas
"$<$<NOT:$<CONFIG:Debug>>:-U_FORTIFY_SOURCE;-D_FORTIFY_SOURCE=2>"
)
+ # ssp is currently very broken on MinGW
+ if(NOT MINGW)
+ add_compile_options(-fstack-protector-strong)
+ endif()
+
# Check for and set linker flags
check_and_set_linker_flag("-Wl,-z,relro" RELRO LINKER_FLAGS)
check_and_set_linker_flag("-Wl,-z,now" NOW LINKER_FLAGS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4456")
# C4458: declaration of 'identifier' hides class member
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4458")
+ # C4996: deprecation warnings
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4996")
# Link against the correct version of the C runtime
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/NODEFAULTLIB:libcmt /DEFAULTLIB:msvcrt ${CMAKE_EXE_LINKER_FLAGS_RELEASE}")