summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2018-05-09 16:29:10 +0200
committerAndy Nichols <andy.nichols@qt.io>2018-05-11 11:06:42 +0000
commit3ab289edd2fc70d30686a499437a7013027d4e6c (patch)
treebf27f4ddd237347e934459663707632416610167
parentac7824fc088a954ed2b608f163e0b23fead14aa1 (diff)
Doc setup
make docs will now generate a Qt3DStudioRuntime2 qch and html pages. Studio3D and Q3DSWidget have some dummy content to test this. Template pages for getting started, mobile, and embedded are also present. We can now move on to moving/adding the API docs in-source. Change-Id: I470c6832d9f53c53a743f49706050d793acd4a6a Reviewed-by: Andy Nichols <andy.nichols@qt.io>
-rw-r--r--src/3rdparty/imgui/qt_attribution.json2
-rw-r--r--src/doc/Qt3DStudioRuntime2.qdocconf2
-rw-r--r--src/doc/doc.pro8
-rw-r--r--src/doc/online/Qt3DStudioRuntime2.qdocconf2
-rw-r--r--src/doc/qt3d-runtime-project.qdocconf55
-rw-r--r--src/doc/src/copyright.qdoc37
-rw-r--r--src/doc/src/embedded.qdoc33
-rw-r--r--src/doc/src/examples.qdoc36
-rw-r--r--src/doc/src/gettingstarted.qdoc33
-rw-r--r--src/doc/src/index.qdoc47
-rw-r--r--src/doc/src/mobile.qdoc33
-rw-r--r--src/doc/src/module.qdoc73
-rw-r--r--src/doc/style/qt5-sidebar.html13
-rw-r--r--src/imports/studio3d/q3dsstudio3ditem.cpp11
-rw-r--r--src/runtime/api/q3dsdatainput.h5
-rw-r--r--src/runtime/api/q3dselement.h5
-rw-r--r--src/runtime/api/q3dspresentation.h5
-rw-r--r--src/runtime/api/q3dssceneelement.h5
-rw-r--r--src/runtime/api/q3dssurfaceviewer.h5
-rw-r--r--src/runtime/api/q3dsviewersettings.h5
-rw-r--r--src/runtime/api/q3dswidget.cpp10
-rw-r--r--src/runtime/api/q3dswidget.h5
-rw-r--r--src/src.pro3
23 files changed, 431 insertions, 2 deletions
diff --git a/src/3rdparty/imgui/qt_attribution.json b/src/3rdparty/imgui/qt_attribution.json
index 93cbd89..d3b4381 100644
--- a/src/3rdparty/imgui/qt_attribution.json
+++ b/src/3rdparty/imgui/qt_attribution.json
@@ -2,7 +2,7 @@
{
"Id": "imgui",
"Name": "Dear ImGui",
- "QDocModule": "qt3dstudio",
+ "QDocModule": "Qt3DStudioRuntime2",
"Description": "Dear ImGui",
"QtUsage": "Bloat-free GUI library for in-scene visualization of profiling and debugging data",
diff --git a/src/doc/Qt3DStudioRuntime2.qdocconf b/src/doc/Qt3DStudioRuntime2.qdocconf
new file mode 100644
index 0000000..6f5f526
--- /dev/null
+++ b/src/doc/Qt3DStudioRuntime2.qdocconf
@@ -0,0 +1,2 @@
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
+include(qt3d-runtime-project.qdocconf)
diff --git a/src/doc/doc.pro b/src/doc/doc.pro
new file mode 100644
index 0000000..eba9ea3
--- /dev/null
+++ b/src/doc/doc.pro
@@ -0,0 +1,8 @@
+TEMPLATE = aux
+
+build_online_docs: \
+ QMAKE_DOCS = $$PWD/online/Qt3DStudioRuntime2.qdocconf
+else: \
+ QMAKE_DOCS = $$PWD/Qt3DStudioRuntime2.qdocconf
+
+OTHER_FILES += $$PWD/src/*.qdoc
diff --git a/src/doc/online/Qt3DStudioRuntime2.qdocconf b/src/doc/online/Qt3DStudioRuntime2.qdocconf
new file mode 100644
index 0000000..4602372
--- /dev/null
+++ b/src/doc/online/Qt3DStudioRuntime2.qdocconf
@@ -0,0 +1,2 @@
+include($QT_INSTALL_DOCS/global/qt-module-defaults-online-commercial.qdocconf)
+include(../qt3d-runtime-project.qdocconf)
diff --git a/src/doc/qt3d-runtime-project.qdocconf b/src/doc/qt3d-runtime-project.qdocconf
new file mode 100644
index 0000000..1c69bf4
--- /dev/null
+++ b/src/doc/qt3d-runtime-project.qdocconf
@@ -0,0 +1,55 @@
+project = Qt3DStudioRuntime2
+description = Qt 3D Studio Runtime Reference Manual
+version = $QT_VERSION
+
+sourcedirs += ./src
+imagedirs += ./src/images
+
+sourcedirs += ../runtime/api
+headerdirs += ../runtime/api
+
+sourcedirs += ../imports/studio3d
+headerdirs += ../imports/studio3d
+
+depends = qtcore qtgui qtwidgets qtqml qtquick qtdoc qt3dcore qt3drender qt3dlogic qt3danimation
+
+qhp.projects = 3dstudioruntime2
+
+qhp.3dstudioruntime2.file = Qt3DStudioRuntime2.qhp
+qhp.3dstudioruntime2.namespace = io.qt.qt3dstudioruntime2.$QT_VERSION_TAG
+qhp.3dstudioruntime2.virtualFolder = Qt3DStudioRuntime2
+qhp.3dstudioruntime2.indexTitle = Qt 3D Studio Runtime
+qhp.3dstudioruntime2.indexRoot =
+
+qhp.3dstudioruntime2.filterAttributes = Qt3DStudioRuntime2 $QT_VERSION
+qhp.3dstudioruntime2.customFilters.Qt.name = Qt3DStudioRuntime2 $QT_VERSION
+qhp.3dstudioruntime2.customFilters.Qt.filterAttributes = Qt3DStudioRuntime2 $QT_VERSION
+
+qhp.3dstudioruntime2.subprojects = manual qmltypes classes
+
+qhp.3dstudioruntime2.subprojects.manual.title = Qt 3D Studio Runtime
+qhp.3dstudioruntime2.subprojects.manual.indexTitle = Qt 3D Studio Runtime TOC
+qhp.3dstudioruntime2.subprojects.manual.type = manual
+
+qhp.3dstudioruntime2.subprojects.qmltypes.title = QML Types
+qhp.3dstudioruntime2.subprojects.qmltypes.indexTitle = Qt 3D Studio Runtime QML Types
+qhp.3dstudioruntime2.subprojects.qmltypes.selectors = qmltype
+qhp.3dstudioruntime2.subprojects.qmltypes.sortPages = true
+
+qhp.3dstudioruntime2.subprojects.classes.title = C++ Classes
+qhp.3dstudioruntime2.subprojects.classes.indexTitle = Qt 3D Studio Runtime C++ Classes
+qhp.3dstudioruntime2.subprojects.classes.selectors = class fake:headerfile
+qhp.3dstudioruntime2.subprojects.classes.sortPages = true
+
+# Add an .html file with sidebar content, used in the online style
+HTML.stylesheets += style/qt5-sidebar.html
+
+navigation.homepage = Qt 3D Studio Runtime
+navigation.cppclassespage = Qt 3D Studio Runtime C++ Classes
+navigation.qmltypespage = Qt 3D Studio Runtime QML Types
+buildversion = "Qt 3D Studio Runtime $QT_VER Manual"
+
+examplesinstallpath = 3dstudioruntime2
+exampledirs += ../../examples/3dstudioruntime2
+
+Cpp.ignoretokens += Q3DSV_EXPORT
diff --git a/src/doc/src/copyright.qdoc b/src/doc/src/copyright.qdoc
new file mode 100644
index 0000000..01275f1
--- /dev/null
+++ b/src/doc/src/copyright.qdoc
@@ -0,0 +1,37 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt 3D Studio.
+**
+** $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$
+**
+****************************************************************************/
+
+/*!
+\page copyright-notices.html
+\title Copyright Notices
+\section1 Third-party Licenses
+
+The following table lists parts (modules) of Qt 3D Studio Runtime that
+incorporate code licensed under third-party open-source licenses:
+
+\annotatedlist attributions-Qt3DStudioRuntime2
+*/
diff --git a/src/doc/src/embedded.qdoc b/src/doc/src/embedded.qdoc
new file mode 100644
index 0000000..f665582
--- /dev/null
+++ b/src/doc/src/embedded.qdoc
@@ -0,0 +1,33 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt 3D Studio.
+**
+** $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$
+**
+****************************************************************************/
+
+/*!
+ \page qt3d-runtime-embedded.html
+ \title Using the Runtime on Embedded Devices
+
+ embedded stuff (eglfs etc.)
+*/
diff --git a/src/doc/src/examples.qdoc b/src/doc/src/examples.qdoc
new file mode 100644
index 0000000..86cab63
--- /dev/null
+++ b/src/doc/src/examples.qdoc
@@ -0,0 +1,36 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt 3D Studio.
+**
+** $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$
+**
+****************************************************************************/
+
+/*!
+ \title Examples
+ \ingroup examples
+ \page qt3d-runtime-examples.html
+ \noautolist
+
+ Included in Qt 3D Studio Runtime you will find a set of examples. These are
+ located in the \c {examples} folder in the installation folder.
+*/
diff --git a/src/doc/src/gettingstarted.qdoc b/src/doc/src/gettingstarted.qdoc
new file mode 100644
index 0000000..2f5ae37
--- /dev/null
+++ b/src/doc/src/gettingstarted.qdoc
@@ -0,0 +1,33 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt 3D Studio.
+**
+** $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$
+**
+****************************************************************************/
+
+/*!
+ \page qt3d-runtime-gettingstarted.html
+ \title Getting Started
+
+ Basic blah blah
+*/
diff --git a/src/doc/src/index.qdoc b/src/doc/src/index.qdoc
new file mode 100644
index 0000000..a2c5282
--- /dev/null
+++ b/src/doc/src/index.qdoc
@@ -0,0 +1,47 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt 3D Studio.
+**
+** $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$
+**
+****************************************************************************/
+
+/*!
+\keyword Qt 3D Studio Runtime
+\title Qt 3D Studio Runtime Index
+\page index.html
+
+\section1 Table of Contents
+
+\list
+ \li \l {Getting Started}
+ \li \l {Qt 3D Studio Runtime C++ Classes}
+ \li \l {Qt 3D Studio Runtime QML Types}
+ \li \l {Using the Runtime on Android/iOS Devices}
+ \li \l {Using the Runtime on Embedded Devices}
+ \li \l {Examples}
+ \li \l {Copyright Notices}
+\endlist
+
+blah blah blah
+
+*/
diff --git a/src/doc/src/mobile.qdoc b/src/doc/src/mobile.qdoc
new file mode 100644
index 0000000..1787b63
--- /dev/null
+++ b/src/doc/src/mobile.qdoc
@@ -0,0 +1,33 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt 3D Studio.
+**
+** $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$
+**
+****************************************************************************/
+
+/*!
+ \page qt3d-runtime-mobile.html
+ \title Using the Runtime on Android/iOS Devices
+
+ mobile stuff
+*/
diff --git a/src/doc/src/module.qdoc b/src/doc/src/module.qdoc
new file mode 100644
index 0000000..d37417f
--- /dev/null
+++ b/src/doc/src/module.qdoc
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt 3D Studio.
+**
+** $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$
+**
+****************************************************************************/
+
+/*!
+ \page qt3d-runtime-cpp.html
+ \title Qt 3D Studio Runtime C++ Classes
+ \keyword C++ API
+ \ingroup modules
+
+ \brief Qt 3D Studio provides a number of C++ classes to view and control the presentation.
+
+ To include the definitions of the module's classes, use the following directive:
+
+ \badcode
+ #include <Qt3DStudioRuntime2>
+ \endcode
+
+ To link against the module, add this line to your \l qmake \c .pro file:
+
+ \badcode
+ QT += 3dstudioruntime2
+ \endcode
+
+ \section1 Classes
+
+ \generatelist {classesbymodule 3dstudioruntime2}
+*/
+
+/*!
+ \page qt3d-runtime-qml.html
+ \title Qt 3D Studio Runtime QML Types
+ \keyword QML API
+ \ingroup qmlmodules
+ \noautolist
+
+ \brief QML Types for the Qt 3D Studio Runtime module.
+
+ Qt 3D Studio provides a number of QML types to view and control the
+ presentation. These types can be imported into your application using the
+ following import statement in your .qml file:
+
+ \badcode
+ import QtStudio3D 2.0
+ \endcode
+
+ \section1 QML Types
+
+ \generatelist {qmltypesbymodule QtStudio3D}
+*/
diff --git a/src/doc/style/qt5-sidebar.html b/src/doc/style/qt5-sidebar.html
new file mode 100644
index 0000000..89b8c0d
--- /dev/null
+++ b/src/doc/style/qt5-sidebar.html
@@ -0,0 +1,13 @@
+<div class="sectionlist normallist">
+ <div class="heading">
+ <a name="reference"></a>
+ <h2 id="reference">Qt 3D Studio Runtime</h2>
+ </div>
+ <div class="indexboxcont indexboxbar">
+ <ul>
+ <li><a href="getting-started.html">Getting Started</a></li>
+ <li><a href="qt3dstudio-studio.html">Studio</a></li>
+ <li><a href="qtstudio3d-qml-examples.html">Examples</a></li>
+ <li><a href="copyright-notices.html">Copyright Notices</a></li>
+ </ul>
+ </div>
diff --git a/src/imports/studio3d/q3dsstudio3ditem.cpp b/src/imports/studio3d/q3dsstudio3ditem.cpp
index 94a987f..2326d1f 100644
--- a/src/imports/studio3d/q3dsstudio3ditem.cpp
+++ b/src/imports/studio3d/q3dsstudio3ditem.cpp
@@ -52,6 +52,17 @@
QT_BEGIN_NAMESPACE
+/*!
+ \qmltype Studio3D
+ \instantiates Q3DSStudio3DItem
+ \inqmlmodule QtStudio3D
+ \ingroup 3dstudioruntime2
+ \inherits Item
+ \brief blah
+
+ blah
+*/
+
static bool engineCleanerRegistered = false;
static QSet<Q3DSEngine *> engineTracker;
static void engineCleaner()
diff --git a/src/runtime/api/q3dsdatainput.h b/src/runtime/api/q3dsdatainput.h
index 6fa0c54..e685f78 100644
--- a/src/runtime/api/q3dsdatainput.h
+++ b/src/runtime/api/q3dsdatainput.h
@@ -39,6 +39,11 @@ QT_BEGIN_NAMESPACE
class Q3DSDataInputPrivate;
class Q3DSPresentation;
+// hack. no clue why Cpp.ignoretokens does not work.
+#ifdef Q_CLANG_QDOC
+#define Q3DSV_EXPORT
+#endif
+
class Q3DSV_EXPORT Q3DSDataInput : public QObject
{
Q_OBJECT
diff --git a/src/runtime/api/q3dselement.h b/src/runtime/api/q3dselement.h
index fab455c..ec62590 100644
--- a/src/runtime/api/q3dselement.h
+++ b/src/runtime/api/q3dselement.h
@@ -39,6 +39,11 @@ QT_BEGIN_NAMESPACE
class Q3DSElementPrivate;
class Q3DSPresentation;
+// hack. no clue why Cpp.ignoretokens does not work.
+#ifdef Q_CLANG_QDOC
+#define Q3DSV_EXPORT
+#endif
+
class Q3DSV_EXPORT Q3DSElement : public QObject
{
Q_OBJECT
diff --git a/src/runtime/api/q3dspresentation.h b/src/runtime/api/q3dspresentation.h
index dd31ac3..085ce89 100644
--- a/src/runtime/api/q3dspresentation.h
+++ b/src/runtime/api/q3dspresentation.h
@@ -44,6 +44,11 @@ class QWheelEvent;
class QTouchEvent;
class QTabletEvent;
+// hack. no clue why Cpp.ignoretokens does not work.
+#ifdef Q_CLANG_QDOC
+#define Q3DSV_EXPORT
+#endif
+
class Q3DSV_EXPORT Q3DSPresentation : public QObject
{
Q_OBJECT
diff --git a/src/runtime/api/q3dssceneelement.h b/src/runtime/api/q3dssceneelement.h
index 5e3cfd8..d8eba18 100644
--- a/src/runtime/api/q3dssceneelement.h
+++ b/src/runtime/api/q3dssceneelement.h
@@ -37,6 +37,11 @@ QT_BEGIN_NAMESPACE
class Q3DSSceneElementPrivate;
+// hack. no clue why Cpp.ignoretokens does not work.
+#ifdef Q_CLANG_QDOC
+#define Q3DSV_EXPORT
+#endif
+
class Q3DSV_EXPORT Q3DSSceneElement : public Q3DSElement
{
Q_OBJECT
diff --git a/src/runtime/api/q3dssurfaceviewer.h b/src/runtime/api/q3dssurfaceviewer.h
index 6bda0c0..648df33 100644
--- a/src/runtime/api/q3dssurfaceviewer.h
+++ b/src/runtime/api/q3dssurfaceviewer.h
@@ -43,6 +43,11 @@ class QOpenGLContext;
class Q3DSPresentation;
class Q3DSViewerSettings;
+// hack. no clue why Cpp.ignoretokens does not work.
+#ifdef Q_CLANG_QDOC
+#define Q3DSV_EXPORT
+#endif
+
class Q3DSV_EXPORT Q3DSSurfaceViewer : public QObject
{
Q_OBJECT
diff --git a/src/runtime/api/q3dsviewersettings.h b/src/runtime/api/q3dsviewersettings.h
index 5a17aef..de64393 100644
--- a/src/runtime/api/q3dsviewersettings.h
+++ b/src/runtime/api/q3dsviewersettings.h
@@ -38,6 +38,11 @@ QT_BEGIN_NAMESPACE
class Q3DSViewerSettingsPrivate;
+// hack. no clue why Cpp.ignoretokens does not work.
+#ifdef Q_CLANG_QDOC
+#define Q3DSV_EXPORT
+#endif
+
class Q3DSV_EXPORT Q3DSViewerSettings : public QObject
{
Q_OBJECT
diff --git a/src/runtime/api/q3dswidget.cpp b/src/runtime/api/q3dswidget.cpp
index d6af21c..6fb6d3e 100644
--- a/src/runtime/api/q3dswidget.cpp
+++ b/src/runtime/api/q3dswidget.cpp
@@ -42,6 +42,16 @@
QT_BEGIN_NAMESPACE
+/*!
+ \class Q3DSWidget
+
+ \inmodule 3dstudioruntime2
+
+ \brief Widget
+
+ blah
+*/
+
Q3DSWidget::Q3DSWidget(QWidget *parent)
: QOpenGLWidget(parent),
d_ptr(new Q3DSWidgetPrivate(this))
diff --git a/src/runtime/api/q3dswidget.h b/src/runtime/api/q3dswidget.h
index 183b03c..e5540ef 100644
--- a/src/runtime/api/q3dswidget.h
+++ b/src/runtime/api/q3dswidget.h
@@ -39,6 +39,11 @@ class Q3DSWidgetPrivate;
class Q3DSPresentation;
class Q3DSViewerSettings;
+// hack. no clue why Cpp.ignoretokens does not work.
+#ifdef Q_CLANG_QDOC
+#define Q3DSV_EXPORT
+#endif
+
class Q3DSV_EXPORT Q3DSWidget : public QOpenGLWidget
{
Q_OBJECT
diff --git a/src/src.pro b/src/src.pro
index 1b02d69..d1f86eb 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -1,7 +1,8 @@
TEMPLATE = subdirs
SUBDIRS += \
- runtime
+ runtime \
+ doc
qtHaveModule(quick) {
SUBDIRS += imports