From 5b2d557502e0fb3f539af9aefe12d2d9c813b962 Mon Sep 17 00:00:00 2001 From: antonella Date: Wed, 4 Sep 2013 16:00:50 +0200 Subject: [PATCH] Added plantuml extension Aligned strings in CMakeList Modified the check on plantuml extension Some fixes Moved find_host_program for plantuml script --- CMakeLists.txt | 1 + cmake/OpenCVDetectPython.cmake | 1 + doc/CMakeLists.txt | 9 +++++++-- doc/conf.py | 13 +++++++++++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e3c95b..2c05848 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -840,6 +840,7 @@ if(BUILD_DOCS) endif() status(" Sphinx:" HAVE_SPHINX THEN "${SPHINX_BUILD} (ver ${SPHINX_VERSION})" ELSE NO) status(" PdfLaTeX compiler:" PDFLATEX_COMPILER THEN "${PDFLATEX_COMPILER}" ELSE NO) + status(" PlantUML:" PLANTUML THEN "${PLANTUML}" ELSE NO) endif() # ========================== samples and tests ========================== diff --git a/cmake/OpenCVDetectPython.cmake b/cmake/OpenCVDetectPython.cmake index 65c45c9..0ef0be9 100644 --- a/cmake/OpenCVDetectPython.cmake +++ b/cmake/OpenCVDetectPython.cmake @@ -78,6 +78,7 @@ endif() if(BUILD_DOCS) find_host_program(SPHINX_BUILD sphinx-build) + find_host_program(PLANTUML plantuml) if(SPHINX_BUILD) execute_process(COMMAND "${SPHINX_BUILD}" OUTPUT_QUIET diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 8736846..888740b 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -67,9 +67,14 @@ if(BUILD_DOCS AND HAVE_SPHINX) set(OPENCV_DOC_DEPS conf.py ${OPENCV_FILES_REF} ${OPENCV_FILES_REF_PICT} ${OPENCV_FILES_UG} ${OPENCV_FILES_TUT} ${OPENCV_FILES_TUT_PICT}) + set(BUILD_PLANTUML "") + if(PLANTUML) + set(BUILD_PLANTUML "-tplantuml") + endif() + if(PDFLATEX_COMPILER) add_custom_target(docs - COMMAND ${SPHINX_BUILD} -b latex -c ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/.. . + COMMAND ${SPHINX_BUILD} ${BUILD_PLANTUML} -b latex -c ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/.. . COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/pics ${CMAKE_CURRENT_BINARY_DIR}/doc/opencv1/pics COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/mymath.sty ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/patch_refman_latex.py" opencv2refman.tex @@ -103,7 +108,7 @@ if(BUILD_DOCS AND HAVE_SPHINX) endif() add_custom_target(html_docs - COMMAND ${SPHINX_BUILD} -b html -c ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/.. ./_html + COMMAND ${SPHINX_BUILD} ${BUILD_PLANTUML} -b html -c ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/.. ./_html COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/mymath.sty ${CMAKE_CURRENT_BINARY_DIR} DEPENDS ${OPENCV_DOC_DEPS} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} diff --git a/doc/conf.py b/doc/conf.py index 312a1c2..f124f65 100755 --- a/doc/conf.py +++ b/doc/conf.py @@ -28,6 +28,16 @@ sys.path.insert(0, os.path.abspath('.')) # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = ['sphinx.ext.pngmath', 'sphinx.ext.ifconfig', 'sphinx.ext.todo', 'sphinx.ext.extlinks', 'ocv', 'sphinx.ext.doctest'] + +have_plantuml_ext = False +if tags.has('plantuml'): + try: + import sphinxcontrib.plantuml + extensions.append("sphinxcontrib.plantuml") + have_plantuml_ext = True + except ImportError: + print "No module sphinxcontrib.plantuml found, sphinx will not render UML diagrams" + doctest_test_doctest_blocks = 'block' # Add any paths that contain templates here, relative to this directory. @@ -77,6 +87,9 @@ if version_patch: # directories to ignore when looking for source files. exclude_patterns = ['doc/tutorials/definitions'] +if not have_plantuml_ext: + exclude_patterns.append('**/uml/*') + # The reST default role (used for this markup: `text`) to use for all documents. #default_role = None -- 2.7.4