1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
cmake_minimum_required (VERSION 3.18)
project (HDF4_DOXYGEN C)
#-----------------------------------------------------------------------------
# Option to build documentation
#-----------------------------------------------------------------------------
if (DOXYGEN_FOUND)
set (DOXYGEN_PACKAGE ${HDF4_PACKAGE_NAME})
set (DOXYGEN_VERSION_STRING ${HDF4_PACKAGE_VERSION_STRING})
set (DOXYGEN_DIR ${HDF4_DOXYGEN_DIR})
set (DOXYGEN_INCLUDE_ALIASES_PATH ${HDF4_DOXYGEN_DIR})
set (DOXYGEN_INCLUDE_ALIASES aliases)
set (DOXYGEN_VERBATIM_VARS DOXYGEN_INCLUDE_ALIASES)
set (DOXYGEN_PROJECT_LOGO ${HDF4_DOXYGEN_DIR}/img/HDFG-logo.png)
set (DOXYGEN_PROJECT_BRIEF "API Reference")
set (DOXYGEN_INPUT_DIRECTORY "${HDF4_SOURCE_DIR} ${HDF4_DOXYGEN_DIR} ${HDF4_DOXYGEN_DIR}/dox ${HDF4_GENERATED_SOURCE_DIR}")
set (DOXYGEN_OPTIMIZE_OUTPUT_FOR_C YES)
set (DOXYGEN_MACRO_EXPANSION YES)
set (DOXYGEN_OUTPUT_DIRECTORY ${HDF4_BINARY_DIR}/hdf4lib_docs)
set (DOXYGEN_EXAMPLES_DIRECTORY "${HDF4_DOXYGEN_DIR}/dox")
set (DOXYGEN_LAYOUT_FILE ${HDF4_DOXYGEN_DIR}/hdf4doxy_layout.xml)
set (DOXYGEN_HTML_HEADER ${HDF4_DOXYGEN_DIR}/hdf4_header.html)
set (DOXYGEN_HTML_FOOTER ${HDF4_DOXYGEN_DIR}/hdf4_footer.html)
set (DOXYGEN_HTML_EXTRA_STYLESHEET ${HDF4_DOXYGEN_DIR}/hdf4doxy.css)
set (DOXYGEN_HTML_EXTRA_FILES "${HDF4_DOXYGEN_DIR}/hdf4_navtree_hacks.js")
set (DOXYGEN_TAG_FILE ${HDF4_BINARY_DIR}/hdf4.tag)
set (DOXYGEN_SERVER_BASED_SEARCH NO)
set (DOXYGEN_EXTERNAL_SEARCH NO)
set (DOXYGEN_SEARCHENGINE_URL)
set (DOXYGEN_STRIP_FROM_PATH ${HDF4_SOURCE_DIR})
set (DOXYGEN_STRIP_FROM_INC_PATH ${HDF4_SOURCE_DIR})
set (DOXYGEN_PREDEFINED "H4_DOXYGEN")
set (DOXYGEN_WARN_AS_ERROR ${HDF4_DOXY_WARNINGS})
# This configure and individual custom targets work together
# Replace variables inside @@ with the current values
configure_file (${HDF4_DOXYGEN_DIR}/Doxyfile.in ${HDF4_BINARY_DIR}/Doxyfile @ONLY)
install (
DIRECTORY ${HDF4_BINARY_DIR}/hdf4lib_docs/html
DESTINATION ${HDF4_INSTALL_DOC_DIR}
COMPONENT hdfdocuments
)
add_custom_target (hdf4_doc ALL
COMMAND ${DOXYGEN_EXECUTABLE} ${HDF4_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${HDF4_DOXYGEN_DIR}
COMMENT "Generating HDF4 documentation with Doxygen"
VERBATIM )
if (NOT TARGET doxygen)
add_custom_target (doxygen)
endif ()
add_dependencies (doxygen hdf4_doc)
endif ()
|