]> rtime.felk.cvut.cz Git - opencv.git/blob - opencv/doc/CMakeLists.txt
m4-based conditional compilation replaced with latex conditional compilation, thus...
[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.tex CvReference.tex HighGui.tex 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
43 "'\\newcommand{\\genc}{true}\\newcommand{\\genpy}{true}\\newcommand{\\targetlang}{c}\\input{opencv.tex}'")
44
45 add_custom_command(
46   OUTPUT    ${CMAKE_CURRENT_BINARY_DIR}/opencv.aux
47   DEPENDS   ${refman_copied_srcs}
48   COMMAND   ${PDFLATEX_COMPILER}
49   ARGS      ${pdflatex_args}
50   COMMENT   "Latex (first pass)"
51   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
52   )
53
54 add_custom_command(
55   OUTPUT    ${CMAKE_CURRENT_BINARY_DIR}/opencv.bbl
56   DEPENDS   ${CMAKE_CURRENT_BINARY_DIR}/opencv.aux
57   COMMAND   ${BIBTEX_COMPILER}
58   ARGS      ${CMAKE_CURRENT_BINARY_DIR}/opencv
59   COMMENT   "Bibtex"
60   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
61   )
62
63 add_custom_command(
64   OUTPUT    ${CMAKE_CURRENT_BINARY_DIR}/opencv.pdf
65   DEPENDS   ${CMAKE_CURRENT_BINARY_DIR}/opencv.bbl
66   COMMAND   ${PDFLATEX_COMPILER}
67   ARGS      ${pdflatex_args}
68   COMMENT   "Latex (second pass)"
69   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
70   )
71
72 add_custom_command(
73   OUTPUT    ${CMAKE_CURRENT_BINARY_DIR}/opencv.log
74   DEPENDS   ${CMAKE_CURRENT_BINARY_DIR}/opencv.bbl
75             ${CMAKE_CURRENT_BINARY_DIR}/opencv.pdf
76   COMMAND   ${PDFLATEX_COMPILER}
77   ARGS      ${pdflatex_args}
78   COMMENT   "Latex (third pass)"
79   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
80   )
81
82 add_custom_target(MakePicsLink
83    COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/pics ${CMAKE_CURRENT_BINARY_DIR}/pics
84    )
85   
86 # Eventually trigger the whole process
87 add_custom_target(ReferenceManual ALL echo
88    DEPENDS   ${CMAKE_CURRENT_BINARY_DIR}/opencv.log
89    )
90
91 add_dependencies(ReferenceManual MakePicsLink)
92
93 install(FILES "${OPENCV_CURRENT_BINARY_DIR}/opencv.pdf"
94         DESTINATION "${OPENCV_DOC_INSTALL_PATH}" COMPONENT doc)
95         
96 endif() # BUILD_LATEX_DOCS AND PDFLATEX_COMPILER
97         
98 install(FILES ${FILES_DOC} DESTINATION "${OPENCV_DOC_INSTALL_PATH}" COMPONENT doc)
99 install(FILES ${FILES_DOC_PAPERS} DESTINATION "${OPENCV_DOC_INSTALL_PATH}/papers" COMPONENT doc)
100 install(FILES ${FILES_DOC_VS} DESTINATION "${OPENCV_DOC_INSTALL_PATH}/vidsurv" COMPONENT doc)