Skip to content

Commit 60da6b2

Browse files
committed
Doc build: Add doczip CMake target, replacing build_doc_snapshot.sh
1 parent 441f060 commit 60da6b2

File tree

3 files changed

+38
-43
lines changed

3 files changed

+38
-43
lines changed

HOWTO-RELEASE

+7-7
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,12 @@ Process :
9090

9191
If make is not GNU make, e.g., export MAKE=gmake
9292

93+
ant used for building Javadocs
94+
9395
doxygen
9496

97+
jdk used for building Javadocs
98+
9599
python available as "python", or e.g. export PYTHON=python3.9
96100

97101
python3 available as "python3" in path (export PYTHON=python3.9
@@ -128,13 +132,9 @@ Process :
128132

129133
12.2) Create a snapshot of the documentation (only for feature releases)
130134

131-
1. Refresh
132-
https://download.osgeo.org/gdal/for_doc/javadoc.zip
133-
by building the Java bindings, with -DGDAL_JAVA_GENERATE_JAVADOC=ON.
134-
javadoc.zip is in the swig/java subdirectory of the build directory.
135-
2. cd doc
136-
3. ./build_doc_snapshot 310
137-
This generates gdal310doc.zip
135+
1. From the build directory, run
136+
cmake --build . --target doczip
137+
This generates doc/gdal3110doc.zip
138138

139139
12.3) Publish the resulting files on download.osgeo.org,
140140
in /osgeo/download/gdal/X.Y.Z (where X.Y.Z is the version number)

doc/CMakeLists.txt

+31-5
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ if (BUILD_DOCS)
3434
gdal_set_runtime_env(PYTHON_RUN_ENV)
3535

3636
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")
3838
file(MAKE_DIRECTORY ${SPHINX_BUILD_DIR})
3939
file(MAKE_DIRECTORY ${SPHINX_BUILD_DIR}/html_extra)
4040

@@ -115,8 +115,9 @@ if (BUILD_DOCS)
115115
COMMAND ${CMAKE_COMMAND} -E env ${PYTHON_RUN_ENV} BUILDDIR=${SPHINX_BUILD_DIR}
116116
${SPHINX_BUILD} -M html
117117
${CMAKE_CURRENT_SOURCE_DIR}/source
118-
${CMAKE_CURRENT_BINARY_DIR}/build
118+
${SPHINX_BUILD_DIR}
119119
${SPHINX_BUILD_OPTS}
120+
"--fail-on-warning"
120121
COMMAND ${CMAKE_COMMAND} -E touch "${CMAKE_CURRENT_BINARY_DIR}/html.stamp"
121122
)
122123

@@ -125,17 +126,17 @@ if (BUILD_DOCS)
125126
)
126127

127128
# Sphinx PDF documentation
129+
set(GDAL_DOC_PDF ${CMAKE_CURRENT_BINARY_DIR}/build/latex/gdal.pdf)
128130
add_custom_command(
129-
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/build/gdal.pdf
131+
OUTPUT ${GDAL_DOC_PDF}
130132
DEPENDS ${SPHINX_SOURCE_FILES}
131133
COMMAND ${CMAKE_COMMAND} -E env BUILDDIR=${SPHINX_BUILD_DIR}
132134
${SPHINX_BUILD} -M latexpdf
133135
${CMAKE_CURRENT_SOURCE_DIR}/source
134136
${CMAKE_CURRENT_BINARY_DIR}/build
135-
${SPHINX_BUILD_OPTS}
136137
)
137138

138-
add_custom_target(latexpdf DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/build/gdal.pdf)
139+
add_custom_target(latexpdf DEPENDS ${GDAL_DOC_PDF})
139140

140141
# Sphinx manpage documentation
141142
add_custom_command(
@@ -151,6 +152,31 @@ if (BUILD_DOCS)
151152

152153
add_custom_target(man DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/man.stamp)
153154

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+
154180
####################################################################################################
155181
# Documentation tests
156182
####################################################################################################

doc/build_doc_snapshot.sh

-31
This file was deleted.

0 commit comments

Comments
 (0)