mirror of https://git.tukaani.org/xz.git
CMake: Support building liblzma API docs using Doxygen
This is disabled by default to match the default in Autotools. Use -DUSE_DOXYGEN=ON to enable Doxygen usage. This uses the update-doxygen script, thus this is under if(UNIX) although Doxygen itself can run on Windows too.
This commit is contained in:
parent
0a7f5a80d8
commit
64503cc2b7
|
@ -60,10 +60,6 @@
|
||||||
# - To get translated man pages, run po4a/update-po which requires
|
# - To get translated man pages, run po4a/update-po which requires
|
||||||
# the po4a tool. The build works without this step too.
|
# the po4a tool. The build works without this step too.
|
||||||
#
|
#
|
||||||
# - To get Doxygen-generated liblzma API docs in HTML format,
|
|
||||||
# run doxygen/update-doxygen which requires the doxygen tool.
|
|
||||||
# The build works without this step too.
|
|
||||||
#
|
|
||||||
# This file provides the following installation components (if you only
|
# This file provides the following installation components (if you only
|
||||||
# need liblzma, install only its components!):
|
# need liblzma, install only its components!):
|
||||||
# - liblzma_Runtime (shared library only)
|
# - liblzma_Runtime (shared library only)
|
||||||
|
@ -1965,12 +1961,38 @@ endif()
|
||||||
# Documentation
|
# Documentation
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
# Use OPTIONAL because doc/api might not exist. The liblzma API docs
|
if(UNIX)
|
||||||
# can be generated by running "doxygen/update-doxygen".
|
option(USE_DOXYGEN "Use Doxygen to generate liblzma API docs" OFF)
|
||||||
install(DIRECTORY doc/api doc/examples
|
|
||||||
|
if (USE_DOXYGEN)
|
||||||
|
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc")
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
VERBATIM
|
||||||
|
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/doxygen/update-doxygen"
|
||||||
|
ARGS "api"
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/doc"
|
||||||
|
OUTPUT doc/api/index.html
|
||||||
|
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/doxygen/update-doxygen"
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/doxygen/Doxyfile"
|
||||||
|
${LIBLZMA_API_HEADERS}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(
|
||||||
|
liblzma-doc-api ALL
|
||||||
|
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/doc/api/index.html"
|
||||||
|
)
|
||||||
|
|
||||||
|
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc/api"
|
||||||
DESTINATION "${CMAKE_INSTALL_DOCDIR}"
|
DESTINATION "${CMAKE_INSTALL_DOCDIR}"
|
||||||
COMPONENT liblzma_Documentation
|
COMPONENT liblzma_Documentation)
|
||||||
OPTIONAL)
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install(DIRECTORY doc/examples
|
||||||
|
DESTINATION "${CMAKE_INSTALL_DOCDIR}"
|
||||||
|
COMPONENT liblzma_Documentation)
|
||||||
|
|
||||||
# GPLv2 applies to the scripts. If GNU getopt_long is used then
|
# GPLv2 applies to the scripts. If GNU getopt_long is used then
|
||||||
# LGPLv2.1 applies to the command line tools but, using the
|
# LGPLv2.1 applies to the command line tools but, using the
|
||||||
|
|
Loading…
Reference in New Issue