Use -Werror for all code except protobuf generated

protobuf files will use -Wno-error
This commit is contained in:
Srivats P 2021-02-21 12:19:00 +05:30
parent 741202ca76
commit e79b61b189
2 changed files with 20 additions and 2 deletions

View File

@ -1,3 +1,3 @@
QMAKE_CXXFLAGS += -isystem $$[QT_INSTALL_HEADERS] -std=c++11 QMAKE_CXXFLAGS += -isystem $$[QT_INSTALL_HEADERS] -std=c++11
CONFIG(debug, debug|release): QMAKE_CXXFLAGS_WARN_ON += -Wall -W -Wextra -Werror -Wno-error CONFIG(debug, debug|release): QMAKE_CXXFLAGS_WARN_ON += -Wall -W -Wextra -Werror
CONFIG(debug, debug|release): QMAKE_CXXFLAGS_WARN_ON += -Wno-deprecated-declarations CONFIG(debug, debug|release): QMAKE_CXXFLAGS_WARN_ON += -Wno-deprecated-declarations

View File

@ -1,5 +1,6 @@
# #
# Qt qmake integration with Google Protocol Buffers compiler protoc # Qt qmake integration with Google Protocol Buffers compiler protoc
# Author: Srivats P.
# #
# To compile protocol buffers with qt qmake, specify PROTOS variable and # To compile protocol buffers with qt qmake, specify PROTOS variable and
# include this file # include this file
@ -17,6 +18,8 @@ PROTOPATH += .
PROTOPATHS = PROTOPATHS =
for(p, PROTOPATH):PROTOPATHS += --proto_path=$${p} for(p, PROTOPATH):PROTOPATHS += --proto_path=$${p}
PROTO_CC += $$replace(PROTOS, \.proto, .pb.cc)
protobuf_decl.name = protobuf header protobuf_decl.name = protobuf header
protobuf_decl.input = PROTOS protobuf_decl.input = PROTOS
protobuf_decl.output = ${QMAKE_FILE_BASE}.pb.h protobuf_decl.output = ${QMAKE_FILE_BASE}.pb.h
@ -29,5 +32,20 @@ protobuf_impl.input = PROTOS
protobuf_impl.output = ${QMAKE_FILE_BASE}.pb.cc protobuf_impl.output = ${QMAKE_FILE_BASE}.pb.cc
protobuf_impl.depends = ${QMAKE_FILE_BASE}.pb.h protobuf_impl.depends = ${QMAKE_FILE_BASE}.pb.h
protobuf_impl.commands = $$escape_expand(\\n) protobuf_impl.commands = $$escape_expand(\\n)
protobuf_impl.variable_out = GENERATED_SOURCES protobuf_impl.variable_out = GENERATED_FILES
QMAKE_EXTRA_COMPILERS += protobuf_impl QMAKE_EXTRA_COMPILERS += protobuf_impl
# protobuf generated code emits compiler warnings, so use -Wno-error to
# compile 'em; if and when protobuf generates clean code, make the following
# changes -
# - protobuf_impl.variable_out = GENERATED_FILES
# + protobuf_impl.variable_out = GENERATED_SOURCES
# - QMAKE_EXTRA_COMPILERS += protobuf_cc
# - #QMAKE_EXTRA_COMPILERS += protobuf_cc
protobuf_cc.name = protobuf cc compilation
protobuf_cc.input = PROTO_CC
protobuf_cc.output = ${QMAKE_FILE_BASE}.o
protobuf_cc.dependency_type = TYPE_C
protobuf_cc.commands = $(CXX) -c $(CXXFLAGS) -Wno-error $(INCPATH) -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
protobuf_cc.variable_out = OBJECTS
QMAKE_EXTRA_COMPILERS += protobuf_cc