1
#####################################################################
2
# Qt documentation build
3
#####################################################################
4
5
DOCS_GENERATION_DEFINES =
6
GENERATOR = $$QT_BUILD_TREE/bin/qhelpgenerator
7
8
win32:!win32-g++* {
9
    unixstyle = false
10
} else :win32-g++*:isEmpty(QMAKE_SH) {
11
    unixstyle = false
12
} else {
13
    unixstyle = true
14
}
15
16
COPYWEBKITGUIDE = $$QT_SOURCE_TREE/examples/webkit/webkit-guide
17
COPYWEBKITTARGA = $$QT_BUILD_TREE/doc-build/html-qt
18
COPYWEBKITTARGB = $$QT_BUILD_TREE/doc/html
19
20
EXAMPLESMANIFEST = $$QT_BUILD_TREE/doc/html/examples-manifest.xml
21
DEMOSMANIFEST = $$QT_BUILD_TREE/doc/html/demos-manifest.xml
22
EXAMPLESMANIFESTTARGET = $$QT_BUILD_TREE/examples
23
DEMOSMANIFESTTARGET = $$QT_BUILD_TREE/demos
24
25
$$unixstyle {
26
    QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && QT_BUILD_TREE=$$QT_BUILD_TREE QT_SOURCE_TREE=$$QT_SOURCE_TREE $$QT_BUILD_TREE/bin/qdoc3 $$DOCS_GENERATION_DEFINES
27
} else {
28
    QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && set QT_BUILD_TREE=$$QT_BUILD_TREE&& set QT_SOURCE_TREE=$$QT_SOURCE_TREE&& $$QT_BUILD_TREE/bin/qdoc3.exe $$DOCS_GENERATION_DEFINES
29
    QDOC = $$replace(QDOC, "/", "\\")
30
    COPYWEBKITGUIDE = $$replace(COPYWEBKITGUIDE, "/", "\\")
31
    COPYWEBKITTARGA = $$replace(COPYWEBKITTARGA, "/", "\\")
32
    COPYWEBKITTARGB = $$replace(COPYWEBKITTARGB, "/", "\\")
33
    EXAMPLESMANIFEST = $$replace(EXAMPLESMANIFEST,  "/", "\\")
34
    DEMOSMANIFEST  = $$replace(DEMOSMANIFEST,  "/", "\\")
35
    EXAMPLESMANIFESTTARGET = $$replace(EXAMPLESMANIFESTTARGET,  "/", "\\")
36
    DEMOSMANIFESTTARGET = $$replace(DEMOSMANIFESTTARGET,  "/", "\\")
37
}
38
ADP_DOCS_QDOCCONF_FILE = qt-build-docs-online.qdocconf
39
DITA_DOCS_QDOCCONF_FILE = qt-ditaxml.qdocconf
40
QT_DOCUMENTATION = ($$QDOC qt-api-only.qdocconf assistant.qdocconf designer.qdocconf \
41
                    linguist.qdocconf qmake.qdocconf qdeclarative.qdocconf) && \
42
               (cd $$QT_BUILD_TREE && \
43
                    $$QMAKE_COPY_DIR $$COPYWEBKITGUIDE $$COPYWEBKITTARGA && \
44
                    $$QMAKE_COPY $$EXAMPLESMANIFEST $$EXAMPLESMANIFESTTARGET && \
45
                    $$QMAKE_COPY $$DEMOSMANIFEST $$DEMOSMANIFESTTARGET && \
46
                    $$GENERATOR doc-build/html-qt/qt.qhp -o doc/qch/qt.qch && \
47
                    $$GENERATOR doc-build/html-assistant/assistant.qhp -o doc/qch/assistant.qch && \
48
                    $$GENERATOR doc-build/html-designer/designer.qhp -o doc/qch/designer.qch && \
49
                    $$GENERATOR doc-build/html-linguist/linguist.qhp -o doc/qch/linguist.qch && \
50
                    $$GENERATOR doc-build/html-qmake/qmake.qhp -o doc/qch/qmake.qch && \
51
                    $$GENERATOR doc-build/html-qml/qml.qhp -o doc/qch/qml.qch \
52
               )
53
54
QT_ZH_CN_DOCUMENTATION = ($$QDOC qt-api-only_zh_CN.qdocconf) && \
55
               (cd $$QT_BUILD_TREE && \
56
                    $$GENERATOR doc-build/html-qt_zh_CN/qt.qhp -o doc/qch/qt_zh_CN.qch \
57
               )
58
59
QT_JA_JP_DOCUMENTATION = ($$QDOC qt-api-only_ja_JP.qdocconf) && \
60
               (cd $$QT_BUILD_TREE && \
61
                    $$GENERATOR doc-build/html-qt_ja_JP/qt.qhp -o doc/qch/qt_ja_JP.qch \
62
               )
63
64
win32-g++*:isEmpty(QMAKE_SH) {
65
	QT_DOCUMENTATION = $$replace(QT_DOCUMENTATION, "/", "\\\\")
66
	QT_ZH_CN_DOCUMENTATION = $$replace(QT_ZH_CN_DOCUMENTATION, "/", "\\\\")
67
	QT_JA_JP_DOCUMENTATION = $$replace(QT_JA_JP_DOCUMENTATION, "/", "\\\\")
68
}
69
70
# Build rules:
71
adp_docs.commands = ($$QDOC $$ADP_DOCS_QDOCCONF_FILE && $$QMAKE_COPY_DIR $$COPYWEBKITGUIDE $$COPYWEBKITTARGB)
72
adp_docs.depends += sub-qdoc3 # qdoc3
73
dita_docs.commands = ($$QDOC $$DITA_DOCS_QDOCCONF_FILE)
74
dita_docs.depends += sub-qdoc3 # qdoc3
75
qch_docs.commands = $$QT_DOCUMENTATION
76
qch_docs.depends += sub-qdoc3
77
78
docs.depends = sub-qdoc3 adp_docs qch_docs
79
80
docs_zh_CN.depends = docs
81
docs_zh_CN.commands = $$QT_ZH_CN_DOCUMENTATION
82
83
docs_ja_JP.depends = docs
84
docs_ja_JP.commands = $$QT_JA_JP_DOCUMENTATION
85
86
# Install rules
87
htmldocs.files = $$QT_BUILD_TREE/doc/html
88
htmldocs.path = $$[QT_INSTALL_DOCS]
89
htmldocs.CONFIG += no_check_exist directory
90
91
examplesmanifest.files = $$EXAMPLESMANIFEST
92
examplesmanifest.path = $$[QT_INSTALL_EXAMPLES]
93
examplesmanifest.CONFIG += no_check_exist directory
94
95
demosmanifest.files = $$DEMOSMANIFEST
96
demosmanifest.path = $$[QT_INSTALL_DEMOS]
97
demosmanifest.CONFIG += no_check_exist directory
98
99
qchdocs.files= $$QT_BUILD_TREE/doc/qch
100
qchdocs.path = $$[QT_INSTALL_DOCS]
101
qchdocs.CONFIG += no_check_exist directory
102
103
docimages.files = $$QT_BUILD_TREE/doc/src/images
104
docimages.path = $$[QT_INSTALL_DOCS]/src
105
106
sub-qdoc3.depends = sub-corelib sub-xml
107
sub-qdoc3.commands += (cd tools/qdoc3 && $(MAKE))
108
109
QMAKE_EXTRA_TARGETS += sub-qdoc3 adp_docs dita_docs qch_docs docs docs_zh_CN docs_ja_JP
110
INSTALLS += htmldocs qchdocs docimages examplesmanifest demosmanifest