@@ -34,7 +34,7 @@ if (BUILD_DOCS)
34
34
gdal_set_runtime_env(PYTHON_RUN_ENV)
35
35
36
36
set (SPHINX_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR} /build )
37
- set (SPHINX_BUILD_OPTS "--jobs=auto" "--fail-on-warning" "-- show-traceback" )
37
+ set (SPHINX_BUILD_OPTS "--jobs=auto" "--show-traceback" )
38
38
file (MAKE_DIRECTORY ${SPHINX_BUILD_DIR} )
39
39
file (MAKE_DIRECTORY ${SPHINX_BUILD_DIR} /html_extra)
40
40
@@ -115,8 +115,9 @@ if (BUILD_DOCS)
115
115
COMMAND ${CMAKE_COMMAND} -E env ${PYTHON_RUN_ENV} BUILDDIR=${SPHINX_BUILD_DIR}
116
116
${SPHINX_BUILD} -M html
117
117
${CMAKE_CURRENT_SOURCE_DIR} /source
118
- ${CMAKE_CURRENT_BINARY_DIR} / build
118
+ ${SPHINX_BUILD_DIR}
119
119
${SPHINX_BUILD_OPTS}
120
+ "--fail-on-warning"
120
121
COMMAND ${CMAKE_COMMAND} -E touch "${CMAKE_CURRENT_BINARY_DIR} /html.stamp"
121
122
)
122
123
@@ -125,17 +126,17 @@ if (BUILD_DOCS)
125
126
)
126
127
127
128
# Sphinx PDF documentation
129
+ set (GDAL_DOC_PDF ${CMAKE_CURRENT_BINARY_DIR} /build /latex/gdal.pdf)
128
130
add_custom_command (
129
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR} / build /gdal.pdf
131
+ OUTPUT ${GDAL_DOC_PDF}
130
132
DEPENDS ${SPHINX_SOURCE_FILES}
131
133
COMMAND ${CMAKE_COMMAND} -E env BUILDDIR=${SPHINX_BUILD_DIR}
132
134
${SPHINX_BUILD} -M latexpdf
133
135
${CMAKE_CURRENT_SOURCE_DIR} /source
134
136
${CMAKE_CURRENT_BINARY_DIR} /build
135
- ${SPHINX_BUILD_OPTS}
136
137
)
137
138
138
- add_custom_target (latexpdf DEPENDS ${CMAKE_CURRENT_BINARY_DIR} / build /gdal.pdf )
139
+ add_custom_target (latexpdf DEPENDS ${GDAL_DOC_PDF} )
139
140
140
141
# Sphinx manpage documentation
141
142
add_custom_command (
@@ -151,6 +152,31 @@ if (BUILD_DOCS)
151
152
152
153
add_custom_target (man DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /man.stamp)
153
154
155
+ ####################################################################################################
156
+ # Packaged documentation (e.g. "gdal3100doc.zip")
157
+ ####################################################################################################
158
+
159
+ string (REPLACE "." "" _GDAL_VERSION_NO_DOTS ${GDAL_VERSION_NO_DEV_SUFFIX} )
160
+ set (DOC_ZIP "gdal${_GDAL_VERSION_NO_DOTS} doc.zip" )
161
+
162
+ # The Javadoc path is copied from swig/java/CMakeLists.txt, which hasn't been read
163
+ # at the time this is executed.
164
+ set (JAVADOC_ZIP ${CMAKE_CURRENT_BINARY_DIR} /../swig/java/javadoc.zip)
165
+
166
+ add_custom_command (
167
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /${DOC_ZIP}
168
+ DEPENDS ${GDAL_DOC_PDF}
169
+ ${CMAKE_CURRENT_BINARY_DIR} /html.stamp
170
+ java_binding ${JAVADOC_ZIP}
171
+ COMMAND ${CMAKE_COMMAND} -E make_directory gdaldoc
172
+ COMMAND ${CMAKE_COMMAND} -E make_directory gdaldoc/java
173
+ COMMAND ${CMAKE_COMMAND} -E chdir gdaldoc/java ${CMAKE_COMMAND} -E tar x ${JAVADOC_ZIP} --format=zip
174
+ COMMAND ${CMAKE_COMMAND} -E copy ${GDAL_DOC_PDF} gdaldoc/gdal.pdf
175
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${SPHINX_BUILD_DIR} /html gdaldoc
176
+ COMMAND ${CMAKE_COMMAND} -E tar c ${DOC_ZIP} --format=zip gdaldoc)
177
+
178
+ add_custom_target (doczip DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /${DOC_ZIP} )
179
+
154
180
####################################################################################################
155
181
# Documentation tests
156
182
####################################################################################################
0 commit comments