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 the qt_add_protobuf CMake command to implicitly call Qt Protobuf code generation for your project.
Using qt_add_protobuf
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. 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 or imports in the specified directories. We create a target for an executable called MyApp
, which we link to the MyMessages
library.
See also CMake Command Reference.
Generates Qt-based C++ source code using a protobuf schema |
© 2024 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.