include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
include($QT_INSTALL_DOCS/config/exampleurl-qtbase.qdocconf)

# Name of the project which must match the outputdir. Determines the .index file
project = QtOpenGL

# Directories in which to search for files to document and images.
# By default set to the root directory of the project for sources
# and headers and qdoc will therefore generate output for each file.
# Images should be placed in <rootdir>/dic/images and examples in
# <rootdir>/examples.
# Paths are relative to the  location of this file.

headerdirs += ..
sourcedirs  += .. \
               ../../../examples/opengl/doc/src
exampledirs += ../../../examples/opengl \
               ../ \
               snippets
imagedirs   += images \
               ../../../examples/opengl/doc/images

depends += qtdoc qtcore qtgui qtwidgets qmake

examplesinstallpath     = opengl

tagfile = qtopengl.tags

# The following parameters are for creating a qhp file, the qhelpgenerator
# program can convert the qhp file into a qch file which can be opened in
# Qt Assistant and/or Qt Creator.

# Defines the name of the project. You cannot use operators (+, =, -) in
# the name. Properties for this project are set using a qhp.<projectname>.property
# format.
qhp.projects = QtOpenGL

# Sets the name of the output qhp file.
qhp.QtOpenGL.file = qtopengl.qhp

# Namespace for the output file. This namespace is used to distinguish between
# different documentation files in Creator/Assistant.
qhp.QtOpenGL.namespace = org.qt-project.qtopengl.$QT_VERSION_TAG

# Title for the package, will be the main title for the package in
# Assistant/Creator.
qhp.QtOpenGL.indexTitle = Qt OpenGL

# Only update the name of the project for the next variables.
qhp.QtOpenGL.virtualFolder  = qtopengl
qhp.QtOpenGL.subprojects = classes
qhp.QtOpenGL.subprojects.classes.title = C++ Classes
qhp.QtOpenGL.subprojects.classes.indexTitle = Qt OpenGL C++ Classes
qhp.QtOpenGL.subprojects.classes.selectors = class fake:headerfile
qhp.QtOpenGL.subprojects.classes.sortPages = true

navigation.landingpage = "Qt OpenGL"
navigation.cppclassespage = "Qt OpenGL C++ Classes"
