# # "$Id$" # # CMakeLists.txt to build docs for the FLTK project using CMake (www.cmake.org) # # Copyright 1998-2020 by Bill Spitzak and others. # # This library is free software. Distribution and use rights are outlined in # the file "COPYING" which should have been included with this file. If this # file is missing or damaged, see the license at: # # https://www.fltk.org/COPYING.php # # Please report all bugs and problems on the following page: # # https://www.fltk.org/str.php # set (DOCS) set (FL_VERSION "${FLTK_VERSION_FULL}") if (OPTION_INCLUDE_DRIVER_DOCUMENTATION) set (DRIVER_DOCS "DriverDev") else () set (DRIVER_DOCS "") endif () #-------------------------- # build html documentation #-------------------------- if (OPTION_BUILD_HTML_DOCUMENTATION) list(APPEND DOCS html) # generate Doxygen file "Doxyfile" set(GENERATE_HTML YES) set(GENERATE_LATEX NO) set(LATEX_HEADER "") configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY ) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/src/tiny.png ${CMAKE_CURRENT_BINARY_DIR}/html/tiny.png COPYONLY ) # generate html docs add_custom_target(html # ALL ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Generating HTML documentation" VERBATIM ) endif (OPTION_BUILD_HTML_DOCUMENTATION) #-------------------------- # build pdf documentation #-------------------------- if (OPTION_BUILD_PDF_DOCUMENTATION) list(APPEND DOCS pdf) # generate Doxygen file "Doxybook" set(GENERATE_HTML NO) set(GENERATE_LATEX YES) set(LATEX_HEADER "${CMAKE_CURRENT_BINARY_DIR}/fltk-book.tex") configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxybook @ONLY ) # generate LaTeX header fltk-book.tex set(FL_VERSION ${FLTK_VERSION_FULL}) set(DOXY_VERSION ${DOXYGEN_VERSION}) execute_process(COMMAND date +%Y OUTPUT_VARIABLE YEAR ) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/fltk-book.tex.in ${CMAKE_CURRENT_BINARY_DIR}/fltk-book.tex @ONLY ) # generate fltk.pdf add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fltk.pdf COMMAND ${DOXYGEN_EXECUTABLE} Doxybook COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/make_pdf COMMAND cp -f latex/refman.pdf fltk.pdf WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Generating PDF documentation" VERBATIM ) # add target 'pdf' add_custom_target(pdf # ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/fltk.pdf ) endif(OPTION_BUILD_PDF_DOCUMENTATION) #---------------------------------- # add target 'docs' for all docs #---------------------------------- if (DOCS) add_custom_target(docs # ALL DEPENDS ${DOCS} ) endif (DOCS) #---------------------------------- # install html + pdf documentation #---------------------------------- if (OPTION_INSTALL_HTML_DOCUMENTATION AND OPTION_BUILD_HTML_DOCUMENTATION) install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${FLTK_DATADIR}/doc/fltk ) endif (OPTION_INSTALL_HTML_DOCUMENTATION AND OPTION_BUILD_HTML_DOCUMENTATION) if (OPTION_INSTALL_PDF_DOCUMENTATION AND OPTION_BUILD_PDF_DOCUMENTATION) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/fltk.pdf DESTINATION ${FLTK_DATADIR}/doc/fltk/ ) endif (OPTION_INSTALL_PDF_DOCUMENTATION AND OPTION_BUILD_PDF_DOCUMENTATION)