@@ -32,7 +32,7 @@ find_package(Doxygen REQUIRED dot)
3232
3333find_program (SPHINXBUILD sphinx-build )
3434if (NOT SPHINXBUILD)
35- message (FATAL_ERROR "The 'sphinx-build' command was not found" )
35+ message (WARNING "The 'sphinx-build' command was not found; Sphinx-based targets will not be available. " )
3636endif ()
3737find_program (SPHINXAUTOBUILD sphinx-autobuild)
3838
@@ -187,90 +187,96 @@ if(HW_FEATURES_VENDOR_FILTER)
187187 list (APPEND SPHINXOPTS "-D" "zephyr_hw_features_vendor_filter=${vendor_filter} " )
188188endif ()
189189
190- add_doc_target(
191- html
192- COMMAND ${CMAKE_COMMAND} -E env ${SPHINX_ENV} OUTPUT_DIR=${DOCS_HTML_DIR}
193- ${SPHINXBUILD}
194- -b html
195- -c ${DOCS_CFG_DIR}
196- -d ${DOCS_DOCTREE_DIR}
197- -w ${DOCS_BUILD_DIR} /html.log
198- ${SPHINX_TAGS_ARGS}
199- ${SPHINXOPTS}
200- ${SPHINXOPTS_EXTRA}
201- ${DOCS_SRC_DIR}
202- ${DOCS_HTML_DIR}
203- USES_TERMINAL
204- COMMENT "Running Sphinx HTML build..."
205- )
190+ if (SPHINXBUILD)
191+ add_doc_target(
192+ html
193+ COMMAND ${CMAKE_COMMAND} -E env ${SPHINX_ENV} OUTPUT_DIR=${DOCS_HTML_DIR}
194+ ${SPHINXBUILD}
195+ -b html
196+ -c ${DOCS_CFG_DIR}
197+ -d ${DOCS_DOCTREE_DIR}
198+ -w ${DOCS_BUILD_DIR} /html.log
199+ ${SPHINX_TAGS_ARGS}
200+ ${SPHINXOPTS}
201+ ${SPHINXOPTS_EXTRA}
202+ ${DOCS_SRC_DIR}
203+ ${DOCS_HTML_DIR}
204+ USES_TERMINAL
205+ COMMENT "Running Sphinx HTML build..."
206+ )
206207
207- set_target_properties (
208- html html-nodeps
209- PROPERTIES
210- ADDITIONAL_CLEAN_FILES "${DOCS_SRC_DIR} ;${DOCS_HTML_DIR} ;${DOCS_DOCTREE_DIR} "
211- )
208+ set_target_properties (
209+ html html-nodeps
210+ PROPERTIES
211+ ADDITIONAL_CLEAN_FILES "${DOCS_SRC_DIR} ;${DOCS_HTML_DIR} ;${DOCS_DOCTREE_DIR} "
212+ )
212213
213- add_dependencies (html devicetree)
214+ add_dependencies (html devicetree)
215+ endif ()
214216
215217#-------------------------------------------------------------------------------
216218# html-live
217219
218- add_doc_target(
219- html-live
220- COMMAND ${CMAKE_COMMAND} -E env ${SPHINX_ENV} OUTPUT_DIR=${DOCS_HTML_DIR}
221- ${SPHINXAUTOBUILD}
222- --watch ${DOCS_CFG_DIR}
223- --ignore ${DOCS_BUILD_DIR}
224- -b html
225- -c ${DOCS_CFG_DIR}
226- -d ${DOCS_DOCTREE_DIR}
227- -w ${DOCS_BUILD_DIR} /html.log
228- ${SPHINX_TAGS_ARGS}
229- ${SPHINXOPTS}
230- ${SPHINXOPTS_EXTRA}
231- ${DOCS_SRC_DIR}
232- ${DOCS_HTML_DIR}
233- USES_TERMINAL
234- COMMENT "Running Sphinx HTML autobuild..."
235- )
220+ if (SPHINXBUILD)
221+ add_doc_target(
222+ html-live
223+ COMMAND ${CMAKE_COMMAND} -E env ${SPHINX_ENV} OUTPUT_DIR=${DOCS_HTML_DIR}
224+ ${SPHINXAUTOBUILD}
225+ --watch ${DOCS_CFG_DIR}
226+ --ignore ${DOCS_BUILD_DIR}
227+ -b html
228+ -c ${DOCS_CFG_DIR}
229+ -d ${DOCS_DOCTREE_DIR}
230+ -w ${DOCS_BUILD_DIR} /html.log
231+ ${SPHINX_TAGS_ARGS}
232+ ${SPHINXOPTS}
233+ ${SPHINXOPTS_EXTRA}
234+ ${DOCS_SRC_DIR}
235+ ${DOCS_HTML_DIR}
236+ USES_TERMINAL
237+ COMMENT "Running Sphinx HTML autobuild..."
238+ )
236239
237- set_target_properties (
238- html-live html-live-nodeps
239- PROPERTIES
240- ADDITIONAL_CLEAN_FILES "${DOCS_SRC_DIR} ;${DOCS_HTML_DIR} ;${DOCS_DOCTREE_DIR} "
241- )
240+ set_target_properties (
241+ html-live html-live-nodeps
242+ PROPERTIES
243+ ADDITIONAL_CLEAN_FILES "${DOCS_SRC_DIR} ;${DOCS_HTML_DIR} ;${DOCS_DOCTREE_DIR} "
244+ )
242245
243- add_dependencies (html-live devicetree)
246+ add_dependencies (html-live devicetree)
247+ endif ()
244248#-------------------------------------------------------------------------------
245249# pdf
246250
247- add_doc_target(
248- latex
249- COMMAND ${CMAKE_COMMAND} -E env ${SPHINX_ENV} OUTPUT_DIR=${DOCS_LATEX_DIR}
250- ${SPHINXBUILD}
251- -b latex
252- -c ${DOCS_CFG_DIR}
253- -d ${DOCS_DOCTREE_DIR}
254- -w ${DOCS_BUILD_DIR} /latex.log
255- ${SPHINX_TAGS_ARGS}
256- -t convertimages
257- ${SPHINXOPTS}
258- ${SPHINXOPTS_EXTRA}
259- ${DOCS_SRC_DIR}
260- ${DOCS_LATEX_DIR}
261- USES_TERMINAL
262- COMMENT "Running Sphinx LaTeX build..."
263- )
251+ if (SPHINXBUILD)
252+ add_doc_target(
253+ latex
254+ COMMAND ${CMAKE_COMMAND} -E env ${SPHINX_ENV} OUTPUT_DIR=${DOCS_LATEX_DIR}
255+ ${SPHINXBUILD}
256+ -b latex
257+ -c ${DOCS_CFG_DIR}
258+ -d ${DOCS_DOCTREE_DIR}
259+ -w ${DOCS_BUILD_DIR} /latex.log
260+ ${SPHINX_TAGS_ARGS}
261+ -t convertimages
262+ ${SPHINXOPTS}
263+ ${SPHINXOPTS_EXTRA}
264+ ${DOCS_SRC_DIR}
265+ ${DOCS_LATEX_DIR}
266+ USES_TERMINAL
267+ COMMENT "Running Sphinx LaTeX build..."
268+ )
264269
265- set_target_properties (
266- latex latex-nodeps
267- PROPERTIES
268- ADDITIONAL_CLEAN_FILES "${DOCS_SRC_DIR} ;${DOCS_LATEX_DIR} ;${DOCS_DOCTREE_DIR} "
269- )
270+ set_target_properties (
271+ latex latex-nodeps
272+ PROPERTIES
273+ ADDITIONAL_CLEAN_FILES "${DOCS_SRC_DIR} ;${DOCS_LATEX_DIR} ;${DOCS_DOCTREE_DIR} "
274+ )
270275
271- add_dependencies (latex devicetree)
276+ add_dependencies (latex devicetree)
277+ endif ()
272278
273- if (LATEX_PDFLATEX_FOUND AND LATEXMK)
279+ if (SPHINXBUILD AND LATEX_PDFLATEX_FOUND AND LATEXMK)
274280 if (WIN32 )
275281 set (PDF_BUILD_COMMAND "make.bat" )
276282 else ()
@@ -296,30 +302,32 @@ endif()
296302#-------------------------------------------------------------------------------
297303# linkcheck
298304
299- add_doc_target(
300- linkcheck
301- COMMAND ${CMAKE_COMMAND} -E env ${SPHINX_ENV} OUTPUT_DIR=${DOCS_LINKCHECK_DIR}
302- ${SPHINXBUILD}
303- -b linkcheck
304- -c ${DOCS_CFG_DIR}
305- -d ${DOCS_DOCTREE_DIR}
306- -w ${DOCS_BUILD_DIR} /linkcheck.log
307- ${SPHINX_TAGS_ARGS}
308- ${SPHINXOPTS}
309- ${SPHINXOPTS_EXTRA}
310- ${DOCS_SRC_DIR}
311- ${DOCS_LINKCHECK_DIR}
312- USES_TERMINAL
313- COMMENT "Running Sphinx link check..."
314- )
305+ if (SPHINXBUILD)
306+ add_doc_target(
307+ linkcheck
308+ COMMAND ${CMAKE_COMMAND} -E env ${SPHINX_ENV} OUTPUT_DIR=${DOCS_LINKCHECK_DIR}
309+ ${SPHINXBUILD}
310+ -b linkcheck
311+ -c ${DOCS_CFG_DIR}
312+ -d ${DOCS_DOCTREE_DIR}
313+ -w ${DOCS_BUILD_DIR} /linkcheck.log
314+ ${SPHINX_TAGS_ARGS}
315+ ${SPHINXOPTS}
316+ ${SPHINXOPTS_EXTRA}
317+ ${DOCS_SRC_DIR}
318+ ${DOCS_LINKCHECK_DIR}
319+ USES_TERMINAL
320+ COMMENT "Running Sphinx link check..."
321+ )
315322
316- set_target_properties (
317- linkcheck linkcheck-nodeps
318- PROPERTIES
319- ADDITIONAL_CLEAN_FILES "${DOCS_SRC_DIR} ;${DOCS_LINKCHECK_DIR} ;${DOCS_DOCTREE_DIR} "
320- )
323+ set_target_properties (
324+ linkcheck linkcheck-nodeps
325+ PROPERTIES
326+ ADDITIONAL_CLEAN_FILES "${DOCS_SRC_DIR} ;${DOCS_LINKCHECK_DIR} ;${DOCS_DOCTREE_DIR} "
327+ )
321328
322- add_dependencies (linkcheck devicetree)
329+ add_dependencies (linkcheck devicetree)
330+ endif ()
323331
324332#-------------------------------------------------------------------------------
325333# others
0 commit comments