Created
February 5, 2015 11:02
-
-
Save buzzySmile/d46f537a810a7d97efc7 to your computer and use it in GitHub Desktop.
Qt qmake integration with Google Protocol Buffers compiler protoc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Qt qmake integration with Google Protocol Buffers compiler protoc | |
# | |
# To compile protocol buffers with qt qmake, specify PROTOS variable and | |
# include this file | |
# | |
# Example: | |
# BITSIZE = $$system(getconf LONG_BIT) | |
# if (contains(BITSIZE, 64)) { | |
# LIBS += /usr/lib/x86_64-linux-gnu/libprotobuf.so | |
# } | |
# if (contains(BITSIZE, 32)) { | |
# LIBS += /usr/lib/libprotobuf.so | |
# } | |
# PROTOS = a.proto b.proto | |
# include(protobuf.pri) | |
# | |
# By default protoc looks for .proto files (including the imported ones) in | |
# the current directory where protoc is run. If you need to include additional | |
# paths specify the PROTOPATH variable | |
message("Generating protocol buffer classes from .proto files.") | |
INCLUDEPATH += $$PWD | |
DEPENDPATH += $$PWD | |
protobuf_decl.name = protobuf headers | |
protobuf_decl.input = PROTOS | |
protobuf_decl.output = ${QMAKE_FILE_IN_PATH}/${QMAKE_FILE_BASE}.pb.h | |
protobuf_decl.commands = protoc --cpp_out=${QMAKE_FILE_IN_PATH} --proto_path=${QMAKE_FILE_IN_PATH} ${QMAKE_FILE_NAME} | |
protobuf_decl.variable_out = HEADERS | |
QMAKE_EXTRA_COMPILERS += protobuf_decl | |
protobuf_impl.name = protobuf sources | |
protobuf_impl.input = PROTOS | |
protobuf_impl.output = ${QMAKE_FILE_IN_PATH}/${QMAKE_FILE_BASE}.pb.cc | |
protobuf_impl.depends = ${QMAKE_FILE_IN_PATH}/${QMAKE_FILE_BASE}.pb.h | |
protobuf_impl.commands = $$escape_expand(\n) | |
protobuf_impl.variable_out = SOURCES | |
QMAKE_EXTRA_COMPILERS += protobuf_impl |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I've got some source which depends on the classes generated by protoc. My generated makefiles are failing to set dependencies on the generated code. Any ideas on setting files dependent in qmake?