Skip to content

Instantly share code, notes, and snippets.

Created October 5, 2012 14:39
Show Gist options
  • Save anonymous/3840162 to your computer and use it in GitHub Desktop.
Save anonymous/3840162 to your computer and use it in GitHub Desktop.
commit 64d854bf44b4878ebd6f5f35921ddc2177ea42a8
Author: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Date: Fri Oct 5 16:34:02 2012 +0200
WIP: modularize documentation
diff --git a/configure b/configure
index 58d7a86..9dea8c4 100755
--- a/configure
+++ b/configure
@@ -2245,9 +2245,9 @@ if [ "$OPT_SHADOW" = "yes" ]; then
mv "$outpath/mkspecs-modules-inst" "$outpath/mkspecs/modules-inst"
fi
- # symlink the doc directory
- rm -rf "$outpath/doc"
- ln -s "$relpath/doc" "$outpath/doc"
+ # Prepare doc directory
+ mkdir -p "$outpath/doc"
+ ln -s "$relpath"/doc/global "$outpath/doc"
fi
# symlink fonts to be able to run application from build directory
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
index b717a8d..0cdeb98 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -93,6 +93,7 @@ QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
qtPrepareTool(QDOC, qdoc)
for(index, QMAKE_DOCS_INDEX):QDOC_INDEX += -indexdir $$index
!isEmpty(QMAKE_DOCS_INSTALLDIR):QMAKE_DOCS_OPTIONS += -installdir $$QMAKE_DOCS_INSTALLDIR
+ !isEmpty(QMAKE_DOCS_OUTPUTDIR):QMAKE_DOCS_OPTIONS += -outputdir $$QMAKE_DOCS_OUTPUTDIR
docs.commands += $$QDOC $$QMAKE_DOCS_OPTIONS $$QDOC_INDEX $$QMAKE_DOCS
}
}
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index c4eda19..71899d4 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -89,6 +89,7 @@ MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst/qt_$${MODULE}.pri
"QT.$${MODULE}.libs = \$\$QT_MODULE_LIB_BASE" \
"QT.$${MODULE}.plugins = \$\$QT_MODULE_PLUGIN_BASE" \
"QT.$${MODULE}.imports = \$\$QT_MODULE_IMPORT_BASE$$MODULE_IMPORT_SUFFIX" \
+ "QT.$${MODULE}.docs = \$\$QT_MODULE_DOC_BASE" \
"QT.$${MODULE}.depends =$$join(MODULE_DEPENDS, " ", " ")" \
$$module_privdep \
$$module_build_type \
@@ -120,6 +121,8 @@ CONFIG += qt warn_on depend_includepath
CONFIG += qmake_cache target_qt
CONFIG -= fix_output_dirs
+QMAKE_DOCS_OUTPUTDIR = $$eval(QT.$${MODULE}.docs)/qt$${MODULE}
+
# If Qt was configured with -debug-and-release then build the module the same way
if(win32|mac):!macx-xcode {
contains(QT_CONFIG, debug_and_release):CONFIG += debug_and_release
diff --git a/mkspecs/features/qt_module_fwdpri.prf b/mkspecs/features/qt_module_fwdpri.prf
index 5dc63eb..cfb9a77 100644
--- a/mkspecs/features/qt_module_fwdpri.prf
+++ b/mkspecs/features/qt_module_fwdpri.prf
@@ -68,6 +68,7 @@
"QT_MODULE_IMPORT_BASE = $$mod_component_base/imports" \
"QT_MODULE_LIB_BASE = $$mod_component_base/lib" \
"QT_MODULE_PLUGIN_BASE = $$mod_component_base/plugins" \
+ "QT_MODULE_DOC_BASE = $$mod_component_base/doc" \
$$module_rpathlink \
$$module_rpathlink_priv \
"QT.$${MODULE}.rpath = $$MODULE_INSTALL_LIBS" \
diff --git a/src/concurrent/concurrent.pro b/src/concurrent/concurrent.pro
index f30f75e..068b68b 100644
--- a/src/concurrent/concurrent.pro
+++ b/src/concurrent/concurrent.pro
@@ -38,7 +38,6 @@ HEADERS += \
HEADERS += \
QMAKE_DOCS = $$PWD/doc/qtconcurrent.qdocconf
-QMAKE_DOCS_INDEX = ../../doc
contains(QT_CONFIG, clock-gettime) {
linux-*|hpux-*|solaris-*:LIBS *= -lrt
diff --git a/src/concurrent/doc/qtconcurrent.qdocconf b/src/concurrent/doc/qtconcurrent.qdocconf
index 3c45df4..47a3e2f 100644
--- a/src/concurrent/doc/qtconcurrent.qdocconf
+++ b/src/concurrent/doc/qtconcurrent.qdocconf
@@ -1,5 +1,5 @@
-include(../../../doc/global/qt-html-templates-offline.qdocconf)
-include(../../../doc/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtConcurrent
description = Qt Concurrent Reference Documentation
@@ -29,7 +29,6 @@ qhp.QtConcurrent.subprojects.examples.title = Qt Concurrent Examples
qhp.QtConcurrent.subprojects.examples.indexTitle = Qt Concurrent Examples
qhp.QtConcurrent.subprojects.examples.selectors = fake:example
-outputdir = ../../../doc/qtconcurrent
tagfile = ../../../doc/qtconcurrent/qtconcurrent.tags
depends += qtcore
diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro
index d65ed4a..488cddf 100644
--- a/src/corelib/corelib.pro
+++ b/src/corelib/corelib.pro
@@ -17,7 +17,6 @@ win32-g++*:QMAKE_CXXFLAGS_CXX11 = -std=gnu++0x
load(qt_module)
QMAKE_DOCS = $$PWD/doc/qtcore.qdocconf
-QMAKE_DOCS_INDEX = ../../doc
include(animation/animation.pri)
include(arch/arch.pri)
diff --git a/src/corelib/doc/qtcore.qdocconf b/src/corelib/doc/qtcore.qdocconf
index 36db213..a2cb2f2 100644
--- a/src/corelib/doc/qtcore.qdocconf
+++ b/src/corelib/doc/qtcore.qdocconf
@@ -1,5 +1,5 @@
-include(../../../doc/global/qt-html-templates-offline.qdocconf)
-include(../../../doc/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtCore
description = Qt Core Reference Documentation
@@ -29,7 +29,6 @@ qhp.QtCore.subprojects.examples.title = Qt Core Examples
qhp.QtCore.subprojects.examples.indexTitle = Qt Core Examples
qhp.QtCore.subprojects.examples.selectors = fake:example
-outputdir = ../../../doc/qtcore
tagfile = ../../../doc/qtcore/qtcore.tags
depends += qtwidgets
diff --git a/src/dbus/dbus.pro b/src/dbus/dbus.pro
index 6c6e9fc..bb42be5 100644
--- a/src/dbus/dbus.pro
+++ b/src/dbus/dbus.pro
@@ -29,7 +29,6 @@ win32 {
load(qt_module)
QMAKE_DOCS = $$PWD/doc/qtdbus.qdocconf
-QMAKE_DOCS_INDEX = ../../doc
PUB_HEADERS = qdbusargument.h \
qdbusconnectioninterface.h \
diff --git a/src/dbus/doc/qtdbus.qdocconf b/src/dbus/doc/qtdbus.qdocconf
index 7e869df..f60b8e6 100644
--- a/src/dbus/doc/qtdbus.qdocconf
+++ b/src/dbus/doc/qtdbus.qdocconf
@@ -1,5 +1,5 @@
-include(../../../doc/global/qt-html-templates-offline.qdocconf)
-include(../../../doc/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtDBus
description = Qt DBus Reference Documentation
@@ -29,7 +29,6 @@ qhp.QtDBus.subprojects.examples.title = Qt DBus Examples
qhp.QtDBus.subprojects.examples.indexTitle = Qt DBus Examples
qhp.QtDBus.subprojects.examples.selectors = fake:example
-outputdir = ../../../doc/qtdbus
tagfile = ../../../doc/qtdbus/qtdbus.tags
depends += qtcore
diff --git a/src/gui/doc/qtgui.qdocconf b/src/gui/doc/qtgui.qdocconf
index 73104e2..958f592 100644
--- a/src/gui/doc/qtgui.qdocconf
+++ b/src/gui/doc/qtgui.qdocconf
@@ -1,5 +1,5 @@
-include(../../../doc/global/qt-html-templates-offline.qdocconf)
-include(../../../doc/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtGui
description = Qt GUI Reference Documentation
@@ -29,7 +29,6 @@ qhp.QtGui.subprojects.examples.title = Qt GUI Examples
qhp.QtGui.subprojects.examples.indexTitle = Qt GUI Examples
qhp.QtGui.subprojects.examples.selectors = fake:example
-outputdir = ../../../doc/qtgui
tagfile = ../../../doc/qtgui/qtgui.tags
depends += qtcore
diff --git a/src/gui/gui.pro b/src/gui/gui.pro
index cab44f8..04de165 100644
--- a/src/gui/gui.pro
+++ b/src/gui/gui.pro
@@ -19,7 +19,6 @@ testcocoon {
CONFIG += simd
QMAKE_DOCS = $$PWD/doc/qtgui.qdocconf
-QMAKE_DOCS_INDEX = ../../doc
include(accessible/accessible.pri)
include(kernel/kernel.pri)
diff --git a/src/network/doc/qtnetwork.qdocconf b/src/network/doc/qtnetwork.qdocconf
index cd09a8a..24298c1 100644
--- a/src/network/doc/qtnetwork.qdocconf
+++ b/src/network/doc/qtnetwork.qdocconf
@@ -1,5 +1,5 @@
-include(../../../doc/global/qt-html-templates-offline.qdocconf)
-include(../../../doc/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtNetwork
description = Qt Network Reference Documentation
@@ -29,7 +29,6 @@ qhp.QtNetwork.subprojects.examples.title = Qt Network Examples
qhp.QtNetwork.subprojects.examples.indexTitle = Qt Network Examples
qhp.QtNetwork.subprojects.examples.selectors = fake:example
-outputdir = ../../../doc/qtnetwork
tagfile = ../../../doc/qtnetwork/qtnetwork.tags
depends += qtcore
diff --git a/src/network/network.pro b/src/network/network.pro
index 60fb56b..dc1c6a1 100644
--- a/src/network/network.pro
+++ b/src/network/network.pro
@@ -16,7 +16,6 @@ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x64000000
load(qt_module)
QMAKE_DOCS = $$PWD/doc/qtnetwork.qdocconf
-QMAKE_DOCS_INDEX = ../../doc
include(access/access.pri)
include(bearer/bearer.pri)
diff --git a/src/opengl/doc/qtopengl.qdocconf b/src/opengl/doc/qtopengl.qdocconf
index 9ec43d7..eef1f0f 100644
--- a/src/opengl/doc/qtopengl.qdocconf
+++ b/src/opengl/doc/qtopengl.qdocconf
@@ -1,5 +1,5 @@
-include(../../../doc/global/qt-html-templates-offline.qdocconf)
-include(../../../doc/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtOpenGL
description = Qt OpenGL Reference Documentation
@@ -29,7 +29,6 @@ qhp.QtOpenGL.subprojects.examples.title = Qt OpenGL Examples
qhp.QtOpenGL.subprojects.examples.indexTitle = Qt OpenGL Examples
qhp.QtOpenGL.subprojects.examples.selectors = fake:example
-outputdir = ../../../doc/qtopengl
tagfile = ../../../doc/qtopengl/qtopengl.tags
depends += qtcore qtgui qtwidgets
diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
index 2adb2e0..6f3d90a 100644
--- a/src/opengl/opengl.pro
+++ b/src/opengl/opengl.pro
@@ -16,7 +16,6 @@ contains(QT_CONFIG, opengles2):CONFIG += opengles2
contains(QT_CONFIG, egl):CONFIG += egl
QMAKE_DOCS = $$PWD/doc/qtopengl.qdocconf
-QMAKE_DOCS_INDEX = ../../doc
HEADERS += qgl.h \
qgl_p.h \
diff --git a/src/plugins/platforms/windows/qwindows.qdocconf b/src/plugins/platforms/windows/qwindows.qdocconf
index c5a1ee9..1684773 100644
--- a/src/plugins/platforms/windows/qwindows.qdocconf
+++ b/src/plugins/platforms/windows/qwindows.qdocconf
@@ -12,8 +12,6 @@ showinternal = true
headers.fileextensions = "*.h"
sources.fileextensions = "*.cpp *.qdoc"
-outputdir = doc
-
qhp.projects = QtLighthouseWindows
qhp.QtLighthouseWindowsDev.file = qtlighthousewindows-dev.qhp
qhp.QtLighthouseWindowsDev.namespace = com.nokia.qt.developer.lighthouse
diff --git a/src/printsupport/doc/qtprintsupport.qdocconf b/src/printsupport/doc/qtprintsupport.qdocconf
index bb5536c..45d8225 100644
--- a/src/printsupport/doc/qtprintsupport.qdocconf
+++ b/src/printsupport/doc/qtprintsupport.qdocconf
@@ -1,5 +1,5 @@
-include(../../../doc/global/qt-html-templates-offline.qdocconf)
-include(../../../doc/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtPrintSupport
description = Qt Print Support Reference Documentation
@@ -29,7 +29,6 @@ qhp.QtPrintSupport.subprojects.examples.title = Qt Print Support Examples
qhp.QtPrintSupport.subprojects.examples.indexTitle = Qt Print Support Examples
qhp.QtPrintSupport.subprojects.examples.selectors = fake:example
-outputdir = ../../../doc/qtprintsupport
tagfile = ../../../doc/qtprintsupport/qtprintsupport.tags
depends += qtcore qtgui qtwidgets
diff --git a/src/printsupport/printsupport.pro b/src/printsupport/printsupport.pro
index bbcbb02..3429dab 100644
--- a/src/printsupport/printsupport.pro
+++ b/src/printsupport/printsupport.pro
@@ -8,7 +8,6 @@ DEFINES += QT_NO_USING_NAMESPACE
load(qt_module)
QMAKE_DOCS = $$PWD/doc/qtprintsupport.qdocconf
-QMAKE_DOCS_INDEX = ../../doc
QMAKE_LIBS += $$QMAKE_LIBS_PRINTSUPPORT
diff --git a/src/sql/doc/qtsql.qdocconf b/src/sql/doc/qtsql.qdocconf
index dabe21a..185f506 100644
--- a/src/sql/doc/qtsql.qdocconf
+++ b/src/sql/doc/qtsql.qdocconf
@@ -1,5 +1,5 @@
-include(../../../doc/global/qt-html-templates-offline.qdocconf)
-include(../../../doc/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtSql
description = Qt SQL Reference Documentation
@@ -29,7 +29,6 @@ qhp.QtSql.subprojects.examples.title = Qt SQL Examples
qhp.QtSql.subprojects.examples.indexTitle = Qt SQL Examples
qhp.QtSql.subprojects.examples.selectors = fake:example
-outputdir = ../../../doc/qtsql
tagfile = ../../../doc/qtsql/qtsql.tags
depends += qtcore
diff --git a/src/sql/sql.pro b/src/sql/sql.pro
index abb5767..8516450 100644
--- a/src/sql/sql.pro
+++ b/src/sql/sql.pro
@@ -13,7 +13,6 @@ PRECOMPILED_HEADER = ../corelib/global/qt_pch.h
SQL_P = sql
QMAKE_DOCS = $$PWD/doc/qtsql.qdocconf
-QMAKE_DOCS_INDEX = ../../doc
include(kernel/kernel.pri)
include(drivers/drivers.pri)
diff --git a/src/testlib/doc/qttest.qdocconf b/src/testlib/doc/qttest.qdocconf
index e965c96..fd9d6a8 100644
--- a/src/testlib/doc/qttest.qdocconf
+++ b/src/testlib/doc/qttest.qdocconf
@@ -1,5 +1,5 @@
-include(../../../doc/global/qt-html-templates-offline.qdocconf)
-include(../../../doc/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtTest
description = Qt Test Reference Documentation
@@ -29,7 +29,6 @@ qhp.QtTest.subprojects.examples.title = Qt Test Examples
qhp.QtTest.subprojects.examples.indexTitle = Qt Test Examples
qhp.QtTest.subprojects.examples.selectors = fake:example
-outputdir = ../../../doc/qttest
tagfile = ../../../doc/qttest/qttest.tags
depends += qtcore
diff --git a/src/testlib/testlib.pro b/src/testlib/testlib.pro
index 4dc4c25..c14f6e0 100644
--- a/src/testlib/testlib.pro
+++ b/src/testlib/testlib.pro
@@ -12,7 +12,6 @@ unix:!embedded:QMAKE_PKGCONFIG_DESCRIPTION = Qt \
Library
QMAKE_DOCS = $$PWD/doc/qttest.qdocconf
-QMAKE_DOCS_INDEX = ../../doc
HEADERS = qbenchmark.h \
qbenchmark_p.h \
diff --git a/src/tools/qdoc/doc/config/qdoc-project.qdocconf b/src/tools/qdoc/doc/config/qdoc-project.qdocconf
index d48e132..10cdfa4 100644
--- a/src/tools/qdoc/doc/config/qdoc-project.qdocconf
+++ b/src/tools/qdoc/doc/config/qdoc-project.qdocconf
@@ -26,7 +26,6 @@ exampledirs = .. \
imagedirs = ../../../doc/src/templates/images \
images
-outputdir = ../html
tagfile = ../html/qdoc.tags
qhp.projects = QDoc
diff --git a/src/tools/qdoc/doc/files/qt.qdocconf b/src/tools/qdoc/doc/files/qt.qdocconf
deleted file mode 100644
index 377f0f1..0000000
--- a/src/tools/qdoc/doc/files/qt.qdocconf
+++ /dev/null
@@ -1,115 +0,0 @@
-include(compat.qdocconf)
-include(macros.qdocconf)
-include(qt-cpp-ignore.qdocconf)
-include(qt-html-templates.qdocconf)
-include(qt-defines.qdocconf)
-
-project = Qt
-versionsym =
-version = %VERSION%
-description = Qt Reference Documentation
-url = http://qt.nokia.com/doc/4.7
-
-edition.Console.modules = QtCore QtDBus QtNetwork QtScript QtSql QtXml \
- QtXmlPatterns QtTest
-edition.Desktop.modules = QtCore QtDBus QtGui QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg \
- QtWebKit QtXml QtXmlPatterns Qt3Support QtHelp \
- QtDesigner QtAssistant QAxContainer Phonon \
- QAxServer QtUiTools QtTest QtDBus
-edition.DesktopLight.modules = QtCore QtDBus QtGui Qt3SupportLight QtTest
-edition.DesktopLight.groups = -graphicsview-api
-
-qhp.projects = Qt
-
-qhp.Qt.file = qt.qhp
-qhp.Qt.namespace = com.trolltech.qt.474
-qhp.Qt.virtualFolder = qdoc
-qhp.Qt.indexTitle = Qt Reference Documentation
-qhp.Qt.indexRoot =
-
-# Files not referenced in any qdoc file (last four are needed by qtdemo)
-# See also extraimages.HTML
-qhp.Qt.extraFiles = classic.css \
- images/qt-logo.png \
- images/taskmenuextension-example.png \
- images/coloreditorfactoryimage.png \
- images/dynamiclayouts-example.png \
- images/stylesheet-coffee-plastique.png
-
-qhp.Qt.filterAttributes = qt 4.7.4 qtrefdoc
-qhp.Qt.customFilters.Qt.name = Qt 4.7.4
-qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.4
-qhp.Qt.subprojects = classes overviews examples
-qhp.Qt.subprojects.classes.title = Classes
-qhp.Qt.subprojects.classes.indexTitle = Qt's Classes
-qhp.Qt.subprojects.classes.selectors = class fake:headerfile
-qhp.Qt.subprojects.classes.sortPages = true
-qhp.Qt.subprojects.overviews.title = Overviews
-qhp.Qt.subprojects.overviews.indexTitle = All Overviews and HOWTOs
-qhp.Qt.subprojects.overviews.selectors = fake:page,group,module
-qhp.Qt.subprojects.examples.title = Tutorials and Examples
-qhp.Qt.subprojects.examples.indexTitle = Qt Examples
-qhp.Qt.subprojects.examples.selectors = fake:example
-
-language = Cpp
-
-headerdirs = $QTDIR/src \
- $QTDIR/extensions/activeqt \
- $QTDIR/tools/assistant/lib \
- $QTDIR/tools/assistant/compat/lib \
- $QTDIR/tools/designer/src/uitools \
- $QTDIR/tools/designer/src/lib/extension \
- $QTDIR/tools/designer/src/lib/sdk \
- $QTDIR/tools/designer/src/lib/uilib \
- $QTDIR/tools/qtestlib/src \
- $QTDIR/tools/qdbus/src
-sourcedirs = $QTDIR/src \
- $QTDIR/doc/src \
- $QTDIR/extensions/activeqt \
- $QTDIR/tools/assistant/lib \
- $QTDIR/tools/assistant/compat/lib \
- $QTDIR/tools/designer/src/uitools \
- $QTDIR/tools/designer/src/lib/extension \
- $QTDIR/tools/designer/src/lib/sdk \
- $QTDIR/tools/designer/src/lib/uilib \
- $QTDIR/tools/qtestlib/src \
- $QTDIR/tools/qdbus
-
-excludedirs = $QTDIR/src/3rdparty/clucene \
- $QTDIR/src/3rdparty/des \
- $QTDIR/src/3rdparty/freetype \
- $QTDIR/src/3rdparty/harfbuzz \
- $QTDIR/src/3rdparty/kdebase \
- $QTDIR/src/3rdparty/libjpeg \
- $QTDIR/src/3rdparty/libmng \
- $QTDIR/src/3rdparty/libpng \
- $QTDIR/src/3rdparty/libtiff \
- $QTDIR/src/3rdparty/md4 \
- $QTDIR/src/3rdparty/md5 \
- $QTDIR/src/3rdparty/patches \
- $QTDIR/src/3rdparty/sha1 \
- $QTDIR/src/3rdparty/sqlite \
- $QTDIR/src/3rdparty/webkit/JavaScriptCore \
- $QTDIR/src/3rdparty/webkit/WebCore \
- $QTDIR/src/3rdparty/wintab \
- $QTDIR/src/3rdparty/zlib \
- $QTDIR/doc/src/snippets \
- $QTDIR/src/3rdparty/phonon/gstreamer \
- $QTDIR/src/3rdparty/phonon/ds9 \
- $QTDIR/src/3rdparty/phonon/qt7 \
- $QTDIR/src/3rdparty/phonon/waveout
-
-sources.fileextensions = "*.cpp *.qdoc *.mm"
-examples.fileextensions = "*.cpp *.h *.js *.xq *.svg *.xml *.ui *.qhp *.qhcp"
-
-exampledirs = $QTDIR/doc/src \
- $QTDIR/examples \
- $QTDIR/examples/tutorials \
- $QTDIR \
- $QTDIR/qmake/examples \
- $QTDIR/src/3rdparty/webkit/WebKit/qt/docs
-imagedirs = $QTDIR/doc/src/images \
- $QTDIR/examples
-outputdir = $QTDIR/doc/html
-tagfile = $QTDIR/doc/html/qt.tags
-base = file:$QTDIR/doc/html
diff --git a/src/tools/qdoc/main.cpp b/src/tools/qdoc/main.cpp
index ea42b3f..d99d043 100644
--- a/src/tools/qdoc/main.cpp
+++ b/src/tools/qdoc/main.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include <qglobal.h>
+#include <qlibraryinfo.h>
#include <stdlib.h>
#include "codemarker.h"
#include "codeparser.h"
@@ -168,6 +169,9 @@ static void processQdocconfFile(const QString &fileName)
config.setStringList(CONFIG_SHOWINTERNAL, QStringList(showInternal ? "true" : "false"));
config.setStringList(CONFIG_OBSOLETELINKS, QStringList(obsoleteLinks ? "true" : "false"));
+ // Set a few environment variables that can be used from the qdocconf file
+ setenv("QT_INSTALL_DOCS", QLibraryInfo::location(QLibraryInfo::DocumentationPath).toLatin1().constData(), 0);
+
/*
With the default configuration values in place, load
the qdoc configuration file. Note that the configuration
@@ -252,6 +256,11 @@ static void processQdocconfFile(const QString &fileName)
dependModules += config.getStringList(CONFIG_DEPENDS);
+ // Allow modules and third-party application/libraries to link to the Qt docs
+ QString qtDocs = QLibraryInfo::location(QLibraryInfo::DocumentationPath);
+ if (!indexDirs.contains(qtDocs))
+ indexDirs.append(qtDocs);
+
if (dependModules.size() > 0) {
if (indexDirs.size() > 0) {
for (int i = 0; i < indexDirs.size(); i++) {
diff --git a/src/widgets/doc/qtwidgets.qdocconf b/src/widgets/doc/qtwidgets.qdocconf
index 6a7815d..5487d1e 100644
--- a/src/widgets/doc/qtwidgets.qdocconf
+++ b/src/widgets/doc/qtwidgets.qdocconf
@@ -1,5 +1,5 @@
-include(../../../doc/global/qt-html-templates-offline.qdocconf)
-include(../../../doc/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtWidgets
description = Qt Widgets Reference Documentation
@@ -29,7 +29,6 @@ qhp.QtWidgets.subprojects.examples.title = Qt Widgets Examples
qhp.QtWidgets.subprojects.examples.indexTitle = Qt Widgets Examples
qhp.QtWidgets.subprojects.examples.selectors = fake:example
-outputdir = ../../../doc/qtwidgets
tagfile = ../../../doc/qtwidgets/qtwidgets.tags
depends += qtcore qtgui
diff --git a/src/widgets/widgets.pro b/src/widgets/widgets.pro
index bff86c1..f294934 100644
--- a/src/widgets/widgets.pro
+++ b/src/widgets/widgets.pro
@@ -9,7 +9,6 @@ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x65000000
irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused
QMAKE_DOCS = $$PWD/doc/qtwidgets.qdocconf
-QMAKE_DOCS_INDEX = ../../doc
load(qt_module)
diff --git a/src/xml/doc/qtxml.qdocconf b/src/xml/doc/qtxml.qdocconf
index 8ad6c8b..1759112 100644
--- a/src/xml/doc/qtxml.qdocconf
+++ b/src/xml/doc/qtxml.qdocconf
@@ -1,5 +1,5 @@
-include(../../../doc/global/qt-html-templates-offline.qdocconf)
-include(../../../doc/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtXml
description = Qt XML Reference Documentation
@@ -29,7 +29,6 @@ qhp.QtXml.subprojects.examples.title = Qt XML Examples
qhp.QtXml.subprojects.examples.indexTitle = Qt XML Examples
qhp.QtXml.subprojects.examples.selectors = fake:example
-outputdir = ../../../doc/qtxml
tagfile = ../../../doc/qtxml/qtxml.tags
depends += qtcore
diff --git a/src/xml/xml.pro b/src/xml/xml.pro
index e6d5761..583df4d 100644
--- a/src/xml/xml.pro
+++ b/src/xml/xml.pro
@@ -10,7 +10,6 @@ load(qt_module)
HEADERS += qtxmlglobal.h
QMAKE_DOCS = $$PWD/doc/qtxml.qdocconf
-QMAKE_DOCS_INDEX = ../../doc
PRECOMPILED_HEADER = ../corelib/global/qt_pch.h
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment