diff options
author | Kai Dohmen <psykai1993@googlemail.com> | 2020-12-17 13:03:33 +0100 |
---|---|---|
committer | Kai Dohmen <psykai1993@googlemail.com> | 2020-12-18 15:20:42 +0000 |
commit | 92ed11c8236ef16d95df32197b5fec78db4464e0 (patch) | |
tree | f53308b6990fbfa08bb9a28405ad9b6ed51b6552 | |
parent | 1bb4c3c95e548bd57f733f2936e370cd40e81765 (diff) | |
download | qbs-92ed11c8236ef16d95df32197b5fec78db4464e0.tar.gz |
Add protobuf.nanopb documentation
Change-Id: Id0e2744fc9dcf8b30bf15eb543036947399664e3
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | doc/external-resources.qdoc | 5 | ||||
-rw-r--r-- | doc/reference/modules/protobufnanopb-module.qdoc | 155 |
2 files changed, 160 insertions, 0 deletions
diff --git a/doc/external-resources.qdoc b/doc/external-resources.qdoc index 00b7bf975..b3e0f1c2b 100644 --- a/doc/external-resources.qdoc +++ b/doc/external-resources.qdoc @@ -121,6 +121,11 @@ */ /*! + \externalpage https://github.com/nanopb/nanopb + \title nanopb +*/ + +/*! \externalpage nolink \title macOS \internal diff --git a/doc/reference/modules/protobufnanopb-module.qdoc b/doc/reference/modules/protobufnanopb-module.qdoc new file mode 100644 index 000000000..75c87ba57 --- /dev/null +++ b/doc/reference/modules/protobufnanopb-module.qdoc @@ -0,0 +1,155 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \qmltype protobuf.nanopb + \inqmlmodule QbsModules + \since Qbs 1.18 + + \brief Provides support for protocol buffers for embedded systems. + + The \c protobuf.nanopb module provides support for generating nanopb C headers + and sources from proto definition files using the \l nanopb plugin for the + \l protoc tool suitable for embedded systems. + + A simple qbs file that uses protobuf can be written as follows: + \code + CppApplication { + Depends { name: "protobuf.nanopb" } + files: ["foo.proto", "main.cpp"] + } + \endcode + A generated header now can be included in the C++ sources: + \code + #include <foo.pb.h> + + int main(int argc, char* argv[]) { + Foo bar; + bar.has_answer = true; + bar.answer = 42; + return 0; + } + \endcode + + Nanopb .options files to define nanopb specific proto options are supported. + + \section2 Relevant File Tags + + \table + \header + \li Tag + \li Auto-tagged File Names + \li Since + \li Description + \row + \li \c{"protobuf.input"} + \li \c{*.proto} + \li 1.13.0 + \li Source files with this tag are considered inputs to the \c protoc compiler. + \row + \li \c{"protobuf.hpp"} + \li + \li 1.18.0 + \li This tag is attached to the header files generated by \c protoc compiler. + \endtable +*/ + +/*! + \qmlproperty string protobuf.nanopb::compilerName + + The name of the protoc binary. + + \defaultvalue \c "protoc" +*/ + +/*! + \qmlproperty string protobuf.nanopb::compilerPath + + The path to the protoc binary. + + Use this property to override the auto-detected location. + + \defaultvalue \c auto-detected +*/ + +/*! + \qmlproperty pathList protobuf.nanopb::importPaths + + The list of imports that are passed to the \c protoc tool via the \c --proto_path option. + These imports should contain the proto files. They are used to determine + the relative structure of the generated files. + \note The paths are passed to \c protoc in the same order as specified in this property and + \c protoc output may differ depending on that order. + + \defaultvalue \c [] +*/ + +/*! + \qmlproperty string protobuf.nanopb::includePath + + The path where protobuf nanopb C headers are located. Set this property to override the + default location. + + \defaultvalue \c auto-detected +*/ + +/*! + \qmlproperty string protobuf.nanopb::libraryPath + + The path where the protobuf nanopb runtime library is located. Set this property to override the + default location. + + \defaultvalue \c auto-detected +*/ + +/*! + \qmlproperty string protobuf.nanopb::outputDir + \readonly + + The directory where the \c protoc compiler generated files are placed. + + The value of this property is automatically set by \QBS and cannot be + changed by the user. +*/ + +/*! + \qmlproperty string protobuf.nanopb::pluginName + + The name of the nanopb protoc plugin. + + \defaultvalue \c "protoc-gen-nanopb" +*/ + +/*! + \qmlproperty string protobuf.nanopb::pluginPath + + The path to the nanopb protoc plugin. + + Use this property to override the auto-detected location. + + \defaultvalue \c auto-detected +*/ |