]> rtime.felk.cvut.cz Git - opencv.git/blob - opencv/doc/CMakeLists.txt
fixed build of the relocated docs and eliminated some warnings
[opencv.git] / opencv / doc / CMakeLists.txt
1 #
2 #  CMake file for OpenCV docs
3 #
4
5 file(GLOB FILES_DOC *.htm *.txt *.jpg *.png *.pdf)
6 file(GLOB FILES_DOC_PAPERS papers/*.pdf papers/*.ps)
7 file(GLOB FILES_DOC_VS vidsurv/*.doc)
8
9 if(BUILD_LATEX_DOCS AND PDFLATEX_COMPILER)
10         
11 project(opencv_refman)
12
13 set(refman_m4_srcs CxCore.tex.m4 CvReference.tex.m4 HighGui.tex.m4)
14 set(refman_srcs CxCore-cpp.tex Cv-cpp.tex CvAux.tex HighGui-cpp.tex MachineLearning.tex opencv.tex opencv.sty helvetica.sty opencv.bib)
15 set(refman_copied_srcs)
16
17 foreach(f ${refman_m4_srcs})
18     get_filename_component(basef ${f} NAME_WE)
19     set(outputf ${CMAKE_CURRENT_BINARY_DIR}/${basef}-c.tex)
20     add_custom_command(
21         OUTPUT ${outputf}
22         DEPENDS ${f}
23         COMMAND m4
24         ARGS -DTARGET_LANGUAGE=c ${f} > ${outputf}
25         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
26         VERBATIM
27         )
28     list(APPEND refman_copied_srcs ${outputf})
29 endforeach()
30
31 foreach(f ${refman_srcs})
32     set(outputf ${CMAKE_CURRENT_BINARY_DIR}/${f})
33     add_custom_command(
34         OUTPUT ${outputf}
35         DEPENDS ${f}
36         COMMAND ${CMAKE_COMMAND}
37         ARGS -E copy ${f} ${outputf}
38         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
39     list(APPEND refman_copied_srcs ${outputf})
40 endforeach()
41
42 set(pdflatex_args -interaction=batchmode "'\\newcommand{\\genc}{true}\\newcommand{\\genpy}{true}\\input{opencv.tex}'")
43
44 add_custom_command(
45   OUTPUT    ${CMAKE_CURRENT_BINARY_DIR}/opencv.aux
46   DEPENDS   ${refman_copied_srcs}
47   COMMAND   ${PDFLATEX_COMPILER}
48   ARGS      ${pdflatex_args}
49   COMMENT   "Latex (first pass)"
50   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
51   )
52
53 add_custom_command(
54   OUTPUT    ${CMAKE_CURRENT_BINARY_DIR}/opencv.bbl
55   DEPENDS   ${CMAKE_CURRENT_BINARY_DIR}/opencv.aux
56   COMMAND   ${BIBTEX_COMPILER}
57   ARGS      ${CMAKE_CURRENT_BINARY_DIR}/opencv
58   COMMENT   "Bibtex"
59   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
60   )
61
62 add_custom_command(
63   OUTPUT    ${CMAKE_CURRENT_BINARY_DIR}/opencv.pdf
64   DEPENDS   ${CMAKE_CURRENT_BINARY_DIR}/opencv.bbl
65   COMMAND   ${PDFLATEX_COMPILER}
66   ARGS      ${pdflatex_args}
67   COMMENT   "Latex (second pass)"
68   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
69   )
70
71 add_custom_command(
72   OUTPUT    ${CMAKE_CURRENT_BINARY_DIR}/opencv.log
73   DEPENDS   ${CMAKE_CURRENT_BINARY_DIR}/opencv.bbl
74             ${CMAKE_CURRENT_BINARY_DIR}/opencv.pdf
75   COMMAND   ${PDFLATEX_COMPILER}
76   ARGS      ${pdflatex_args}
77   COMMENT   "Latex (third pass)"
78   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
79   )
80
81 add_custom_target(MakePicsLink
82    COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/pics ${CMAKE_CURRENT_BINARY_DIR}/pics
83    )
84   
85 # Eventually trigger the whole process
86 add_custom_target(ReferenceManual ALL echo
87    DEPENDS   ${CMAKE_CURRENT_BINARY_DIR}/opencv.log
88    )
89
90 add_dependencies(ReferenceManual MakePicsLink)
91
92 install(FILES "${OPENCV_CURRENT_BINARY_DIR}/opencv.pdf"
93         DESTINATION "${OPENCV_DOC_INSTALL_PATH}" COMPONENT doc)
94         
95 endif() # BUILD_LATEX_DOCS AND PDFLATEX_COMPILER
96         
97 install(FILES ${FILES_DOC} DESTINATION "${OPENCV_DOC_INSTALL_PATH}" COMPONENT doc)
98 install(FILES ${FILES_DOC_PAPERS} DESTINATION "${OPENCV_DOC_INSTALL_PATH}/papers" COMPONENT doc)
99 install(FILES ${FILES_DOC_VS} DESTINATION "${OPENCV_DOC_INSTALL_PATH}/vidsurv" COMPONENT doc)