From ff771b7d57eb3654f6321eb105129a594ec2841e Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Mon, 26 Mar 2018 14:00:48 +0200 Subject: Doc: Resolve all documentation warnings QDoc in Qt 5.11 uses Clang to parse C++ documentation - even though Qt Canvas doesn't expose a C++ API, we need to pass a module header to Clang, as well as disable the custom module-specific namespace for documentation builds. This is because we still parse the .cpp files and get documentation warnings for classes that contain /*! .. */ documentation comments, unless we explicitly mark the classes \internal. Change-Id: Ia7ee26b55d232c724bec78f0c3bf4018b5102913 Reviewed-by: Martin Smith --- src/imports/qtcanvas3d/canvas3dcommon_p.h | 5 +++++ src/imports/qtcanvas3d/canvasrenderer.cpp | 4 ++++ src/imports/qtcanvas3d/doc/QtCanvas3D | 1 + src/imports/qtcanvas3d/doc/qtcanvas3d.qdocconf | 4 ++++ src/imports/qtcanvas3d/renderjob.cpp | 2 ++ 5 files changed, 16 insertions(+) create mode 100644 src/imports/qtcanvas3d/doc/QtCanvas3D diff --git a/src/imports/qtcanvas3d/canvas3dcommon_p.h b/src/imports/qtcanvas3d/canvas3dcommon_p.h index aef2794..8afeed8 100644 --- a/src/imports/qtcanvas3d/canvas3dcommon_p.h +++ b/src/imports/qtcanvas3d/canvas3dcommon_p.h @@ -54,7 +54,12 @@ #define VERBOSE_ALL_TYPED_ARRAY_CALLS false +#ifdef Q_CLANG_QDOC +#define QT_CANVAS3D_BEGIN_NAMESPACE +#define QT_CANVAS3D_END_NAMESPACE +#else #define QT_CANVAS3D_BEGIN_NAMESPACE namespace QtCanvas3D { #define QT_CANVAS3D_END_NAMESPACE } +#endif // Q_CLANG_QDOC #endif // CANVAS3DCOMMON_P_H diff --git a/src/imports/qtcanvas3d/canvasrenderer.cpp b/src/imports/qtcanvas3d/canvasrenderer.cpp index 95f77ad..fbeea40 100644 --- a/src/imports/qtcanvas3d/canvasrenderer.cpp +++ b/src/imports/qtcanvas3d/canvasrenderer.cpp @@ -57,6 +57,10 @@ QT_CANVAS3D_BEGIN_NAMESPACE const int initialQueueSize = 256; const int maxQueueSize = 1000000; +/*! + \class CanvasRenderer + \internal +*/ CanvasRenderer::CanvasRenderer(QObject *parent): QObject(parent), m_fboSize(0, 0), diff --git a/src/imports/qtcanvas3d/doc/QtCanvas3D b/src/imports/qtcanvas3d/doc/QtCanvas3D new file mode 100644 index 0000000..1f53060 --- /dev/null +++ b/src/imports/qtcanvas3d/doc/QtCanvas3D @@ -0,0 +1 @@ +#include "../canvas3dcommon_p.h" diff --git a/src/imports/qtcanvas3d/doc/qtcanvas3d.qdocconf b/src/imports/qtcanvas3d/doc/qtcanvas3d.qdocconf index 7314191..e47f829 100644 --- a/src/imports/qtcanvas3d/doc/qtcanvas3d.qdocconf +++ b/src/imports/qtcanvas3d/doc/qtcanvas3d.qdocconf @@ -4,6 +4,10 @@ project = QtCanvas3D description = Qt Canvas 3D Reference Documentation version = $QT_VERSION +# Qt Canvas 3D doesn't expose a C++ API - pass a dummy header for Clang parser +moduleheader = QtCanvas3D +includepaths = . + exampledirs = ../../../../examples/canvas3d \ snippets diff --git a/src/imports/qtcanvas3d/renderjob.cpp b/src/imports/qtcanvas3d/renderjob.cpp index 78be04f..10ade40 100644 --- a/src/imports/qtcanvas3d/renderjob.cpp +++ b/src/imports/qtcanvas3d/renderjob.cpp @@ -47,6 +47,8 @@ QT_BEGIN_NAMESPACE QT_CANVAS3D_BEGIN_NAMESPACE /*! + * \class CanvasRenderJob + * \internal * The CanvasRenderJob class is for synchronous render jobs used by QtCanvas3D. * It takes care of synchronization. */ -- cgit v1.2.3