|
Packit |
1c1d7e |
# vim:ts=4:sw=4:expandtab:autoindent:
|
|
Packit |
1c1d7e |
#
|
|
Packit |
1c1d7e |
# Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
#
|
|
Packit |
1c1d7e |
# Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
# documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
# granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
# for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
# See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
#
|
|
Packit |
1c1d7e |
# Documents produced by Doxygen are derivative works derived from the
|
|
Packit |
1c1d7e |
# input used in their production; they are not affected by this license.
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
include (${TOP}/cmake/version.cmake)
|
|
Packit |
1c1d7e |
string(TIMESTAMP DATE "%d-%m-%Y")
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
find_package(PythonInterp REQUIRED)
|
|
Packit |
1c1d7e |
find_program(EPSTOPDF NAMES epstopdf )
|
|
Packit |
1c1d7e |
find_program(PDFLATEX NAMES pdflatex )
|
|
Packit |
1c1d7e |
find_program(MAKEINDEX NAMES makeindex )
|
|
Packit |
1c1d7e |
include(GNUInstallDirs)
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
if (doxygen_BINARY_DIR)
|
|
Packit |
1c1d7e |
set(DOXYGEN_EXECUTABLE ${doxygen_BINARY_DIR}/bin/doxygen)
|
|
Packit |
1c1d7e |
else()
|
|
Packit |
1c1d7e |
# when building only the doxygen_doc, from the doc/ directory, the
|
|
Packit |
1c1d7e |
# doxygen project variables are unknown so look for doxygen in PATH
|
|
Packit |
1c1d7e |
find_package(Doxygen)
|
|
Packit |
1c1d7e |
endif()
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
set(DOC_INSTALL_DIR "share/doc/packages/doxygen" CACHE STRING "Relative path where to install the documentation")
|
|
Packit |
1c1d7e |
set(DOC_FILES
|
|
Packit |
1c1d7e |
arch.doc
|
|
Packit |
1c1d7e |
archoverview.eps
|
|
Packit |
1c1d7e |
archoverview.gif
|
|
Packit |
1c1d7e |
autolink.doc
|
|
Packit |
1c1d7e |
changelog.doc
|
|
Packit |
1c1d7e |
commands.doc
|
|
Packit |
1c1d7e |
custcmd.doc
|
|
Packit |
1c1d7e |
customize.doc
|
|
Packit |
1c1d7e |
diagrams.doc
|
|
Packit |
1c1d7e |
docblocks.doc
|
|
Packit |
1c1d7e |
Doxyfile
|
|
Packit |
1c1d7e |
doxygen_manual.css
|
|
Packit |
1c1d7e |
doxygen_usage.doc
|
|
Packit |
1c1d7e |
doxywizard_expert.png
|
|
Packit |
1c1d7e |
doxywizard.gif
|
|
Packit |
1c1d7e |
doxywizard_main.png
|
|
Packit |
1c1d7e |
doxywizard_menu.png
|
|
Packit |
1c1d7e |
doxywizard_page1.png
|
|
Packit |
1c1d7e |
doxywizard_page2.png
|
|
Packit |
1c1d7e |
doxywizard_page3.png
|
|
Packit |
1c1d7e |
doxywizard_page4.png
|
|
Packit |
1c1d7e |
doxywizard_usage.doc
|
|
Packit |
1c1d7e |
external.doc
|
|
Packit |
1c1d7e |
extsearch.doc
|
|
Packit |
1c1d7e |
extsearch_flow.dot
|
|
Packit |
1c1d7e |
extsearch_flow.eps
|
|
Packit |
1c1d7e |
extsearch_flow.png
|
|
Packit |
1c1d7e |
faq.doc
|
|
Packit |
1c1d7e |
features.doc
|
|
Packit |
1c1d7e |
formulas.doc
|
|
Packit |
1c1d7e |
tables.doc
|
|
Packit |
1c1d7e |
grouping.doc
|
|
Packit |
1c1d7e |
htmlcmds.doc
|
|
Packit |
1c1d7e |
index.doc
|
|
Packit |
1c1d7e |
index.hhp.txt
|
|
Packit |
1c1d7e |
infoflow.eps
|
|
Packit |
1c1d7e |
infoflow.fig
|
|
Packit |
1c1d7e |
infoflow.png
|
|
Packit |
1c1d7e |
install.doc
|
|
Packit |
1c1d7e |
install_prefix
|
|
Packit |
1c1d7e |
lists.doc
|
|
Packit |
1c1d7e |
markdown.doc
|
|
Packit |
1c1d7e |
output.doc
|
|
Packit |
1c1d7e |
perlmod.doc
|
|
Packit |
1c1d7e |
perlmod_tree.doc
|
|
Packit |
1c1d7e |
preprocessing.doc
|
|
Packit |
1c1d7e |
searching.doc
|
|
Packit |
1c1d7e |
starting.doc
|
|
Packit |
1c1d7e |
trouble.doc
|
|
Packit |
1c1d7e |
xmlcmds.doc
|
|
Packit |
1c1d7e |
language.tpl
|
|
Packit |
1c1d7e |
maintainers.txt
|
|
Packit |
1c1d7e |
translator.py
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
file(GLOB LANG_FILES "${TOP}/src/translator_??.h")
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/man
|
|
Packit |
1c1d7e |
${PROJECT_BINARY_DIR}/src
|
|
Packit |
1c1d7e |
${PROJECT_BINARY_DIR}/doc)
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
file(COPY ${TOP}/VERSION DESTINATION ${PROJECT_BINARY_DIR}/)
|
|
Packit |
1c1d7e |
file(COPY ${TOP}/src/translator.h DESTINATION ${PROJECT_BINARY_DIR}/src/)
|
|
Packit |
1c1d7e |
file(COPY ${TOP}/src/translator_adapter.h DESTINATION ${PROJECT_BINARY_DIR}/src/)
|
|
Packit |
1c1d7e |
file(COPY ${LANG_FILES} DESTINATION ${PROJECT_BINARY_DIR}/src/)
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
foreach (f ${DOC_FILES})
|
|
Packit |
1c1d7e |
add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc/${f}
|
|
Packit |
1c1d7e |
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/doc/${f} ${PROJECT_BINARY_DIR}/doc/
|
|
Packit |
1c1d7e |
DEPENDS ${CMAKE_SOURCE_DIR}/doc/${f}
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
set_source_files_properties(${PROJECT_BINARY_DIR}/doc/${f} PROPERTIES GENERATED 1)
|
|
Packit |
1c1d7e |
list(APPEND OUT_DOC_FILES "${PROJECT_BINARY_DIR}/doc/${f}")
|
|
Packit |
1c1d7e |
endforeach()
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
configure_file(${CMAKE_SOURCE_DIR}/doc/manual.sty ${PROJECT_BINARY_DIR}/doc/manual.sty)
|
|
Packit |
1c1d7e |
configure_file(${CMAKE_SOURCE_DIR}/doc/doxygen_manual.tex ${PROJECT_BINARY_DIR}/doc/doxygen_manual.tex)
|
|
Packit |
1c1d7e |
configure_file(${CMAKE_SOURCE_DIR}/doc/doxygen.1 ${PROJECT_BINARY_DIR}/man/doxygen.1)
|
|
Packit |
1c1d7e |
configure_file(${CMAKE_SOURCE_DIR}/doc/doxywizard.1 ${PROJECT_BINARY_DIR}/man/doxywizard.1)
|
|
Packit |
1c1d7e |
configure_file(${CMAKE_SOURCE_DIR}/doc/doxysearch.1 ${PROJECT_BINARY_DIR}/man/doxysearch.1)
|
|
Packit |
1c1d7e |
configure_file(${CMAKE_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR}/man/doxyindexer.1)
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
# doc/language.doc (see tag Doxyfile:INPUT)
|
|
Packit |
1c1d7e |
add_custom_command(
|
|
Packit |
1c1d7e |
COMMAND ${PYTHON_EXECUTABLE} translator.py
|
|
Packit |
1c1d7e |
DEPENDS ${PROJECT_BINARY_DIR}/doc/maintainers.txt ${PROJECT_BINARY_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py
|
|
Packit |
1c1d7e |
OUTPUT language.doc
|
|
Packit |
1c1d7e |
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
set_source_files_properties(language.doc PROPERTIES GENERATED 1)
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
# doc/config.doc (see tag Doxyfile:INPUT)
|
|
Packit |
1c1d7e |
add_custom_command(
|
|
Packit |
1c1d7e |
COMMAND ${PYTHON_EXECUTABLE} ${TOP}/src/configgen.py -doc ${TOP}/src/config.xml > config.doc
|
|
Packit |
1c1d7e |
DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py
|
|
Packit |
1c1d7e |
OUTPUT config.doc
|
|
Packit |
1c1d7e |
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
set_source_files_properties(config.doc PROPERTIES GENERATED 1)
|
|
Packit |
1c1d7e |
################################################################################
|
|
Packit |
1c1d7e |
add_custom_target(run_doxygen
|
|
Packit |
1c1d7e |
COMMENT "Generating Latex and HTML documentation."
|
|
Packit |
1c1d7e |
COMMAND ${DOXYGEN_EXECUTABLE}
|
|
Packit |
1c1d7e |
DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc
|
|
Packit |
1c1d7e |
DEPENDS ${OUT_DOC_FILES}
|
|
Packit |
1c1d7e |
DEPENDS examples
|
|
Packit |
1c1d7e |
DEPENDS doxygen
|
|
Packit |
1c1d7e |
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
add_custom_target(doxygen_pdf
|
|
Packit |
1c1d7e |
COMMENT "Generating Doxygen Manual PDF."
|
|
Packit |
1c1d7e |
COMMAND ${CMAKE_COMMAND} -E remove refman.tex
|
|
Packit |
1c1d7e |
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc/doxygen_manual.tex .
|
|
Packit |
1c1d7e |
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc/manual.sty .
|
|
Packit |
1c1d7e |
COMMAND ${EPSTOPDF} ${CMAKE_SOURCE_DIR}/doc/doxygen_logo.eps --outfile=doxygen_logo.pdf
|
|
Packit |
1c1d7e |
COMMAND ${PDFLATEX} -shell-escape doxygen_manual.tex
|
|
Packit |
1c1d7e |
COMMAND ${MAKEINDEX} doxygen_manual.idx
|
|
Packit |
1c1d7e |
COMMAND ${PDFLATEX} -shell-escape doxygen_manual.tex
|
|
Packit |
1c1d7e |
DEPENDS run_doxygen
|
|
Packit |
1c1d7e |
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/latex
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
add_custom_target(docs
|
|
Packit |
1c1d7e |
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/doc/doxygen_logo.gif ${PROJECT_BINARY_DIR}/html/
|
|
Packit |
1c1d7e |
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/doc/doxygen_logo_low.gif ${PROJECT_BINARY_DIR}/html/
|
|
Packit |
1c1d7e |
DEPENDS ${PROJECT_BINARY_DIR}/man/doxygen.1
|
|
Packit |
1c1d7e |
${PROJECT_BINARY_DIR}/man/doxywizard.1
|
|
Packit |
1c1d7e |
${PROJECT_BINARY_DIR}/man/doxysearch.1
|
|
Packit |
1c1d7e |
${PROJECT_BINARY_DIR}/man/doxyindexer.1
|
|
Packit |
1c1d7e |
doxygen_pdf
|
|
Packit |
1c1d7e |
VERBATIM
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
################################################################################
|
|
Packit |
1c1d7e |
install(FILES
|
|
Packit |
1c1d7e |
"${PROJECT_BINARY_DIR}/man/doxygen.1"
|
|
Packit |
1c1d7e |
"${PROJECT_BINARY_DIR}/man/doxywizard.1"
|
|
Packit |
1c1d7e |
"${PROJECT_BINARY_DIR}/man/doxysearch.1"
|
|
Packit |
1c1d7e |
"${PROJECT_BINARY_DIR}/man/doxyindexer.1"
|
|
Packit |
1c1d7e |
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
install(FILES
|
|
Packit |
1c1d7e |
"${PROJECT_BINARY_DIR}/latex/doxygen_manual.pdf"
|
|
Packit |
1c1d7e |
DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
|
|
Packit |
1c1d7e |
)
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
install(DIRECTORY
|
|
Packit |
1c1d7e |
"${PROJECT_BINARY_DIR}/html"
|
|
Packit |
1c1d7e |
DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
|
|
Packit |
1c1d7e |
)
|