set(WARNINGS -Wall -Walloca -Warray-parameter -Wbad-function-cast -Wcast-qual -Wconditional-uninitialized -Wconversion -Wdate-time -Wdisabled-optimization -Wdouble-promotion -Wenum-compare -Wenum-conversion -Werror -Wextra -Wextra-semi-stmt -Wfloat-equal -Wformat=2 -Wframe-larger-than=8388608 -Winfinite-recursion -Winit-self -Winvalid-pch -Wlarger-than=1073741824 -Wmissing-braces -Wmissing-declarations -Wmissing-include-dirs -Wmissing-noreturn -Wmissing-prototypes -Wmissing-variable-declarations -Wmultichar -Wnarrowing -Wnested-externs -Wnull-dereference -Wold-style-definition -Woverlength-strings -Wredundant-decls -Wshadow -Wsign-conversion -Wstack-protector -Wstrict-overflow=2 -Wstrict-prototypes -Wundef -Wunreachable-code -Wvla -Wwrite-strings -pedantic -pedantic-errors ) if(0) set(WARNINGS ${WARNINGS} -Weverything -Wno-unsafe-buffer-usage -Wno-c++98-compat -Wno-declaration-after-statement -Wno-pre-c2x-compat -Wno-padded ) endif()