CMake Commands in Qt6 Protobuf
You should call the following CMake commands to use the Qt6::Protobuf module in your project:
find_package(Qt6 REQUIRED COMPONENTS Protobuf) target_link_libraries(mytarget PRIVATE Qt6::Protobuf)
You can use qt-add-protobuf CMake macros. The macros implicitly calls Protobuf code generation for qt-project.
The macros usage example:
cmake_minimum_required(VERSION 3.16...3.22) project(MyThings) find_package(Qt6 REQUIRED COMPONENTS Protobuf) qt_standard_project_setup() qt_add_protobuf(MyMessages GENERATE_PACKAGE_SUBFOLDERS PROTO_FILES path/to/message.proto path/to/other_message.proto PROTO_INCLUDES /path/to/proto/include ) qt_add_executable(MyApp main.cpp) target_link_libraries(MyApp PRIVATE MyMessages)
In the example above we generate a library called
MyMessages which contains the message types defined in the paths passed to the
PROTO_FILES option. We use the
GENERATE_PACKAGE_SUBFOLDERS option to generate a folder structure for the generated files. And the
PROTO_INCLUDES option tells protoc to look for dependencies/imports in the specified directories.
We then create a target for an executable called
MyApp which we link to the
See also CMake Command Reference.
Generates Qt-based C++ source code using a protobuf schema
© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.