CMakeLists.txt 3.84 KB
Newer Older
1 2 3 4 5 6
#
#  CMake file for OpenCV docs
#

file(GLOB FILES_DOC *.htm *.txt *.jpg *.png *.pdf)
file(GLOB FILES_DOC_VS vidsurv/*.doc)
7
file(GLOB FILES_TEX *.tex *.sty *.bib)
8 9
file(GLOB FILES_TEX_PICS pics/*.png pics/*.jpg)

10
if(BUILD_DOCS AND HAVE_SPHINX)
11

12 13
project(opencv_docs)

14 15
file(GLOB_RECURSE OPENCV_FILES_REF ../modules/*.rst)
file(GLOB_RECURSE OPENCV_FILES_REF_PICT ../modules/*.png ../modules/*.jpg)
16 17
file(GLOB_RECURSE OPENCV_FILES_UG user_guide/*.rst)
file(GLOB_RECURSE OPENCV_FILES_TUT tutorials/*.rst)
18
file(GLOB_RECURSE OPENCV_FILES_TUT_PICT tutorials/*.png tutorials/*.jpg)
19

20 21
set(OPENCV_DOC_DEPS conf.py ${OPENCV_FILES_REF} ${OPENCV_FILES_REF_PICT}
          ${OPENCV_FILES_UG} ${OPENCV_FILES_TUT} ${OPENCV_FILES_TUT_PICT})
22

23
if (PDFLATEX_COMPILER)
24 25 26 27 28 29
add_custom_target(docs
                  ${SPHINX_BUILD}
                    -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
30
                  COMMAND ${CMAKE_COMMAND} -E copy_if_different
31
                    ${CMAKE_CURRENT_SOURCE_DIR}/mymath.sty ${CMAKE_CURRENT_BINARY_DIR}
32
                  COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/patch_refman_latex.py" opencv2refman.tex
33 34 35 36 37 38
                  COMMAND ${PDFLATEX_COMPILER} opencv2refman.tex
                  COMMAND ${PDFLATEX_COMPILER} opencv2refman.tex
                  COMMAND ${PDFLATEX_COMPILER} opencv_user.tex
                  COMMAND ${PDFLATEX_COMPILER} opencv_user.tex
                  COMMAND ${PDFLATEX_COMPILER} opencv_tutorials.tex
                  COMMAND ${PDFLATEX_COMPILER} opencv_tutorials.tex
39 40 41
                  DEPENDS ${OPENCV_DOC_DEPS}
                  WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
                  COMMENT "Generating the PDF Manuals")
42 43
                  
endif()
44 45 46 47 48 49 50 51 52 53

add_custom_target(html_docs
                ${SPHINX_BUILD}
                  -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}
                COMMENT "Generating Online Documentation")
54

55
endif()
56 57 58
        
install(FILES ${FILES_DOC} DESTINATION "${OPENCV_DOC_INSTALL_PATH}" COMPONENT main)
install(FILES ${FILES_DOC_VS} DESTINATION "${OPENCV_DOC_INSTALL_PATH}/vidsurv" COMPONENT main)
59 60 61

########################################### Doxygen Docs #########################################

62 63
if(0)
#if(BUILD_DOXYGEN_DOCS AND DOXYGEN_FOUND)
64 65 66 67 68 69

set(DOXYGEN_LANGUAGE "English" CACHE STRING "Language used by doxygen")
mark_as_advanced(DOXYGEN_LANGUAGE)

set(CMAKE_DOXYGEN_IMAGE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/pics")

70
set(module_names core imgproc calib3d features2d objdetect video highgui ml legacy contrib)
71 72 73 74
set(DOXYGEN_SOURCE_DIR)
set(doxy_html_dep_list)

foreach(m ${module_names})
Alexander Shishkov's avatar
Alexander Shishkov committed
75
    set(module_hdr_path "${OpenCV_SOURCE_DIR}/modules/${m}/include/opencv2/${m}")
76 77 78 79 80 81 82 83 84 85 86 87 88 89
    set(DOXYGEN_SOURCE_DIR ${DOXYGEN_SOURCE_DIR} ${module_hdr_path})
    file(GLOB module_hdrs "${module_hdr_path}/*.h*")
    set(doxy_html_dep_list ${doxy_html_dep_list} ${module_hdrs})
endforeach()

set(DOXYGEN_OUTPUT_DIR html)
string(REGEX REPLACE ";" " " CMAKE_DOXYGEN_INPUT_LIST "${DOXYGEN_SOURCE_DIR}")

configure_file(Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
set(HTML_TARGET "DOXY_HTML" )

add_custom_target(${HTML_TARGET} ALL
	${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
	DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile ${doxy_html_dep_list})
90
exec_program(mkdir ARGS "-p \"${CMAKE_CURRENT_BINARY_DIR}/html/\"")
91
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html" DESTINATION "${OPENCV_DOC_INSTALL_PATH}/html" COMPONENT main)
92 93

endif()